Complete SPA system for creating and orchestrating applications using AI, focused on Claude Code API and multiple AI models.
Orbit is a platform that allows:
- Conversational interviews with AI to capture requirements
- Generate composable prompts using Prompter architecture
- Manage tasks in an interactive Kanban Board
- Integrate with Claude Code API for task execution
- Support multiple configurable AI models
- Automatic versioning with AI-generated commits
- Next.js 14+ with App Router
- TypeScript for type safety
- Tailwind CSS for styling
- React 18+
- FastAPI (Python 3.11+)
- PostgreSQL with pgvector for vector embeddings
- SQLAlchemy as ORM
- Alembic for migrations
- Poetry for dependency management
- Redis for caching
- Native Linux/WSL2 services (PostgreSQL, Redis, Ollama)
- Monorepo architecture
Before starting, make sure you have installed:
- Linux / WSL2 environment
- Python 3.11+ with Poetry
- Node.js 18+ with npm
- PostgreSQL 15+ with pgvector extension
- Redis
- Ollama (for local AI models)
- Git
git clone https://github.com/igorhaf/orbit.git
cd orbit# Install all dependencies and configure services
./scripts/orbit install
./scripts/orbit setuporbit startorbit status- Frontend: http://localhost:3000
- Backend API: http://localhost:8000
- API Documentation: http://localhost:8000/docs
- Health Check: http://localhost:8000/health
The system requires AI model API keys to function. API keys are stored in the database (not .env).
- Go to http://localhost:3000/ai-models
- Click "Edit" on each model you want to use
- Add your API key and toggle "Active"
# Example: Configure Claude Sonnet 4.5
curl -X PATCH http://localhost:8000/api/v1/ai-models/{model_id} \
-H "Content-Type: application/json" \
-d '{"api_key": "sk-ant-...", "is_active": true}'orbit startorbit stop# All services
orbit logs
# Specific service
orbit logs backend
orbit logs frontend
orbit logs backend -f # Follow modeorbit restart backendMigrations need to be applied:
cd backend && alembic upgrade headCheck logs for errors:
orbit logs backendorbit/
├── README.md # This file
├── CLAUDE.md # AI assistant instructions
├── scripts/
│ └── orbit # Service manager CLI
├── backend/ # FastAPI API
│ ├── app/
│ │ ├── main.py # Application entry point
│ │ ├── config.py # Environment configuration
│ │ ├── database.py # Database setup
│ │ ├── models/ # SQLAlchemy models
│ │ ├── schemas/ # Pydantic schemas
│ │ ├── api/ # API routes
│ │ └── services/ # Business logic
│ └── alembic/ # Database migrations
├── frontend/ # Next.js application
│ ├── src/
│ │ ├── app/ # Next.js App Router
│ │ ├── components/ # React components
│ │ └── lib/ # Utilities and helpers
│ └── public/ # Static files
└── satellite/ # Knowledge base and AI memory
├── memory/ # AI execution logs
├── docs/ # External documents (RAG-indexed)
└── knowledge/ # Structured knowledge base
cd backend
poetry install
poetry run alembic upgrade head
poetry run uvicorn app.main:app --reload --host 0.0.0.0 --port 8000cd frontend
npm install
npm run dev# Create new migration
cd backend && alembic revision --autogenerate -m "description"
# Apply migrations
cd backend && alembic upgrade head
# Check current version
cd backend && alembic current
# Rollback one migration
cd backend && alembic downgrade -1- Interview System: Conversational chat with AI for requirements capture
- Prompt Generation: Automatic creation using Prompter architecture
- Kanban Board: Visual task management with drag-and-drop
- Claude Code Integration: Task execution via API
- Multi-Model Support: Support for various AI models (Claude, GPT, Gemini)
- Smart Versioning: Automatic AI-generated commits
- RAG System: Semantic search with pgvector for context retrieval
| Variable | Description | Default |
|---|---|---|
DATABASE_URL |
PostgreSQL connection URL | postgresql://orbit:orbit_password@localhost:5432/orbit |
SECRET_KEY |
Secret key for JWT | dev-secret-key-change-in-production |
ENVIRONMENT |
Execution environment | development |
REDIS_HOST |
Redis host | localhost |
REDIS_PORT |
Redis port | 6379 |
OLLAMA_HOST |
Ollama API URL | http://localhost:11434 |
| Variable | Description | Default |
|---|---|---|
NEXT_PUBLIC_API_URL |
Backend API URL | http://localhost:8000 |
NEXT_PUBLIC_APP_NAME |
Application name | Orbit |
| Service | Port | Description |
|---|---|---|
| Frontend | 3000 | Next.js application |
| Backend | 8000 | FastAPI API |
| PostgreSQL | 5432 | Database with pgvector (supports RAG) |
| Redis | 6379 | Cache server |
| Ollama | 11434 | Local LLM Server |
Orbit includes Ollama for local AI and RAG (Retrieval-Augmented Generation).
# Pull a model
ollama pull qwen3:8b
ollama pull nomic-embed-text
# List installed models
ollama list
# Or via API
curl http://localhost:11434/api/pull -d '{"name": "qwen3:8b"}'# Test Ollama (list installed models)
curl http://localhost:11434/api/tags
# Test pgvector extension
psql -U orbit -d orbit -c "SELECT * FROM pg_extension WHERE extname = 'vector';"[Define license]
For questions and support, check the documentation or open an issue in the repository.