Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Configuration

cargo agents uses a single user-wide configuration file at ~/.symposium/config.toml. Created by cargo agents init.

Full example

auto-sync = true
hook-scope = "global"

[[agent]]
name = "claude"

[[agent]]
name = "gemini"

[logging]
level = "info"

[defaults]
symposium-recommendations = true
user-plugins = true

[[plugin-source]]
name = "my-org"
git = "https://github.com/my-org/symposium-plugins"

[[plugin-source]]
name = "local-dev"
path = "my-plugins"

Top-level keys

KeyTypeDefaultDescription
auto-syncbooltrueAutomatically run cargo agents sync during hook invocations. When enabled, skills are kept in sync with workspace dependencies without manual intervention.
hook-scopestring"global"Where agent hooks are installed. "global" writes to the user’s home directory (e.g., ~/). "project" writes to the project directory, keeping hooks local to the workspace.

Hook scope: control whether Symposium activates in all projects or only those you select

Registering hooks globally ensures that Symposium activates whenever you use the selected agent, which means that it will work in any Rust project automatically.

Registering hooks at the project level requires you to run cargo agents sync within each project at least once to create the hooks. After that, the auto-sync feature will keep you up-to-date.

[[agent]]

Each [[agent]] entry identifies an agent you use. You can configure multiple agents.

KeyTypeDefaultDescription
namestring(required)Agent name: claude, codex, copilot, gemini, goose, kiro, or opencode.

[logging]

KeyTypeDefaultDescription
levelstring"info"Minimum log level. One of: trace, debug, info, warn, error.

[defaults]

Controls the two built-in plugin sources. Both are enabled by default.

KeyTypeDefaultDescription
symposium-recommendationsbooltrueFetch plugins from the symposium-dev/recommendations repository.
user-pluginsbooltrueScan ~/.symposium/plugins/ for user-defined plugins.

[[plugin-source]]

Defines additional plugin sources. Each entry must have exactly one of git or path.

KeyTypeDefaultDescription
namestring(required)A name for this source (used in logs and cache paths).
gitstringRepository URL. Fetched and cached under ~/.symposium/cache/plugin-sources/.
pathstringLocal directory containing plugins. Relative paths are resolved from ~/.symposium/.
auto-updatebooltrueCheck for updates on startup. Only applies to git sources.

Directory resolution

User-wide data lives under ~/.symposium/ by default. Override with environment variables:

ConfigCacheLogs
SYMPOSIUM_HOME$SYMPOSIUM_HOME/$SYMPOSIUM_HOME/cache/$SYMPOSIUM_HOME/logs/
XDG$XDG_CONFIG_HOME/symposium/$XDG_CACHE_HOME/symposium/$XDG_STATE_HOME/symposium/logs/
Default~/.symposium/~/.symposium/cache/~/.symposium/logs/

SYMPOSIUM_HOME takes precedence over XDG variables.

File locations

PathPurpose
~/.symposium/config.tomlUser configuration
~/.symposium/plugins/User-defined plugins
~/.symposium/cache/Cache directory (crate sources, plugin sources)
~/.symposium/logs/Log files (one per invocation, timestamped)