Files
puaros/packages/ipuaro/README.md
imfozilbek 130a8c4f24 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
2025-11-29 23:08:38 +05:00

3.0 KiB

@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

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

# 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:

{
    "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 for full development plan.

Completed

  • 0.1.1 Project Setup
  • 0.1.2 Domain Value Objects
  • 0.1.3 Domain Services Interfaces
  • 0.1.4 Shared Config

Next

  • 0.2.0 Redis Storage
  • 0.3.0 Indexer
  • 0.4.0 LLM Integration

License

MIT