Quick Start
For the fastest setup, see the Quickstart Guide which covers installation, API setup, and connecting to your coding assistant in under 5 minutes.Prerequisites
System Requirements
- Node.js: ≥ 20.0.0 (specified in engines)
- pnpm: ≥ 9.14.0 (npm is also supported)
- Operating System: Linux, macOS, or Windows
- Memory: Minimum 4GB RAM (8GB+ recommended for better performance)
Optional External Services
- Neo4j: For advanced knowledge graph memory (optional)
- Redis: For distributed caching (optional, defaults to in-memory)
- Qdrant/Milvus: For external vector storage (optional, defaults to in-memory)
- Ollama: For local LLM hosting (optional)
Installation Methods
1. NPM Package (Recommended for Most Users)
2. Quick Start with Docker (Recommended for Production)
3. Build from Source (Development)
Environment Setup
Required Configuration
You need at least one API provider. For source builds, copy the environment template:- OpenAI: platform.openai.com
- Anthropic: console.anthropic.com
- OpenRouter: openrouter.ai
- Ollama: ollama.com (local hosting, no API key needed)
Verification
Basic Testing
Advanced Testing
For API mode testing and integration examples, see the Connections Guide.Development Setup
For Contributors
Quality Assurance Commands
Architecture Overview
Runtime Modes
- CLI Mode: Interactive command-line interface (default)
- API Mode: REST server for programmatic access
- MCP Mode: Model Context Protocol server for tool integration
- One-shot Mode: Execute single commands and exit
Key Components
- Memory System: Persistent storage with vector search and knowledge graphs
- Multi-LLM Support: OpenAI, Anthropic, OpenRouter, Ollama integration
- MCP Integration: Connect to external tools and development environments
Troubleshooting
Common Issues
- Node.js Version: Ensure Node.js ≥20.0.0
- API Keys: At least one LLM provider API key required
- Build Errors (source builds): Run
pnpm run typecheck
to identify issues - Port Conflicts: Use
--port
flag to change default port (3000)
Getting Help
- Verbose logging:
cipher --verbose
for detailed output - Community: Discord
- Issues: GitHub Issues