codex-manager is the source repository for installing, configuring, and maintaining a managed Codex runtime.
It owns the installer, runtime-pack source tree, hook runtime assets, skill catalogs, and runtime plugin marketplace metadata.
- Installer and runtime compilation logic in
src/install/** - User/runtime config source in
config/usr/**,config/vendor/**, andconfig/agents/** - Runtime-home source pack in
resources/home/user/** - Perl hook runtime source in
resources/hooks/scripts/lib/Codex/Hook/** - Runtime skills in
resources/skills/** - Plugin skills and marketplace metadata in
resources/plugins/**
.envis the source of truth for install root paths.config/usr/apps.tomldrives runtime plugin enablement, agent blocks, shared skill roots, and MCP wiring.resources/skills/metadata.jsondrives installer-managed runtime skill groups.resources/plugins/manifest.jsondrives the runtime marketplace.resources/home/user/index/manifest.ymlis the routing metadata source for the runtime-home pack.
This repository is the source of truth for installable runtime assets only. Runtime state stays on the installed target and never syncs back into this repo.
Examples of target-only runtime state:
$CODEX_HOME/memories/$CODEX_HOME/sessions/$CODEX_HOME/shell_snapshots/$CODEX_HOME/.credentials.json$CODEX_HOME/history.jsonl$CODEX_HOME/session_index.jsonl$CODEX_HOME/version.json$CODEX_HOME/.personality_migration
debian-preseed-dicf-aptly-r2cf-git-cicd-workerdeliverycodex-mcp
- Runtime-pack router:
resources/home/user/INDEX.md - Runtime memory guidance: consult
$CODEX_HOME/memories/MEMORY.mdonly when it exists and the task is repo-aware - Human/operator docs source:
docs/ - Installer workflow:
docs/workflows/codex-manager.md - Wrapper commands:
docs/wrappers.md - Secrets and auth:
docs/security/secrets.md
For installer/runtime changes, start with the narrowest checks and then run the repo gates:
python3 -m py_compile src/install/codex_install.py
python3 -m compileall src tests
python3 -m unittest discover -s tests
make preflightmake install/make build-installinstall Debian package dependencies from.env, then materialize runtime config, wrapper state, hook assets, and managed shell exports from this repo.make runtimerefreshes managed runtime assets without reinstalling Debian dependencies.make runtime-home,make runtime-skills, andmake runtime-instructionsrefresh narrower runtime slices when you only need config/home, skills/plugins, or instruction assets.make nukecreates a backup first, preservesCODEX_BACKUP_DIR,CODEX_MCP_DIR, andCODEX_SQLITE_HOME, and removes managed shell/profile exports plus runtime paths.- Managed keyring cleanup during
nukeis best-effort: missingsecret-toolentries no longer abort the filesystem cleanup. - Persisted
CODEX_*exports are removed bynuke, but the current shell keeps already-exported values until you refresh it, for example withexec "$SHELL" -l.
bearer_token_env_varis only valid for URL-based MCP servers.- Stdio /
commandMCP servers must useenv_varspassed through their wrapper environment instead of bearer-token fields.
- Prefer
rg/rg --filesfor discovery. - Prefer
apply_patchfor focused edits. - Reparse JSON, YAML, and TOML after mutation.
- Keep runtime-only data out of source-controlled docs, templates, and routing assets.