Skip to content

Configuration

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-logging

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-plugin

Disabled skills are managed via the CLI:

  • allagents plugin skills remove <skill> - Add to disabledSkills
  • allagents plugin skills add <skill> - Remove from disabledSkills
  • allagents plugin skills list - View all skills with status

The workspace section enables syncing files from external sources to your workspace root.

FieldRequiredDescription
sourceNoDefault base directory for resolving relative file paths
filesYesArray of files to sync

File entry formats:

FormatExampleDescription
StringAGENTS.mdSource 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:

  1. Explicit source on file entry → used directly
  2. No source → resolved relative to workspace.source
  3. No workspace.source and no explicit source → 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

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)
FieldRequiredDescription
outputNoCustom filename for the generated .code-workspace file. Defaults to the workspace directory name.

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).

When using --scope user, AllAgents stores a separate config at ~/.allagents/workspace.yaml:

plugins:
- superpowers@obra/superpowers

This 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.

{
"name": "my-plugin",
"version": "1.0.0",
"description": "Plugin description"
}