-
Notifications
You must be signed in to change notification settings - Fork 1
Configuration
Three files make an install yours. All three are git-ignored, and templates for all three ship in the repository. CI re-checks on every push that none of them has been committed.
| File | Holds | Template |
|---|---|---|
.env |
cloud provider keys, integration tokens | .env.example |
backend/settings.json |
model choices, vault path | backend/settings.example.json |
backend/prompts/USER.md |
who you are, for the council | backend/prompts/USER.example.md |
Optional. A purely local install needs none of it.
# where the local model runtime lives — default http://localhost:11434.
# Set it when Ollama is not on this machine. docker compose sets it to
# http://ollama:11434, because inside a container "localhost" is the
# container itself, not the host.
OLLAMA_BASE_URL=
# cloud providers — only if you use one
OPENAI_API_KEY=
ANTHROPIC_API_KEY=
OPENROUTER_API_KEY=
# web_search providers — without a key it falls back to free scrapers,
# which are unreliable; any one key gives a deterministic primary source
BRAVE_SEARCH_API_KEY=
TAVILY_API_KEY=
SERPER_API_KEY=
# optional integrations
TELEGRAM_BOT_TOKEN=
TELEGRAM_CHAT_ID=
# optional: move the institutional database
INSTITUTIONAL_DB=The vault is optional. Without one, the Scout's four Obsidian tools report that none is configured and everything else runs normally.
Why two models: Choosing a Model.
The prompt layer is file-based and composed in order:
IDENTITY.md → AGENTS.md → TOOLS.md → SOUL.md → USER.md
who rules tools tone you
USER.md is the only one that is per-install. It is optional — if absent, the composer skips
it. Copy USER.example.md and fill in your name, locale, what you are building, and how you want
to be answered.
This file changes model behaviour more than anything else you can set. Be specific: "pushes back when output does not run on the target machine" changes more than "prefers quality".
.env settings.json USER.md
*.db *.db-wal *.db-shm SELF.md sessions/
governance_config.json skills_index.json memory/
The privacy CI job fails the build if a personal identifier, a private path, or USER.md appears
in the tree.
→ Next: Choosing a Model
SkynetClaw · THE HOUSE · Apache-2.0 · a council that forgets every meeting is not a council
Start
How it works
- Architecture
- The Council
- Institutional Memory
- Recall Quality
- House Mind
- Governance Engine
- Reputation
- Outcome Tracking
Using it
Running it
{ "vault_path": "/path/to/your/obsidian/vault", // optional "obsidian_vault": "/path/to/your/obsidian/vault", // keep equal to vault_path "model": "llama3.1:8b", // reasoning — the council deliberates with this "active_model": "llama3.1:8b", "default_model": "llama3.1:8b", "embed_model": "nomic-embed-text", "exec_model": "qwen2.5-coder:7b", // execution — tool calls and file edits "exec_connection": "ollama" }