nano-opencode is a minimal AI coding assistant (<5K LOC) with <50ms startup time. Future name: "jarvis" (inspired by Iron Man's AI assistant)
- TypeScript reference implementation (target: <3K LOC)
- YAML-based plugin system for agents, skills, hooks
- Unified JSON-RPC 2.0 client for MCP and LSP
- Lazy loading everywhere for performance
- SQLite for session persistence
- Use
bunfor package management and running - Tests:
npm test(node:test built-in) - Prefer functional style over classes where possible
- Keep files under 300 LOC
- No emojis in code comments
src/- Core TypeScript implementationbuiltin/agents/- Essential YAML agent definitionsspecs/interfaces/- JSON Schema specificationstest/- Test files (*.test.ts)
src/cli.ts- Main CLI REPL with interrupt handlingsrc/agents/index.ts- Agent system with memory injectionsrc/memory/index.ts- NANO.md memory systemsrc/rpc/client.ts- Unified JSON-RPC for MCP/LSP
- jarvis: Future merge target at /home/robot/workspace/26-nano-opencode/jarvis
Phase 2: Competitive Parity
- NANO.md memory system
- Plan Mode (/plan command)
- Ollama provider (local models)
- Auto-commit git integration