Installation¶
This page walks you through installing and initializing OLAV in 5 minutes.
Feature Claims
| ID | Claim | Status |
|---|---|---|
| C-L2-01 | olav version reports version correctly |
✅ v0.10.0 |
| C-L2-13 | olav init creates project directory structure |
✅ v0.10.0 |
Prerequisites¶
| Dependency | Description |
|---|---|
| Python 3.11+ | Runtime environment for OLAV |
| LLM API Key | Supports OpenAI, Anthropic, Ollama (local), and more |
Step 1: Install¶
Verify the installation:
Expected output:
Step 2: Initialize a Project¶
Navigate to your working directory and run:
olav init creates the .olav/ directory with config skeleton, databases, and core Agent.
Step 3: Configure API Key¶
Edit the .olav/config/api.json generated by olav init and fill in your API key.
api.json uses shared.api_key for unified key management — LLM and Embedding share the same key, no separate configuration needed:
Protect your keys
api.json contains API keys. It is already in .gitignore (created by olav init).
Environment variables
Override api.json values via environment variables (higher priority):
The resulting directory structure:
.olav/
├── config/
│ ├── api.json ← LLM + auth config (contains keys — do not commit)
│ ├── services.yaml ← registered external services
│ └── settings.json ← platform settings (active Agent, etc.)
├── databases/
│ ├── audit.duckdb ← audit log (auto-records all operations)
│ └── domain.duckdb ← domain data (Agent execution results, etc.)
└── workspace/
└── core/ ← pre-deployed core Agent
├── AGENT.md ← Agent capability definition
└── MANIFEST.yaml ← route keywords and version info
Step 4: Set Up .gitignore¶
The workspace is safe to commit — share Agent definitions with your team. Config and databases should not be committed:
# .gitignore
.olav/config/ # contains API keys
.olav/databases/ # contains audit logs and domain data
.olav/run/ # runtime PID files
Next: Your First Query →