Config schema — `~/.agentproto/config.json`
The CLI's global config file. Location: $AGENTPROTO_HOME/config.json (defaults to ~/.agentproto/config.json). Created lazily — absent until first agentproto config set or agentproto plugins install.
Config schema — ~/.agentproto/config.json
The CLI's global config file. Location: $AGENTPROTO_HOME/config.json
(defaults to ~/.agentproto/config.json). Created lazily — absent
until first agentproto config set or agentproto plugins install.
Read/write via agentproto config:
agentproto config show
agentproto config get plugins
agentproto config set daemon.port 18791Full shape
{
// Runtime plugins loaded by `agentproto run-swarm`. Each entry is an
// npm package id resolvable from the cli's install location OR the
// user's cwd. Loaded in array order; last write wins on duplicate
// adapter kinds.
"plugins": [
"@guilde/agentproto-bridge",
"@acme/agentproto-slack"
],
// Slug → package-name aliases for `agentproto install
// runtime-profile/<slug>`. Without an alias, the verb defaults to
// `@agentproto/runtime-profile-<slug>`.
"profileAliases": {
"guilde": "@guilde/runtime-profile-guilde"
},
// npm packages the `corpus` CLI scans for AIP-10 starter presets.
// Each must declare `package.json#agentproto-corpus-preset` matching
// the agentproto/corpus-preset/v1 schema. Defaults to just
// ["@agentproto/corpus-presets"] when omitted.
"corpusPresetPackages": [
"@agentproto/corpus-presets",
"@vendor/corpus-presets"
],
// Daemon-mode options. Read by `agentproto daemon` and
// `agentproto serve` when launched without explicit flags.
"daemon": {
"port": 18791,
"bind": "127.0.0.1",
"allowedOrigins": [
"https://guilde.work"
]
}
}Keys
plugins: string[]
npm packages with an agentproto/plugin/v1 manifest. The CLI walks
this list at every run-swarm invocation, reads each plugin's
manifest, dynamic-imports declared adapter factories, and registers
them.
Managed via agentproto plugins. Direct edit
is fine — the verbs are convenience.
profileAliases: Record<string, string>
Maps a runtime-profile slug to an npm package name. Lets you install third-party profiles without typing the full package name:
# Without alias:
agentproto install runtime-profile/guilde \
--package @guilde/runtime-profile-guilde
# With alias above:
agentproto install runtime-profile/guildeThe default resolver (@agentproto/runtime-profile-<slug>) still
applies when no alias matches.
corpusPresetPackages: string[]
Only consumed by the corpus binary (@agentproto/corpus-cli). Each
listed package must declare package.json#agentproto-corpus-preset
listing its starter presets. corpus init <slug> resolves against the
merged set. corpus init --list enumerates everything visible.
daemon: object
Defaults for agentproto daemon and agentproto serve:
| Field | Type | Meaning |
|---|---|---|
port | number | Listen port (default 18791). |
bind | string | Bind address (default 127.0.0.1 — loopback-only). |
allowedOrigins | string[] | CORS allow-list for browser callers of the daemon API. |
Verb flags override config; config overrides hard-coded defaults.
Permissions
Mode 0600 is NOT enforced for config.json — unlike credentials.json,
this file doesn't carry secrets. Plugin names, ports, and alias maps
are not sensitive.
Versioning
The config file is unversioned today. New keys may appear in any
minor release of the CLI; unknown keys are tolerated and preserved
across reads/writes. Removed keys are still readable but are no-ops.
See ../../VERSIONING.md for the broader
policy.
Swarms
A **swarm** is a manifest plus a kernel-driven cycle: read the conversation substrate → ask the dispatcher who speaks next → execute each selected participant → append their reply → fire lifecycle hoo
Credentials format — `~/.agentproto/credentials.json`
The on-disk shape of the CLI's host-credentials store, as defined in @agentproto/cli/util/credentials. For semantics and the install flow, see [concepts/credentials.md](../concepts/credentials.md).