|
| 1 | +## Feature Roadmap |
| 2 | + |
| 3 | +This document outlines the roadmap for Binharic, an AI coding assistant blessed by the Omnissiah. |
| 4 | +It includes planned features, improvements, and their current implementation status. |
| 5 | + |
| 6 | +> [!IMPORTANT] |
| 7 | +> This roadmap is a work in progress and is subject to change as we receive guidance from the Machine God. |
| 8 | +
|
| 9 | +### 1. Core Agent Capabilities |
| 10 | + |
| 11 | +- **LLM Provider Support** |
| 12 | + - [x] OpenAI models (GPT-4o, GPT-4o-mini, GPT-5 series) |
| 13 | + - [x] Anthropic models (Claude 4 Sonnet, Claude 4.5 Sonnet) |
| 14 | + - [x] Google AI models (Gemini 2.5 Pro, Gemini 2.5 Flash) |
| 15 | + - [x] Ollama for local model execution |
| 16 | + - [ ] Support for Azure OpenAI endpoints |
| 17 | + - [ ] Support for additional model providers (Cohere, Mistral) |
| 18 | +- **Context Management** |
| 19 | + - [x] Token-based context window management |
| 20 | + - [x] Automatic context trimming for long conversations |
| 21 | + - [x] History preservation across sessions |
| 22 | + - [ ] Intelligent context compression |
| 23 | + - [ ] Semantic context pruning |
| 24 | +- **Multi-Step Execution** |
| 25 | + - [x] Multi-step tool calling with retry logic |
| 26 | + - [x] Transient error handling with exponential backoff |
| 27 | + - [x] Tool execution confirmation flow |
| 28 | + - [x] **AI SDK Agent class integration** |
| 29 | + - [x] **Automatic loop control with stopWhen conditions** |
| 30 | + - [ ] Parallel tool execution for independent operations |
| 31 | + - [ ] Automatic tool dependency resolution |
| 32 | +- **Specialized Agents** |
| 33 | + - [x] **Main Binharic Agent (Tech-Priest persona)** |
| 34 | + - [x] **Code Analysis Agent** |
| 35 | + - [x] **Security Audit Agent** |
| 36 | + - [x] **Test Generation Agent** |
| 37 | + - [x] **Documentation Agent** |
| 38 | + - [x] **Refactoring Agent** |
| 39 | + - [ ] Debug Agent |
| 40 | + - [ ] Performance Optimization Agent |
| 41 | + - [ ] Migration Agent |
| 42 | + |
| 43 | +### 2. Tool System |
| 44 | + |
| 45 | +- **File Operations** |
| 46 | + - [x] Read files with tracking |
| 47 | + - [x] Create new files |
| 48 | + - [x] Smart file editing with diff application |
| 49 | + - [x] List directory contents |
| 50 | + - [x] File search capabilities |
| 51 | + - [x] **Integrated with AI SDK Agent class** |
| 52 | + - [ ] File comparison and diffing |
| 53 | + - [ ] Bulk file operations |
| 54 | + - [ ] File watching for changes |
| 55 | +- **Code Intelligence** |
| 56 | + - [x] TypeScript/JavaScript error detection |
| 57 | + - [x] Syntax validation |
| 58 | + - [x] **AI-powered code analysis** |
| 59 | + - [x] **Structured refactoring suggestions** |
| 60 | + - [x] **Automatic test generation** |
| 61 | + - [x] **Security vulnerability detection** |
| 62 | + - [ ] Code navigation (go to definition, find references) |
| 63 | + - [ ] Code formatting integration |
| 64 | + - [ ] Linting integration |
| 65 | +- **Shell Integration** |
| 66 | + - [x] Bash command execution |
| 67 | + - [x] Terminal session management with persistent state |
| 68 | + - [x] Command timeout handling |
| 69 | + - [ ] Interactive shell support |
| 70 | + - [ ] Command history and replay |
| 71 | + - [ ] Environment variable management |
| 72 | +- **Web & Network** |
| 73 | + - [x] URL fetching with HTML-to-text conversion |
| 74 | + - [x] Content markup stripping |
| 75 | + - [ ] API integration templates |
| 76 | + - [ ] Web scraping capabilities |
| 77 | + - [ ] Webhook support |
| 78 | +- **Model Context Protocol (MCP)** |
| 79 | + - [x] MCP server integration |
| 80 | + - [x] Dynamic tool discovery |
| 81 | + - [x] Stdio transport support |
| 82 | + - [ ] HTTP transport support |
| 83 | + - [ ] MCP tool caching |
| 84 | + - [ ] Custom MCP server templates |
| 85 | + |
| 86 | +### 3. User Interface |
| 87 | + |
| 88 | +- **Terminal UI (TUI)** |
| 89 | + - [x] Rich terminal interface with Ink |
| 90 | + - [x] Real-time streaming responses |
| 91 | + - [x] Tool execution confirmation prompts |
| 92 | + - [x] Command history navigation (up/down arrows) |
| 93 | + - [x] Help menu |
| 94 | + - [x] File search with @ mention |
| 95 | + - [ ] Syntax highlighting for code blocks |
| 96 | + - [ ] Multi-pane view for side-by-side comparison |
| 97 | + - [ ] Terminal themes support |
| 98 | +- **User Experience** |
| 99 | + - [x] Graceful error handling |
| 100 | + - [x] Status indicators (idle, responding, executing) |
| 101 | + - [x] Git branch display in header |
| 102 | + - [ ] Progress bars for long operations |
| 103 | + - [ ] Notification system |
| 104 | + - [ ] Undo/redo for file operations |
| 105 | + - [ ] Session saving and loading |
| 106 | + |
| 107 | +### 4. Configuration & Customization |
| 108 | + |
| 109 | +- **Configuration Management** |
| 110 | + - [x] JSON5 configuration format |
| 111 | + - [x] Model configuration with context windows |
| 112 | + - [x] Custom system prompts |
| 113 | + - [x] API key management |
| 114 | + - [x] History size limits |
| 115 | + - [ ] Configuration profiles (development, production, etc.) |
| 116 | + - [ ] Configuration validation with detailed error messages |
| 117 | + - [ ] Hot-reload configuration changes |
| 118 | +- **Personality & Behavior** |
| 119 | + - [x] Adeptus Mechanicus character and terminology |
| 120 | + - [x] Customizable system prompts |
| 121 | + - [ ] Multiple personality presets |
| 122 | + - [ ] Conversation style customization |
| 123 | + - [ ] Output verbosity levels |
| 124 | + |
| 125 | +### 5. Performance & Reliability |
| 126 | + |
| 127 | +- **Error Handling** |
| 128 | + - [x] Categorized errors (Fatal, Transient, Tool) |
| 129 | + - [x] Automatic retry with backoff for transient errors |
| 130 | + - [x] Error logging with Winston |
| 131 | + - [x] Graceful degradation |
| 132 | + - [x] **Agent-level error handling** |
| 133 | + - [ ] Error recovery suggestions |
| 134 | + - [ ] Automatic error reporting (opt-in) |
| 135 | +- **Optimization** |
| 136 | + - [x] Efficient token counting |
| 137 | + - [x] Context window optimization |
| 138 | + - [x] **Agent-based loop optimization** |
| 139 | + - [x] **Specialized agents for specific tasks** |
| 140 | + - [ ] Response caching |
| 141 | + - [ ] Request batching |
| 142 | + - [ ] Streaming optimizations |
| 143 | +- **Monitoring** |
| 144 | + - [x] Structured logging |
| 145 | + - [x] Provider availability checks |
| 146 | + - [ ] Performance metrics collection |
| 147 | + - [ ] Usage analytics (tokens, costs) |
| 148 | + - [ ] Health checks and diagnostics |
| 149 | + |
| 150 | +### 6. Testing & Quality |
| 151 | + |
| 152 | +- **Test Coverage** |
| 153 | + - [x] Unit tests for core functionality |
| 154 | + - [x] Tool execution tests |
| 155 | + - [x] Error handling tests |
| 156 | + - [x] State management tests |
| 157 | + - [ ] Integration tests |
| 158 | + - [ ] End-to-end tests |
| 159 | + - [ ] Performance benchmarks |
| 160 | +- **Code Quality** |
| 161 | + - [x] TypeScript strict mode |
| 162 | + - [x] ESLint configuration |
| 163 | + - [x] Prettier formatting |
| 164 | + - [x] Pre-commit hooks |
| 165 | + - [ ] Automated dependency updates |
| 166 | + - [ ] Security scanning |
| 167 | + - [ ] Code complexity metrics |
| 168 | + |
| 169 | +### 7. Documentation |
| 170 | + |
| 171 | +- **User Documentation** |
| 172 | + - [x] README with basic usage |
| 173 | + - [x] API key setup instructions |
| 174 | + - [x] Contributing guidelines |
| 175 | + - [ ] Comprehensive user guide |
| 176 | + - [ ] Video tutorials |
| 177 | + - [ ] FAQ section |
| 178 | +- **Developer Documentation** |
| 179 | + - [x] Code of conduct |
| 180 | + - [x] Architecture documentation |
| 181 | + - [x] Bug fix documentation |
| 182 | + - [ ] API reference documentation |
| 183 | + - [ ] Plugin development guide |
| 184 | + - [ ] Deployment guide |
| 185 | + |
| 186 | +### 8. Distribution & Deployment |
| 187 | + |
| 188 | +- **Package Management** |
| 189 | + - [x] NPM package structure |
| 190 | + - [x] TypeScript compilation |
| 191 | + - [ ] NPM registry publication |
| 192 | + - [ ] Semantic versioning |
| 193 | + - [ ] Release automation |
| 194 | +- **Installation Methods** |
| 195 | + - [ ] Homebrew formula (macOS) |
| 196 | + - [ ] Snap package (Linux) |
| 197 | + - [ ] Chocolatey package (Windows) |
| 198 | + - [ ] Docker image |
| 199 | + - [ ] Standalone binary releases |
| 200 | +- **Cloud & Remote** |
| 201 | + - [ ] Remote execution support |
| 202 | + - [ ] Multi-user deployments |
| 203 | + - [ ] Cloud provider integrations |
| 204 | + |
| 205 | +### 9. Advanced Features |
| 206 | + |
| 207 | +- **Agentic Capabilities** |
| 208 | + - [x] Autonomous task execution |
| 209 | + - [x] Tool chaining |
| 210 | + - [x] File tracking for safe edits |
| 211 | + - [x] **AI SDK Agent class for reusable configurations** |
| 212 | + - [x] **Multi-step tool execution with automatic loop control** |
| 213 | + - [x] **Specialized agents with distinct personalities** |
| 214 | + - [ ] Goal-oriented planning |
| 215 | + - [ ] Task decomposition |
| 216 | + - [ ] Long-term memory |
| 217 | + - [ ] **Agent composition (combining multiple agents)** |
| 218 | + - [ ] **Dynamic agent selection** |
| 219 | +- **Collaboration** |
| 220 | + - [ ] Team workspaces |
| 221 | + - [ ] Shared conversation history |
| 222 | + - [ ] Code review assistance |
| 223 | + - [ ] Pull request analysis |
| 224 | + - [ ] **Multi-agent collaboration** |
| 225 | +- **Extensions & Plugins** |
| 226 | + - [ ] Plugin system architecture |
| 227 | + - [ ] Custom tool registration |
| 228 | + - [ ] Language-specific plugins |
| 229 | + - [ ] Framework-specific assistants |
| 230 | + - [ ] **Custom agent templates** |
| 231 | + |
| 232 | +### 10. Security & Privacy |
| 233 | + |
| 234 | +- **Security** |
| 235 | + - [x] API key environment variable support |
| 236 | + - [x] Secure credential storage |
| 237 | + - [ ] Encrypted configuration files |
| 238 | + - [ ] Sandboxed tool execution |
| 239 | + - [ ] Rate limiting |
| 240 | +- **Privacy** |
| 241 | + - [x] Local execution option (Ollama) |
| 242 | + - [x] Conversation history stored locally |
| 243 | + - [ ] Data anonymization options |
| 244 | + - [ ] GDPR compliance |
| 245 | + - [ ] Audit logging |
| 246 | + |
| 247 | +--- |
| 248 | + |
| 249 | +## Contributing |
| 250 | + |
| 251 | +To contribute to this roadmap or suggest new features, please: |
| 252 | + |
| 253 | +1. Check existing issues and discussions |
| 254 | +2. Create a feature request issue with the `enhancement` label |
| 255 | +3. Discuss with the community |
| 256 | +4. Submit a pull request referencing the issue |
| 257 | + |
| 258 | +Praise the Omnissiah! From the weakness of the mind, Omnissiah save us. |
0 commit comments