Configuration
workspace.yaml
Section titled “workspace.yaml”The workspace configuration file defines repositories, plugins, workspace file sync, and target clients.
# Workspace file sync (optional)workspace: source: ../shared-config # Default base for relative file paths files: - AGENTS.md # String shorthand: same source and dest - source: docs/guide.md # Object form with explicit source dest: GUIDE.md # Optional dest (defaults to basename) - dest: CUSTOM.md # File-level source override source: ../other-config/CUSTOM.md - dest: AGENTS.md # GitHub source source: owner/repo/path/AGENTS.md
repositories: - path: ../my-project source: github repo: myorg/my-project description: Main project repository
plugins: - code-review@claude-plugins-official
clients: - claude - copilot - cursor
# Disabled skills (optional)disabledSkills: - superpowers:brainstorming - my-plugin:verbose-loggingDisabled Skills
Section titled “Disabled Skills”The disabledSkills array lists skills that should be excluded from sync. Each entry uses the format plugin:skill where plugin is the plugin name and skill is the skill folder name.
disabledSkills: - superpowers:brainstorming # Disable brainstorming from superpowers plugin - my-plugin:verbose-logging # Disable verbose-logging from my-pluginDisabled skills are managed via the CLI:
allagents plugin skills remove <skill>- Add to disabledSkillsallagents plugin skills add <skill>- Remove from disabledSkillsallagents plugin skills list- View all skills with status
Workspace File Sync
Section titled “Workspace File Sync”The workspace section enables syncing files from external sources to your workspace root.
| Field | Required | Description |
|---|---|---|
source | No | Default base directory for resolving relative file paths |
files | Yes | Array of files to sync |
File entry formats:
| Format | Example | Description |
|---|---|---|
| String | AGENTS.md | Source and dest are the same, resolved from workspace.source |
| Object with source | {source: "path/file.md"} | Dest defaults to basename |
| Object with dest | {dest: "file.md", source: "..."} | Explicit source and dest |
Source resolution priority:
- Explicit
sourceon file entry → used directly - No
source→ resolved relative toworkspace.source - No
workspace.sourceand no explicitsource→ validation error
GitHub sources:
- Format:
owner/repo/path/to/file.md - Fetched fresh on every sync (always pulls latest)
Behaviors:
- Source is the single source of truth; local copies are overwritten
- Deleted local files are restored on next sync
- AGENTS.md and CLAUDE.md automatically receive WORKSPACE-RULES injection
VSCode Configuration
Section titled “VSCode Configuration”The optional vscode section controls .code-workspace file generation when vscode is in the clients list.
vscode: output: my-project # Output filename (without .code-workspace extension)| Field | Required | Description |
|---|---|---|
output | No | Custom filename for the generated .code-workspace file. Defaults to the workspace directory name. |
Template File
Section titled “Template File”Place a template.code-workspace in .allagents/ to customize the generated workspace:
{ "folders": [ { "path": "{path:../Shared}", "name": "SharedLib" } ], "settings": { "editor.formatOnSave": true }, "launch": { "configurations": [] }, "extensions": { "recommendations": ["dbaeumer.vscode-eslint"] }}The {path:../path} placeholder syntax resolves to absolute paths using repository paths from workspace.yaml. It works in any string value within the template (folders, settings, launch configs).
User-Level workspace.yaml
Section titled “User-Level workspace.yaml”When using --scope user, AllAgents stores a separate config at ~/.allagents/workspace.yaml:
plugins: - superpowers@obra/superpowersThis file follows the same plugins format as the project-level workspace.yaml but does not support workspace, repositories, or clients fields. User-scoped plugins sync to user-level directories (~/.claude/, ~/.codex/, etc.) and are available across all projects.
Sync state for user-scoped plugins is tracked in ~/.allagents/sync-state.json.
plugin.json
Section titled “plugin.json”{ "name": "my-plugin", "version": "1.0.0", "description": "Plugin description"}