Version: 0.1.0 Last Updated: October 26, 2025
| Category | Technology | Version | Purpose | Rationale |
|---|---|---|---|---|
| CLI Language | TypeScript | 5.3+ | Type-safe CLI implementation | Single runtime with MCP servers, type safety |
| Runtime | Node.js | 20 LTS | JavaScript execution | Already required for MCP servers |
| CLI Framework | Commander | 11.x | Command-line parsing | Most popular, simple API, well-documented |
| Interactive Prompts | Inquirer | 9.x | User interactions | Rich prompt types, excellent UX |
| Terminal Styling | Chalk | 5.x | Colored output | De facto standard for terminal colors |
| Type Validation | Zod | 3.x | Runtime type checking | Best TypeScript integration, clear errors |
| File Operations | fs-extra | 11.x | Enhanced file I/O | Promisified, additional utilities |
| Shell Execution | execa | 8.x | Running shell commands | Better than child_process, cross-platform |
| YAML Parsing | js-yaml | 4.x | Configuration files | Standard YAML parser for Node.js |
| HTTP Client | axios | 1.x | HTTP requests | Well-established, good error handling |
| MCP SDK | @modelcontextprotocol/sdk | latest | MCP protocol | Official Anthropic SDK |
| Testing Framework | Vitest | 1.x | Unit/integration tests | Fast, TypeScript native, Vite integration |
| Mocking | vitest mocks | built-in | Test mocks | Built into Vitest |
| Build Tool | tsc (TypeScript compiler) | 5.3+ | Compilation | Standard TypeScript compilation |
| Bundler | esbuild | 0.19+ | Fast bundling (optional) | Fast builds for distribution |
| Linting | ESLint | 8.x | Code quality | TypeScript support, customizable |
| Formatting | Prettier | 3.x | Code formatting | Consistent code style |
| Package Manager | npm | 10+ | Dependency management | Built into Node.js, widely supported |
| CI/CD | GitHub Actions | N/A | Automated builds/releases | Free for open source, excellent integration |
| Distribution | Homebrew | N/A | macOS package distribution | Standard for macOS developer tools |
- Type safety prevents runtime errors
- Better IDE support and autocomplete
- Easier refactoring
- Shared types between CLI and MCP servers
- Simpler API than oclif
- More intuitive than yargs
- Large community, well-documented
- Sufficient for our needs
- Native TypeScript support
- Faster execution
- Better watch mode
- Modern API
- Overview - Architectural goals and patterns
- CLI Architecture - How these technologies are used in the CLI
- Build & Release - Build tools and deployment