Configuration
Everything works out of the box with defaults. If you want to customize, create a dynamo.yaml in your project root.
dynamo.yaml
project:
name: "MyGame"
github_repo: "myorg/mygame"
base_ref: "main"
ai:
provider: "anthropic"
personality: "full" # full | light | minimal
sandbox: "full" # project | full | unrestricted
memory: true # false to disable memory
auto_checkpoint: true # false to disable auto-checkpoints
auto_consolidate: false # true to auto-consolidate memory on session start
shell:
defaultTimeout: 120000 # 2 min (ms)
maxTimeout: 600000 # 10 min max
maxOutput: 50000 # 50K chars before truncation
providers:
deepseek:
type: "openai-compatible"
base_url: "https://api.deepseek.com/v1"
api_key_env: "DEEPSEEK_API_KEY"
engines:
unity:
project_path: "./MyUnityProject"Only project.name is required. Everything else has sensible defaults.
Run dynamo config to see your full resolved configuration.
Personality Levels
| Level | Description |
|---|---|
full | Warm game-dev teammate — conversational, shares thinking (default for interactive) |
light | Helpful and clear, less personality |
minimal | Terse and direct (default for workflows) |
Override with DYNAMO_PERSONALITY env var.
Environment Variables
API Keys
| Variable | Provider |
|---|---|
ANTHROPIC_API_KEY | Anthropic (Claude) |
OPENAI_API_KEY | OpenAI (GPT) |
OPENROUTER_API_KEY | OpenRouter (200+ models) |
GOOGLE_API_KEY | Google (Gemini) |
For Ollama, no API key is needed — Dynamo auto-detects a running Ollama instance.
For custom providers (DeepSeek, Groq, etc.), set the key name in api_key_env in your provider config.
Overrides
| Variable | Purpose |
|---|---|
DYNAMO_AI_PROVIDER | Override default provider |
DYNAMO_PERSONALITY | Override personality level |
DYNAMO_CONFIG_DIR | Override config directory location (default ~/.config/dynamo/) |
DYNAMO_SHELL_TIMEOUT | Override default shell timeout (ms) |
DYNAMO_NERD_FONTS | Force Nerd Fonts on (1) or off (0) |
NO_COLOR | Disable all terminal colors |
FORCE_COLOR | Force color level (3 for truecolor) |
Auth Priority
Dynamo resolves credentials in this order:
- Saved preferences (
~/.config/dynamo/preferences.json) dynamo.yamlconfig- OpenClaw credentials (if connected)
- Environment variables
- CLI fallback (prompts you)
OpenClaw Integration
If you use OpenClaw, Dynamo detects it automatically:
- API key import — your OpenClaw API keys are imported automatically (explicit environment variables always take priority)
- Model aliases — aliases like
/model opuswork if OpenClaw knows about the model - Context window sizes — imported so Dynamo knows each model's limits
- Config watching — Dynamo watches for changes to your OpenClaw config and picks them up live
- Manual sync — run
/syncto re-sync OpenClaw settings on demand
No OpenClaw? No problem. Dynamo works fine standalone.
File Locations
| File | Location |
|---|---|
| Sessions | ~/.config/dynamo/sessions/ |
| Preferences | ~/.config/dynamo/preferences.json |
| Credentials | ~/.config/dynamo/credentials.json |
| Checkpoints | ~/.config/dynamo/checkpoints/ |
| Global memory | ~/.config/dynamo/memory/ |
| Project memory | .dynamo/memory/ |
| Project config | ./dynamo.yaml |
| Project skills | .dynamo/skills/ |
| Personal skills | ~/.config/dynamo/skills/ |
| Input history | ~/.config/dynamo/input-history.jsonl |