Skip to content

Project Structure

Markel Cuesta edited this page Dec 21, 2025 · 4 revisions
/
├── src/                     # CLI Application
│   ├── providers/
│   │   ├── base.ts          # Provider interface and types
│   │   ├── ollama.ts        # Ollama implementation
│   │   └── openrouter.ts    # OpenRouter implementation
│   ├── storage/
│   │   ├── MessageHistory.ts          # Abstract storage interface
│   │   ├── InMemoryMessageHistory.ts  # In-memory implementation
│   │   └── RedisMessageHistory.ts     # Redis implementation
│   ├── output/
│   │   ├── OutputView.ts          # Abstract output interface
│   │   ├── StdoutView.ts          # Terminal output implementation
│   │   ├── RedisPublisherView.ts  # Redis pub/sub output
│   │   ├── CompositeView.ts       # Composite pattern for dual output
│   │   └── types.ts               # Message types for pub/sub
│   ├── config/
│   │   └── manager.ts       # Configuration management
│   ├── cli/
│   │   ├── repl.ts          # REPL implementation
│   │   └── parser.ts        # CLI argument parsing
│   └── index.ts             # Application entry point
├── web/                     # Next.js Web Application
│   ├── src/
│   │   ├── app/
│   │   │   ├── api/stream/  # SSE endpoint
│   │   │   ├── layout.tsx   # Root layout
│   │   │   ├── page.tsx     # Main page
│   │   │   └── globals.css  # Global styles
│   │   ├── components/
│   │   │   └── ChatDisplay.tsx  # Chat UI component
│   │   ├── lib/
│   │   │   ├── MessageSubscriber.ts      # Abstract subscriber
│   │   │   ├── RedisMessageSubscriber.ts # Redis implementation
│   │   │   └── createSubscriber.ts       # Factory function
│   │   └── types/
│   │       └── messages.ts  # Shared message types
│   ├── Dockerfile           # Web app Docker build
│   ├── docker-compose.yml   # Standalone web + Redis
│   └── README.md            # Web app documentation
├── dist/                    # Compiled JavaScript (after build)
├── docker-compose.yml       # Combined Redis + Web setup
├── .env.example             # Environment variable examples
├── config.example.json      # Example configuration
├── CLAUDE.md                # Project guidance for Claude Code
├── package.json
├── tsconfig.json
└── README.md

Clone this wiki locally