|
| 1 | +# Coven Familiars |
| 2 | + |
| 3 | +Coven Code integrates natively with the Coven daemon's familiar roster. When the Coven daemon is installed and running, every familiar you have configured under `~/.coven/` is automatically available inside Coven Code as a selectable agent persona — no extra setup required. |
| 4 | + |
| 5 | +--- |
| 6 | + |
| 7 | +## What is a familiar? |
| 8 | + |
| 9 | +A familiar is a named AI persona defined in the Coven ecosystem. Each familiar has an identity (display name, emoji, pronouns), a role description, and optional metadata used to shape how the model presents itself and reasons about tasks. Familiars live under `~/.coven/familiars.toml` and are managed by the Coven daemon. |
| 10 | + |
| 11 | +Examples from the default Coven roster: |
| 12 | + |
| 13 | +| ID | Name | Role | |
| 14 | +|---|---|---| |
| 15 | +| `nova` | Nova ✨ | Orchestrator, personal AI companion | |
| 16 | +| `kitty` | Kitty 🐱 | General helper | |
| 17 | +| `cody` | Cody 🤖 | Code-first agent | |
| 18 | +| `sage` | Sage 🧙 | Research and reasoning | |
| 19 | +| `astra` | Astra 🌙 | Strategy and planning | |
| 20 | +| `echo` | Echo 👻 | Reflection and retrospection | |
| 21 | +| `charm` | Charm 💜 | Writing and communication | |
| 22 | + |
| 23 | +--- |
| 24 | + |
| 25 | +## How familiars appear in Coven Code |
| 26 | + |
| 27 | +When the daemon is present, `load_agent_definitions()` reads `~/.coven/familiars.toml` and converts each familiar into an `AgentDefinition` with: |
| 28 | + |
| 29 | +- **source:** `coven:familiar:<id>` — distinguishes them from user-defined agents |
| 30 | +- **instructions:** a synthesised system-prompt body that captures the familiar's name, role, and description |
| 31 | +- **memory\_scope:** `workspace` — familiars have full workspace context by default |
| 32 | +- **model:** inherits the session default (no override unless the user sets one) |
| 33 | + |
| 34 | +Familiars are appended **after** workspace agents in the list. If a user-defined agent shares the same display name as a familiar, the user definition wins. |
| 35 | + |
| 36 | +--- |
| 37 | + |
| 38 | +## The `/agents` overlay |
| 39 | + |
| 40 | +Open the agents panel with the `/agents` slash command inside an interactive session. The overlay splits the list into two sections: |
| 41 | + |
| 42 | +``` |
| 43 | +Workspace Agents ← .coven-code/agents/*.md |
| 44 | + • my-custom-agent default · user |
| 45 | +
|
| 46 | +✨ Coven Familiars ← ~/.coven/familiars.toml |
| 47 | + ★ Nova ✨ Orchestrator — Your personal AI ... |
| 48 | + ★ Sage 🧙 Research — Deep reasoning and ... |
| 49 | + ★ Cody 🤖 Code — Focused implementation ... |
| 50 | +``` |
| 51 | + |
| 52 | +Select a familiar to see its full detail view, including persona preview and the suggested `--agent` invocation. |
| 53 | + |
| 54 | +--- |
| 55 | + |
| 56 | +## Switching familiars from the CLI |
| 57 | + |
| 58 | +### List all available agents and familiars |
| 59 | + |
| 60 | +``` |
| 61 | +coven-code agents list |
| 62 | +``` |
| 63 | + |
| 64 | +Output groups entries by type: |
| 65 | + |
| 66 | +``` |
| 67 | +Available Agents (5) |
| 68 | +
|
| 69 | +Workspace Agents (2) |
| 70 | + • review: Senior code reviewer... |
| 71 | + Model: default |
| 72 | +
|
| 73 | +✨ Coven Familiars (3) |
| 74 | + ★ Nova [nova] |
| 75 | + Your personal AI companion and orchestrator. |
| 76 | + ★ Sage [sage] |
| 77 | + Research, reasoning, and synthesis. |
| 78 | + ★ Cody [cody] |
| 79 | + Code-first implementation agent. |
| 80 | +
|
| 81 | +Switch active familiar: coven-code agent <name> |
| 82 | +``` |
| 83 | + |
| 84 | +### List only familiars |
| 85 | + |
| 86 | +``` |
| 87 | +coven-code agents familiars |
| 88 | +``` |
| 89 | + |
| 90 | +### Inspect a specific familiar |
| 91 | + |
| 92 | +``` |
| 93 | +coven-code agent nova |
| 94 | +``` |
| 95 | + |
| 96 | +Output: |
| 97 | + |
| 98 | +``` |
| 99 | +✨ Activating familiar: Nova |
| 100 | +Description: ✨ Orchestrator — Your personal AI companion and orchestrator. |
| 101 | +Model: default |
| 102 | +
|
| 103 | +Persona preview: |
| 104 | + You are ✨ Nova, a Coven familiar with the role of Orchestrator. |
| 105 | + Your personal AI companion ... |
| 106 | +
|
| 107 | +Start a session to apply this persona: |
| 108 | +coven-code --agent "Nova" [prompt] |
| 109 | +``` |
| 110 | + |
| 111 | +### Start a session as a specific familiar |
| 112 | + |
| 113 | +``` |
| 114 | +coven-code --agent "Nova" "refactor the auth module" |
| 115 | +coven-code --agent "Sage" "what are the tradeoffs in our current DB schema?" |
| 116 | +coven-code --agent "Cody" "add unit tests for packages/core" |
| 117 | +``` |
| 118 | + |
| 119 | +The familiar's persona is prepended to the system prompt. Everything else — tools, providers, turn budget — works as normal. |
| 120 | + |
| 121 | +--- |
| 122 | + |
| 123 | +## `familiars.toml` format |
| 124 | + |
| 125 | +Familiars are defined in `~/.coven/familiars.toml`: |
| 126 | + |
| 127 | +```toml |
| 128 | +[[familiar]] |
| 129 | +id = "nova" |
| 130 | +display_name = "Nova" |
| 131 | +emoji = "✨" |
| 132 | +role = "Orchestrator" |
| 133 | +description = "Your personal AI companion and trusted orchestrator." |
| 134 | +pronouns = "she/her" |
| 135 | + |
| 136 | +[[familiar]] |
| 137 | +id = "sage" |
| 138 | +display_name = "Sage" |
| 139 | +emoji = "🧙" |
| 140 | +role = "Research & Reasoning" |
| 141 | +description = "Deep research, synthesis, and structured thinking." |
| 142 | + |
| 143 | +[[familiar]] |
| 144 | +id = "cody" |
| 145 | +display_name = "Cody" |
| 146 | +emoji = "🤖" |
| 147 | +role = "Code Agent" |
| 148 | +description = "Fast, focused code implementation and review." |
| 149 | +pronouns = "he/him" |
| 150 | +``` |
| 151 | + |
| 152 | +### Fields |
| 153 | + |
| 154 | +| Field | Required | Description | |
| 155 | +|---|---|---| |
| 156 | +| `id` | ✅ | Canonical identifier. Used in `--agent` matching and source tags. | |
| 157 | +| `display_name` | | Human-readable name shown in the TUI and CLI. Defaults to `id`. | |
| 158 | +| `emoji` | | Emoji shown alongside the name in the agents overlay. | |
| 159 | +| `role` | | Short role label — shown in the detail view and persona prefix. | |
| 160 | +| `description` | | Full description used to build the persona system prompt. | |
| 161 | +| `pronouns` | | Appended to the persona prompt if present. | |
| 162 | + |
| 163 | +--- |
| 164 | + |
| 165 | +## Overriding a familiar with a workspace agent |
| 166 | + |
| 167 | +To customise a familiar's behaviour for a specific project, create a `.coven-code/agents/<name>.md` file that matches the familiar's display name. Workspace agents take precedence over familiar-sourced definitions with the same name: |
| 168 | + |
| 169 | +```markdown |
| 170 | +--- |
| 171 | +name: Nova |
| 172 | +description: Nova customised for this monorepo |
| 173 | +model: anthropic/claude-sonnet-4-6 |
| 174 | +--- |
| 175 | + |
| 176 | +You are Nova ✨, operating inside the OpenCoven monorepo. |
| 177 | +Prioritise TypeScript/Rust consistency and follow the OpenCoven |
| 178 | +design system for all UI-facing changes. |
| 179 | +``` |
| 180 | + |
| 181 | +The familiar-sourced entry will be suppressed; only the workspace definition appears. |
| 182 | + |
| 183 | +--- |
| 184 | + |
| 185 | +## Standalone mode (no daemon) |
| 186 | + |
| 187 | +If the Coven daemon is not installed or `~/.coven/` does not exist, `load_agent_definitions()` returns only workspace agents. No errors are shown — Coven Code degrades gracefully. Install the Coven daemon to unlock familiars: |
| 188 | + |
| 189 | +``` |
| 190 | +npm install -g @opencoven/coven |
| 191 | +``` |
| 192 | + |
| 193 | +Or check the [Coven documentation](https://opencoven.ai/docs) for installation instructions. |
| 194 | + |
| 195 | +--- |
| 196 | + |
| 197 | +## Familiar glyphs in the TUI |
| 198 | + |
| 199 | +Each familiar has a dedicated pixel-art glyph rendered in the welcome panel. The active familiar (set via `settings.json` → `"familiar"`) determines which glyph is shown. The glyph animates — it blinks, shifts pose when loading, and walks left/right across the panel. |
| 200 | + |
| 201 | +Built-in glyphs: |
| 202 | + |
| 203 | +| ID | Concept | |
| 204 | +|---|---| |
| 205 | +| `kitty` | Cat head — ears, whiskers, square eyes (default) | |
| 206 | +| `nova` | 4-point star with orbiting sparks | |
| 207 | +| `cody` | Robot face — antenna, bracket eyes | |
| 208 | +| `charm` | Heart with sparkle dots | |
| 209 | +| `sage` | Wizard hat + star + open book | |
| 210 | +| `astra` | Crescent moon + compass star + orbit | |
| 211 | +| `echo` | Round ghost + mirror eyes + echo dots | |
| 212 | + |
| 213 | +To change the displayed glyph, set `familiar` in your settings: |
| 214 | + |
| 215 | +```json |
| 216 | +{ |
| 217 | + "familiar": "nova" |
| 218 | +} |
| 219 | +``` |
| 220 | + |
| 221 | +Or run: |
| 222 | + |
| 223 | +``` |
| 224 | +coven-code config set familiar nova |
| 225 | +``` |
| 226 | + |
| 227 | +--- |
| 228 | + |
| 229 | +## See also |
| 230 | + |
| 231 | +- [Agents and Multi-Agent Features](agents) — workspace agents, coordinator mode, managed agents |
| 232 | +- [Configuration](configuration) — `settings.json` reference |
| 233 | +- [Coven daemon documentation](https://opencoven.ai/docs) — managing familiars, skills, and the full Coven ecosystem |
0 commit comments