UNPKG

@tosin2013/kanbn

Version:

A CLI Kanban board with AI-powered task management features

233 lines (188 loc) 5.22 kB
# Repository Analysis ## Overview This document provides a comprehensive analysis of the Kanbn repository structure, architecture, and organization patterns. ## Architecture Diagrams ### High-Level System Architecture ```mermaid flowchart TD CLI[CLI Interface] --> Controller[Controller Layer] Controller --> TaskMgmt[Task Management] Controller --> BoardMgmt[Board Management] Controller --> AIMgmt[AI Features] TaskMgmt --> FileSystem[File System] BoardMgmt --> FileSystem AIMgmt --> Memory[Memory System] AIMgmt --> OpenRouter[OpenRouter API] subgraph Core Components TaskMgmt BoardMgmt AIMgmt end subgraph Storage FileSystem Memory end subgraph External Services OpenRouter end ``` ### Command Processing Flow ```mermaid flowchart LR Input[User Input] --> Parser[Command Parser] Parser --> Router[Route Handler] Router --> Controller[Controller] Controller --> Validator[Input Validator] Controller --> Action[Action Handler] Action --> FileOps[File Operations] Action --> Memory[Memory Operations] subgraph Processing Validator Action end subgraph Storage Operations FileOps Memory end ``` ### AI Feature Architecture ```mermaid flowchart TD Chat[Chat Command] --> Handler[Chat Handler] Handler --> Context[Context Builder] Handler --> Memory[Memory Manager] Handler --> AI[AI Service] Context --> TaskContext[Task Context] Context --> BoardContext[Board Context] Context --> MemoryContext[Memory Context] AI --> OpenRouter[OpenRouter API] AI --> Response[Response Generator] subgraph Context Management TaskContext BoardContext MemoryContext end subgraph External Services OpenRouter end ``` ### Data and File Structure ```mermaid flowchart TD Root[Project Root] --> Src[src/] Root --> Docs[docs/] Root --> KanbnDir[.kanbn/] Root --> Config[Configuration Files] Src --> Main[main.js] Src --> Lib[lib/] Src --> Controllers[controller/] KanbnDir --> Tasks[tasks/] KanbnDir --> Memory[chat-memory.json] KanbnDir --> Index[index.md] Docs --> API[API Docs] Docs --> Guides[User Guides] Docs --> Examples[Examples] Config --> Package[package.json] Config --> Docker[Dockerfile] Config --> GitHub[.github/] subgraph Source Code Main Lib Controllers end subgraph Project Data Tasks Memory Index end subgraph Documentation API Guides Examples end ``` ## Directory Structure ### Core Application Code - `src/` - Main source code directory - `main.js` - Primary application logic - `parse-task.js` - Task parsing functionality - `board.js` - Board management - `lib/` - Core library modules - `controller/` - Business logic controllers - `config/` - Configuration management - `data/` - Data models and structures - `routes/` - API route definitions - Command-specific JSON configurations - Clear separation of routing and logic - `bin/` - Executable files - `index.js` - Application entry point ### Documentation - `docs/` - Main documentation directory - User guides - API documentation - Architecture documentation - Examples and tutorials ### Configuration & Build - `.github/` - CI/CD workflows - `Dockerfile` & `docker-compose.yml` - Container configuration - `package.json` - Project dependencies and scripts - `Makefile` - Build and development tasks ### Testing - `test/` - Test suite - `examples/` - Usage examples - `test-memory-system.js` - Memory subsystem tests ### Project Management - `.kanbn/` - Kanban board data - `tasks/` - Task management - `.roo/` & `.cursor/` - Project rules and settings ## Architecture Patterns ### Modular Design - Clear separation of concerns - Route-based configuration - Controller-based business logic - Library modules for core functionality ### Main Components 1. Task Management - Task parsing and validation - State management - Persistence 2. Board Management - Column configuration - Task organization - Board state management 3. AI Features - Chat functionality - Task decomposition - Memory management 4. Configuration System - JSON-based configuration - Environment management - Build settings ## Development Infrastructure ### CI/CD - GitHub Actions workflows - Automated testing - Docker build pipeline ### Development Tools - TypeScript definitions - ESLint configuration - Editor settings ### Testing Framework - Unit tests - Integration tests - Memory system tests ## Areas for Enhancement 1. Documentation - Architecture diagrams needed - Enhanced onboarding guide - RAG test documentation 2. Code Organization - Consider TypeScript migration - Enhanced error handling - Middleware standardization 3. Testing - Increase test coverage - Add performance tests - Document test patterns ## Dependencies (To be documented after detailed review)