Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 33 additions & 1 deletion docs/src/content/docs/docs/reference/clients.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ inventory of each runtime's native extension APIs.
| Client | Skills | Agent File | Hooks | Commands | GitHub Overrides |
|--------|--------|------------|-------|----------|------------------|
| Copilot | `.github/skills/` | `AGENTS.md` | `.github/hooks/` | No | `.github/` |
| Codex | `.agents/skills/` | `AGENTS.md` | No | No | No |
| Codex | `.codex/skills/` | `AGENTS.md` | `.codex/hooks.json` (generated) | No | No |
| OpenCode | `.agents/skills/` | `AGENTS.md` | No | `.opencode/commands/` | No |
| Gemini | `.agents/skills/` | `GEMINI.md` | No | No | No |
| Amp Code | `.agents/skills/` | `AGENTS.md` | No | No | No |
Expand Down Expand Up @@ -75,6 +75,38 @@ outside `COPILOT_HOME`, so this is configuration isolation, not a security
sandbox. See GitHub's [Copilot CLI configuration directory
reference](https://docs.github.com/en/copilot/reference/copilot-cli-reference/cli-config-dir-reference).

### Codex

Codex global profiles require Codex CLI 0.149.0 or newer. AllAgents assigns an
owned `CODEX_HOME`, writes `<profile>.config.toml`, and generates a launcher
that verifies the named file exists before running `codex --profile <profile>`.
The launcher preserves arguments and the current working directory, so trusted
project configuration and instructions retain their documented higher
precedence.

File installation writes selected skills beneath the isolated home. Strict
settings and MCP servers share the named TOML profile. Portable MCP
`${ENV_VAR}` references are translated to Codex's environment-name fields; the
secret value is never resolved or written. Reference shapes Codex cannot
represent natively fail before mutation.

Native installation requires one authoritative marketplace identity. AllAgents
delegates marketplace registration, plugin installation, Git marketplace
upgrade, local plugin refresh, removal, and inventory inspection to Codex.
Removing an AllAgents-managed marketplace fails closed while another installed
plugin still depends on it.

At project scope, AllAgents combines supported plugin hook declarations in
`.codex/hooks.json`. Native Codex plugins can also bundle `hooks/hooks.json`.
Isolated profile file installation does not currently translate hook
declarations; use native installation when a profile plugin requires them.

`CODEX_HOME` also contains Codex credentials, sessions, logs, and caches.
Recursive cleanup is limited to a client root AllAgents created for this
profile; removing that profile intentionally removes its isolated runtime
state. Ambient `~/.codex`, project files, and operating-system keyrings remain
outside the cleanup boundary.

## Provider-Specific Clients

These clients use their own skills directory. As above, Hooks lists
Expand Down
39 changes: 37 additions & 2 deletions docs/src/content/docs/docs/reference/configuration.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -140,15 +140,34 @@ profiles:
command: review-mcp
env:
REVIEW_TOKEN: ${REVIEW_TOKEN}

codex-review:
clients:
- name: codex
install: native
launcher: codex-review
settings:
model: gpt-5.6-sol
model_reasoning_effort: high
approval_policy: on-request
sandbox_mode: workspace-write
plugins:
- source: ./codex-marketplace
install: native
mcpServers:
review:
command: review-mcp
env:
REVIEW_TOKEN: ${REVIEW_TOKEN}
```

| Field | Required | Description |
|-------|----------|-------------|
| `profiles.<name>.clients` | Yes | One or more object-form profile clients |
| `clients[].name` | Yes | Supported profile client; currently `pi`, `omp`, `opencode`, or `copilot` |
| `clients[].name` | Yes | Supported profile client; currently `pi`, `omp`, `opencode`, `copilot`, or `codex` |
| `clients[].install` | No | Default plugin mode, `file` by default; OpenCode rejects `native` because its CLI lacks a complete inspect/update/remove lifecycle |
| `clients[].launcher` | No | Safe command basename written to the configured user bin directory |
| `clients[].settings` | No | Strict client settings object; Pi and OMP accept no settings, while OpenCode and Copilot accept their documented profile settings |
| `clients[].settings` | No | Strict client settings object; Pi and OMP accept no settings, while OpenCode, Copilot, and Codex accept their documented profile settings |
| `profiles.<name>.plugins` | No | Profile plugin declarations; defaults to an empty list |
| `plugins[].source` | Yes | npm, GitHub, marketplace, or local source supported by the selected adapter |
| `plugins[].ref` | No | Requested Git ref for a GitHub source |
Expand Down Expand Up @@ -194,6 +213,22 @@ entry. Native skill filters and native Git refs are rejected because Copilot
cannot enforce either constraint. File installation supports skill selection
and pinned Git sources instead.

Codex profiles require Codex CLI 0.149.0 or newer. Their launchers set an
isolated `CODEX_HOME`, require the generated `<profile>.config.toml`, select it
with `--profile <profile>`, and preserve the caller's working directory for
normal project discovery. Settings accept `model`, `model_reasoning_effort`,
`model_reasoning_summary`, `model_verbosity`, `approval_policy`,
`sandbox_mode`, `web_search`, and `personality`. All other keys fail
validation.

Codex MCP declarations share the named TOML profile. Exact `${ENV_VAR}`
references become Codex environment-variable names (`env_vars` or
`env_http_headers`) instead of literal values. References in commands, arguments,
URLs, or remapped stdio variables fail before mutation because Codex does not
interpolate them. Native plugins use authoritative marketplace identities;
AllAgents delegates registration, install, Git marketplace upgrade, targeted
refresh, uninstall, and safe marketplace removal to Codex.

Install profiles explicitly with `allagents profile install <name> --yes`.
Ordinary `allagents update` reconciles installed, still-declared profiles;
repeat `--profile <name>` to select only installed profiles. Removing a
Expand Down
Loading