|
| 1 | +# Configuration |
| 2 | + |
| 3 | +The workspace is configured via `ai-workspace.toml` at the repository root. |
| 4 | + |
| 5 | +A JSON Schema is auto-generated at `.ai-workspace/schema.json` for editor autocomplete. |
| 6 | + |
| 7 | +## `[workspace]` |
| 8 | + |
| 9 | +| Key | Type | Default | Description | |
| 10 | +|-----|------|---------|-------------| |
| 11 | +| `name` | string | `"AI Workspace"` | Workspace display name | |
| 12 | + |
| 13 | +## `[sync]` |
| 14 | + |
| 15 | +<!-- TODO: Explain each option with context on when/why to change it --> |
| 16 | + |
| 17 | +| Key | Type | Default | Description | |
| 18 | +|-----|------|---------|-------------| |
| 19 | +| `skip_on_uncommitted_changes` | bool | `true` | Skip submodules with uncommitted changes during sync (`false` = fail) | |
| 20 | +| `default_branch` | string | `"main"` | Fallback branch if not specified in `.gitmodules` | |
| 21 | +| `template_upstream_url` | string | _(template URL)_ | URL for template update notifications. Set empty to disable. | |
| 22 | +| `template_upstream_git_remote` | string | `"template-upstream"` | Git remote name for the template upstream | |
| 23 | + |
| 24 | +## `[hooks.session_start]` |
| 25 | + |
| 26 | +<!-- TODO: Explain the session start hook concept --> |
| 27 | + |
| 28 | +| Key | Type | Default | Description | |
| 29 | +|-----|------|---------|-------------| |
| 30 | +| `script` | string | _(required)_ | Path to the script to run at session start | |
| 31 | +| `timeout` | int | `120` | Timeout in seconds | |
| 32 | + |
| 33 | +## `[features]` |
| 34 | + |
| 35 | +<!-- TODO: Explain what happens when features are enabled/disabled --> |
| 36 | +<!-- Points to cover: --> |
| 37 | +<!-- - Enabling creates the directory with a README --> |
| 38 | +<!-- - Disabling removes the directory IF empty --> |
| 39 | +<!-- - If directory has content, pre-commit fails with instructions --> |
| 40 | + |
| 41 | +| Key | Type | Default | Description | |
| 42 | +|-----|------|---------|-------------| |
| 43 | +| `skills` | bool | `true` | Enable the skills system | |
| 44 | +| `commands` | bool | `true` | Enable the commands system | |
| 45 | +| `agent_docs` | bool | `true` | Enable the agent-docs system | |
| 46 | + |
| 47 | +## `[tools]` |
| 48 | + |
| 49 | +<!-- TODO: Explain tool discovery and link to tool-discovery feature page --> |
| 50 | + |
| 51 | +| Key | Type | Default | Description | |
| 52 | +|-----|------|---------|-------------| |
| 53 | +| `show_unavailable` | bool | `false` | Show all defined tools with availability status, or only available ones | |
| 54 | + |
| 55 | +## `[distribution]` |
| 56 | + |
| 57 | +<!-- TODO: Explain how distribution works and when to customize paths --> |
| 58 | + |
| 59 | +| Key | Type | Default | Description | |
| 60 | +|-----|------|---------|-------------| |
| 61 | +| `skills_paths` | list[str] | `[".opencode/skill"]` | Target directories for skills symlinks | |
| 62 | +| `commands_paths` | list[str] | _(IDE dirs)_ | Target directories for commands | |
| 63 | + |
| 64 | +## Example Configuration |
| 65 | + |
| 66 | +```toml |
| 67 | +[workspace] |
| 68 | +name = "AI Workspace" |
| 69 | + |
| 70 | +[sync] |
| 71 | +skip_on_uncommitted_changes = true |
| 72 | +default_branch = "main" |
| 73 | +template_upstream_url = "https://github.com/MichaelYochpaz/ai-workspace-template.git" |
| 74 | +template_upstream_git_remote = "template-upstream" |
| 75 | + |
| 76 | +[hooks.session_start] |
| 77 | +script = ".ai-workspace/scripts/session-start.py" |
| 78 | +timeout = 120 |
| 79 | + |
| 80 | +[features] |
| 81 | +skills = true |
| 82 | +commands = true |
| 83 | +agent_docs = true |
| 84 | + |
| 85 | +[tools] |
| 86 | +show_unavailable = false |
| 87 | + |
| 88 | +[distribution] |
| 89 | +skills_paths = [".opencode/skill"] |
| 90 | +commands_paths = [ |
| 91 | + ".roo/commands", |
| 92 | + ".claude/commands", |
| 93 | + ".cursor/commands", |
| 94 | + ".opencode/command", |
| 95 | +] |
| 96 | +``` |
0 commit comments