imfozilbek
137c77cc53
chore(ipuaro): release v0.19.0
2025-12-01 21:06:51 +05:00
imfozilbek
0433ef102c
refactor(ipuaro): simplify LLM integration with pure XML tool format
...
Refactor OllamaClient to use pure XML format for tool calls as
designed in CONCEPT.md. Removes dual system (Ollama native tools +
XML parser) in favor of single source of truth (ResponseParser).
Changes:
- Remove tools parameter from ILLMClient.chat() interface
- Remove convertTools(), convertParameters(), extractToolCalls()
- Add XML format instructions to system prompt with examples
- Add CDATA support in ResponseParser for multiline content
- Add tool name validation with helpful error messages
- Move ToolDef/ToolParameter to shared/types/tool-definitions.ts
Benefits:
- Simplified architecture (single source of truth)
- CONCEPT.md compliance (pure XML as designed)
- Better validation (early detection of invalid tools)
- Reduced complexity (fewer format conversions)
Tests: 1444 passed (+4 new tests)
Coverage: 97.83% lines, 91.98% branches, 99.16% functions
2025-12-01 21:03:55 +05:00
imfozilbek
902d1db831
docs(ipuaro): add missing features from CONCEPT.md to roadmap
...
Add versions 0.19.0-0.23.0 with features identified as missing:
- 0.19.0: XML tool format refactor (align with CONCEPT.md)
- 0.20.0: IndexProject and ExecuteTool use cases
- 0.21.0: TUI enhancements (useAutocomplete, edit mode, multiline, syntax highlight)
- 0.22.0: Extended configuration (display, session, context, autocomplete, commands)
- 0.23.0: JSON/YAML AST parsing and symlinks metadata
2025-12-01 20:39:07 +05:00
imfozilbek
c843b780a8
test(ipuaro): improve test coverage to 92% branches
...
- Raise branch coverage threshold from 90% to 92%
- Add 21 new edge-case tests across modules
- Watchdog: add tests for error handling, flushAll, polling mode
- OllamaClient: add tests for AbortError and model not found
- GetLinesTool: add tests for filesystem fallback, undefined params
- GetClassTool: add tests for undefined extends, error handling
- GetFunctionTool: add tests for error handling, undefined returnType
Coverage results:
- Lines: 97.83% (threshold 95%)
- Branches: 92.01% (threshold 92%)
- Functions: 99.16% (threshold 95%)
- Statements: 97.83% (threshold 95%)
- Total tests: 1441 (all passing)
2025-12-01 17:39:58 +05:00
imfozilbek
0dff0e87d0
chore(ipuaro): bump version to 0.18.0
2025-12-01 16:58:16 +05:00
imfozilbek
ab2d5d40a5
feat(ipuaro): add working demo project examples
...
Added comprehensive demo project showcasing ipuaro capabilities:
New Files:
- examples/demo-project/: Complete TypeScript demo application
- src/: User management, auth, validation, logging (336 LOC)
- tests/: Vitest unit tests for UserService
- Configuration: package.json, tsconfig.json, .ipuaro.json
Demo Features:
- UserService with CRUD operations
- AuthService with login/logout/verify
- Validation utilities (email, password)
- Logger utility with multiple log levels
- TypeScript types and interfaces
- Intentional TODOs (2) and FIXMEs (1) for tool demonstration
Documentation:
- README.md: Detailed usage guide with example queries
- EXAMPLE_CONVERSATIONS.md: Realistic conversation scenarios
- Tool demonstration scenarios (bug fix, refactoring, features)
- Workflow examples (security audit, optimization, code review)
Updated:
- packages/ipuaro/README.md: Added Quick Start section linking to examples
Project Statistics:
- 12 files total
- 336 lines of TypeScript code
- 7 source modules demonstrating various patterns
- Full test coverage examples
- Demonstrates all 18 tools capabilities
This completes the "Examples working" requirement for v1.0.0
2025-12-01 16:53:49 +05:00
imfozilbek
baccfd53c0
docs(ipuaro): complete comprehensive documentation for v0.17.0
...
Added:
- ARCHITECTURE.md: Complete architecture documentation with Clean Architecture principles, data flows, design decisions
- TOOLS.md: Comprehensive reference for all 18 tools with examples and best practices
- README.md: Enhanced with tools reference, slash commands, hotkeys, troubleshooting, FAQ, API examples
Updated:
- README.md: Status to Release Candidate, all features marked complete
- CHANGELOG.md: Added v0.17.0 entry with documentation statistics
- ROADMAP.md: Added v0.17.0 milestone, marked documentation complete
- package.json: Bumped version to 0.17.0
Documentation statistics:
- Total: ~2500 lines across 3 files
- 18/18 tools documented (100%)
- 8/8 slash commands documented (100%)
- 50+ code examples
- 6 troubleshooting entries
- 8 FAQ answers
All tests passing (1420), coverage 97.59%, zero lint errors
2025-12-01 16:09:47 +05:00
imfozilbek
8f995fc596
feat(ipuaro): add error handling matrix and ErrorHandler service
...
Implemented comprehensive error handling system according to v0.16.0 roadmap:
- ERROR_MATRIX with 9 error types (redis, parse, llm, file, command, conflict, validation, timeout, unknown)
- Enhanced IpuaroError with options, defaultOption, context properties
- New methods: getMeta(), hasOption(), toDisplayString()
- ErrorHandler service with handle(), wrap(), withRetry() methods
- Utility functions: getErrorOptions(), isRecoverableError(), toIpuaroError()
- 59 new tests (27 for IpuaroError, 32 for ErrorHandler)
- Coverage maintained at 97.59%
Breaking changes:
- IpuaroError constructor signature changed to (type, message, options?)
- ErrorChoice deprecated in favor of ErrorOption
2025-12-01 15:50:30 +05:00
imfozilbek
f947c6d157
feat(ipuaro): add CLI entry point (v0.15.0)
...
- Add onboarding module for pre-flight checks (Redis, Ollama, model, project)
- Implement start command with TUI rendering and dependency injection
- Implement init command for .ipuaro.json config file creation
- Implement index command for standalone project indexing
- Add CLI options: --auto-apply, --model, --help, --version
- Register all 18 tools via tools-setup helper
- Add 29 unit tests for CLI commands
- Update CHANGELOG and ROADMAP for v0.15.0
2025-12-01 15:03:45 +05:00
imfozilbek
33d52bc7ca
feat(ipuaro): add slash commands for TUI (v0.14.0)
...
- Add useCommands hook with command parser
- Implement 8 commands: /help, /clear, /undo, /sessions, /status, /reindex, /eval, /auto-apply
- Integrate commands into App.tsx with visual feedback
- Add 38 unit tests for commands
- Update ROADMAP.md to reflect current status
2025-12-01 14:33:30 +05:00
imfozilbek
2c6eb6ce9b
feat(ipuaro): add PathValidator security utility (v0.13.0)
...
Add centralized path validation to prevent path traversal attacks.
- PathValidator class with sync/async validation methods
- Protects against '..' and '~' traversal patterns
- Validates paths are within project root
- Refactored all 7 file tools to use PathValidator
- 51 new tests for PathValidator
2025-12-01 14:02:23 +05:00
imfozilbek
7d18e87423
feat(ipuaro): add TUI advanced components (v0.12.0)
...
Add DiffView, ConfirmDialog, ErrorDialog, and Progress components
for enhanced terminal UI interactions.
2025-12-01 13:34:17 +05:00
imfozilbek
fd1e6ad86e
feat(ipuaro): add TUI components and hooks (v0.11.0)
2025-12-01 13:00:14 +05:00
imfozilbek
259ecc181a
chore(ipuaro): bump version to 0.10.0
2025-12-01 12:28:27 +05:00
imfozilbek
0f2ed5b301
feat(ipuaro): add session management (v0.10.0)
...
- Add ISessionStorage interface and RedisSessionStorage implementation
- Add ContextManager for token budget and compression
- Add StartSession, HandleMessage, UndoChange use cases
- Update CHANGELOG and TODO documentation
- 88 new tests (1174 total), 97.73% coverage
2025-12-01 12:27:22 +05:00
imfozilbek
56643d903f
chore(ipuaro): bump version to 0.9.0
2025-12-01 02:55:42 +05:00
imfozilbek
f5f904a847
feat(ipuaro): add git and run tools (v0.9.0)
...
Git tools:
- GitStatusTool: repository status (branch, staged, modified, untracked)
- GitDiffTool: uncommitted changes with diff output
- GitCommitTool: create commits with confirmation
Run tools:
- CommandSecurity: blacklist/whitelist shell command validation
- RunCommandTool: execute shell commands with security checks
- RunTestsTool: auto-detect and run vitest/jest/mocha/npm test
All 18 planned tools now implemented.
Tests: 1086 (+233), Coverage: 98.08%
2025-12-01 02:54:29 +05:00
imfozilbek
2ae1ac13f5
feat(ipuaro): add analysis tools (v0.8.0)
...
- GetDependenciesTool: get files a file imports
- GetDependentsTool: get files that import a file
- GetComplexityTool: get complexity metrics
- GetTodosTool: find TODO/FIXME/HACK comments
Tests: 853 (+120), Coverage: 97.91%
2025-12-01 02:23:36 +05:00
imfozilbek
caf7aac116
feat(ipuaro): add search tools (v0.7.0)
2025-12-01 02:05:27 +05:00
imfozilbek
4ad5a209c4
feat(ipuaro): add edit tools (v0.6.0)
...
Add file editing capabilities:
- EditLinesTool: replace lines with hash conflict detection
- CreateFileTool: create files with directory auto-creation
- DeleteFileTool: delete files from filesystem and storage
Total: 664 tests, 97.77% coverage
2025-12-01 01:44:45 +05:00
imfozilbek
25146003cc
feat(ipuaro): add read tools (v0.5.0)
...
- ToolRegistry: tool lifecycle management, execution with validation
- GetLinesTool: read file lines with line numbers
- GetFunctionTool: get function source using AST
- GetClassTool: get class source using AST
- GetStructureTool: directory tree with filtering
121 new tests, 540 total
2025-12-01 00:52:00 +05:00
imfozilbek
68f927d906
feat(ipuaro): add LLM integration module
...
- OllamaClient: ILLMClient implementation with tool support
- System prompt and context builders for project overview
- 18 tool definitions across 6 categories (read, edit, search, analysis, git, run)
- XML response parser for tool call extraction
- 98 new tests (419 total), 96.38% coverage
2025-12-01 00:10:11 +05:00
imfozilbek
b3e04a411c
fix: normalize repository URLs in package.json
2025-11-30 01:53:57 +05:00
imfozilbek
294d085ad4
chore(ipuaro): bump version to 0.3.1
2025-11-30 01:50:33 +05:00
imfozilbek
958e4daed5
chore(guardian): bump version to 0.9.4
2025-11-30 01:50:21 +05:00
imfozilbek
af9c2377a0
chore(ipuaro): bump version to 0.3.0
2025-11-30 01:25:23 +05:00
imfozilbek
d0c1ddc22e
feat(ipuaro): implement indexer module (v0.3.0)
...
Add complete indexer infrastructure:
- FileScanner: recursive scanning with gitignore support
- ASTParser: tree-sitter based TS/JS/TSX/JSX parsing
- MetaAnalyzer: complexity metrics, dependency analysis
- IndexBuilder: symbol index and dependency graph
- Watchdog: file watching with chokidar and debouncing
321 tests, 96.38% coverage
2025-11-30 01:24:21 +05:00
imfozilbek
225480c806
feat(ipuaro): implement Redis storage module (v0.2.0)
...
- Add RedisClient with connection management and AOF config
- Add RedisStorage implementing full IStorage interface
- Add Redis key schema for project and session data
- Add generateProjectName() utility
- Add 68 unit tests for Redis module (159 total)
- Update ESLint: no-unnecessary-type-parameters as warn
2025-11-30 00:22:49 +05:00
imfozilbek
fd8e97af0e
chore(ipuaro): bump version to 0.1.1
2025-11-29 23:25:49 +05:00
imfozilbek
d36f9a6e21
chore(guardian): bump version to 0.9.3
2025-11-29 23:24:28 +05:00
imfozilbek
4267938dcd
docs(guardian): remove fictional success stories and stats
2025-11-29 23:22:26 +05:00
imfozilbek
127c7e2185
docs(ipuaro): improve README with detailed documentation
2025-11-29 23:19:56 +05:00
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
imfozilbek
7f6180df37
docs: add monorepo versioning strategy and release pipeline
...
- add Path Reference section with explicit paths
- add Monorepo Versioning Strategy with prefixed tags
- add 6-phase Release Pipeline documentation
- update Git Commit Format for monorepo (package scope)
- update .gitmessage with package scopes
- fix tsconfig.json references (remove non-existent, add ipuaro)
- fix guardian tsconfig formatting (4-space indent)
2025-11-29 22:41:03 +05:00
imfozilbek
daace23814
docs: move ipuaro CONCEPT.md to docs folder
2025-11-29 22:12:28 +05:00
imfozilbek
625e109c0a
feat: add ipuaro package with concept and roadmap
2025-11-29 22:10:32 +05:00
imfozilbek
085e236c4a
docs: move guardian analysis docs to docs folder
2025-11-29 22:09:42 +05:00
imfozilbek
ee6388f587
docs: add research on project structure detection approaches
2025-11-28 11:41:21 +05:00
imfozilbek
a75dbcf147
chore: bump version to 0.9.2
2025-11-27 19:32:07 +05:00
imfozilbek
42da5127cc
docs: update CHANGELOG.md for v0.9.2
2025-11-27 19:28:32 +05:00
imfozilbek
0da6d9f3c2
test: update naming convention detector tests for AST-based analysis
2025-11-27 19:27:46 +05:00
imfozilbek
6b35679f09
refactor: update AST strategies to use centralized node type constants
2025-11-27 19:27:30 +05:00
imfozilbek
07e6535633
refactor: add context keywords and improve hardcoded value suggestions
2025-11-27 19:27:07 +05:00
imfozilbek
e8626dd03c
refactor: migrate naming convention detector to AST-based analysis
2025-11-27 19:26:43 +05:00
imfozilbek
ce78183c6e
refactor: create AST-based naming analyzers for enhanced detection
2025-11-27 19:26:24 +05:00
imfozilbek
1d6aebcd87
refactor: add AST node type constants for tree-sitter analysis
2025-11-27 19:26:01 +05:00
imfozilbek
ceb87f1b1f
chore: bump version to 0.9.1
2025-11-26 18:10:36 +05:00
imfozilbek
b953956181
docs: update CHANGELOG.md for v0.9.1
2025-11-26 17:39:21 +05:00
imfozilbek
af094eb54a
refactor: migrate hardcode detector from regex to AST-based analysis
...
- Replace regex-based matchers with tree-sitter AST traversal
- Add duplicate value tracking across files
- Implement boolean literal detection
- Add value type classification (email, url, ip, api_key, etc.)
- Improve context awareness with AST node analysis
- Reduce false positives with better constant detection
Breaking changes removed:
- BraceTracker.ts
- ExportConstantAnalyzer.ts
- MagicNumberMatcher.ts
- MagicStringMatcher.ts
New components added:
- AstTreeTraverser for AST walking
- DuplicateValueTracker for cross-file tracking
- AstContextChecker for node context analysis
- AstNumberAnalyzer, AstStringAnalyzer, AstBooleanAnalyzer
- ValuePatternMatcher for type detection
Test coverage: 87.97% statements, 96.75% functions
2025-11-26 17:38:30 +05:00
imfozilbek
656571860e
docs: add Anemic Model Detection documentation to WHY.md and RESEARCH_CITATIONS.md
2025-11-26 00:44:12 +05:00