mirror of
https://github.com/samiyev/puaros.git
synced 2025-12-27 23:06:54 +05:00
feat(ipuaro): implement v0.1.0 foundation
- Project setup with tsup, vitest, ESM support - Domain entities: Session, Project - Value objects: FileData, FileAST, FileMeta, ChatMessage, ToolCall, ToolResult, UndoEntry - Service interfaces: IStorage, ILLMClient, ITool, IIndexer, IToolRegistry - Shared: Config (zod), IpuaroError, utils (hash, tokens), Result type - CLI with placeholder commands (start, init, index) - 91 unit tests with 100% coverage - Fix package scope @puaros -> @samiyev in CLAUDE.md
This commit is contained in:
130
packages/ipuaro/README.md
Normal file
130
packages/ipuaro/README.md
Normal file
@@ -0,0 +1,130 @@
|
||||
# @samiyev/ipuaro
|
||||
|
||||
Local AI agent for codebase operations with "infinite" context feeling through lazy loading.
|
||||
|
||||
## Features
|
||||
|
||||
- 18 LLM tools for code operations (read, edit, search, analysis, git, run)
|
||||
- Redis persistence with AOF for durability
|
||||
- tree-sitter AST parsing (TypeScript, JavaScript)
|
||||
- Ollama LLM integration (local, private)
|
||||
- File watching for live index updates
|
||||
- Session and undo management
|
||||
- Security (blacklist/whitelist for shell commands)
|
||||
- Terminal UI with Ink/React
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
npm install @samiyev/ipuaro
|
||||
# or
|
||||
pnpm add @samiyev/ipuaro
|
||||
```
|
||||
|
||||
## Requirements
|
||||
|
||||
- Node.js >= 20.0.0
|
||||
- Redis server (for persistence)
|
||||
- Ollama (for LLM inference)
|
||||
|
||||
## Quick Start
|
||||
|
||||
```bash
|
||||
# Start in current directory
|
||||
ipuaro
|
||||
|
||||
# Start in specific directory
|
||||
ipuaro /path/to/project
|
||||
|
||||
# With auto-apply mode
|
||||
ipuaro --auto-apply
|
||||
|
||||
# With custom model
|
||||
ipuaro --model qwen2.5-coder:32b-instruct
|
||||
```
|
||||
|
||||
## Commands
|
||||
|
||||
| Command | Description |
|
||||
|---------|-------------|
|
||||
| `ipuaro [path]` | Start TUI in directory |
|
||||
| `ipuaro init` | Create .ipuaro.json config |
|
||||
| `ipuaro index` | Index project without TUI |
|
||||
|
||||
## Configuration
|
||||
|
||||
Create `.ipuaro.json` in your project root:
|
||||
|
||||
```json
|
||||
{
|
||||
"redis": {
|
||||
"host": "localhost",
|
||||
"port": 6379
|
||||
},
|
||||
"llm": {
|
||||
"model": "qwen2.5-coder:7b-instruct",
|
||||
"temperature": 0.1
|
||||
},
|
||||
"edit": {
|
||||
"autoApply": false
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Architecture
|
||||
|
||||
Clean Architecture with clear separation:
|
||||
|
||||
```
|
||||
src/
|
||||
├── domain/ # Business logic (entities, value objects, interfaces)
|
||||
├── application/ # Use cases, DTOs, orchestration
|
||||
├── infrastructure/ # External implementations (Redis, Ollama, tools)
|
||||
├── tui/ # Terminal UI (Ink/React components)
|
||||
├── cli/ # CLI commands
|
||||
└── shared/ # Cross-cutting concerns
|
||||
```
|
||||
|
||||
## Tools (18 total)
|
||||
|
||||
| Category | Tool | Description |
|
||||
|----------|------|-------------|
|
||||
| **Read** | `get_lines` | Get file lines |
|
||||
| | `get_function` | Get function by name |
|
||||
| | `get_class` | Get class by name |
|
||||
| | `get_structure` | Get project tree |
|
||||
| **Edit** | `edit_lines` | Replace lines |
|
||||
| | `create_file` | Create new file |
|
||||
| | `delete_file` | Delete file |
|
||||
| **Search** | `find_references` | Find symbol usages |
|
||||
| | `find_definition` | Find symbol definition |
|
||||
| **Analysis** | `get_dependencies` | File imports |
|
||||
| | `get_dependents` | Files importing this |
|
||||
| | `get_complexity` | Complexity metrics |
|
||||
| | `get_todos` | Find TODO/FIXME |
|
||||
| **Git** | `git_status` | Repository status |
|
||||
| | `git_diff` | Uncommitted changes |
|
||||
| | `git_commit` | Create commit |
|
||||
| **Run** | `run_command` | Execute shell command |
|
||||
| | `run_tests` | Run test suite |
|
||||
|
||||
## Development Status
|
||||
|
||||
Currently at version **0.1.0** (Foundation). See [ROADMAP.md](./ROADMAP.md) for full development plan.
|
||||
|
||||
### Completed
|
||||
|
||||
- [x] 0.1.1 Project Setup
|
||||
- [x] 0.1.2 Domain Value Objects
|
||||
- [x] 0.1.3 Domain Services Interfaces
|
||||
- [x] 0.1.4 Shared Config
|
||||
|
||||
### Next
|
||||
|
||||
- [ ] 0.2.0 Redis Storage
|
||||
- [ ] 0.3.0 Indexer
|
||||
- [ ] 0.4.0 LLM Integration
|
||||
|
||||
## License
|
||||
|
||||
MIT
|
||||
Reference in New Issue
Block a user