personal bootstrap notes for my global codex setup: caveman or beeline, ponytail, rtk, codebase memory, wigolo, and optional skills.
- deno for the installer and hooks.
- bun only for the interactive tui;
--yeskeeps installation deno-only. - node 20-25 for the configured mcp servers.
- network access during installation.
headroom is intentionally not installed by this repository. on a fresh machine, install it before selecting its checkbox
or --headroom:
uv tool install headroom-ailinux:
curl --fail --silent --show-error --location https://raw.githubusercontent.com/clarifei/codex-hook/main/install.sh | shwindows:
irm https://raw.githubusercontent.com/clarifei/codex-hook/main/install.ps1 | iexthe interactive flow is workstyle, headroom, then optional skills. commands worth remembering:
./install.sh --headroom --yes
./install.sh --no-headroom --yes
./install.sh beeline --with matt-pocock
./install.sh --with cloudflare --yesheadroom has two separate routes:
-
Official ChatGPT login: start a native Codex session through Headroom. Sign in with ChatGPT in Codex if prompted.
headroom wrap codex --code-memory none
This leaves provider selection to Codex and does not use Afterinput.
-
Afterinput custom provider: use the installer flag below. The existing bridge remains dedicated to this route.
./install.sh --headroom --yes
expected Afterinput flow when headroom is enabled:
- the installer routes the active Afterinput provider to the loopback bridge at
127.0.0.1:8788. - the codex
SessionStarthook runs on startup, resume, clear, and compaction. itsensurecommand starts the bridge andheadroom proxyat127.0.0.1:8787only when needed. - the bridge compresses Responses tool output through Headroom, then forwards the request and OAuth to Afterinput.
the bridge maps HEADROOM_PROJECT (or the launch directory from PWD) to Headroom's /p/<project> route, so the
dashboard separates lifetime savings per project. code navigation stays owned by the existing codebase-memory-mcp; the
shared Headroom proxy intentionally does not start another code graph, Serena, memory layer, or MCP server.
the Afterinput workflow is still just starting codex. the bridge does not need a manual command; use
headroom wrap codex --code-memory none only for the official ChatGPT route. failures and timeouts pass the original
request through unchanged.
--no-headroom restores direct Afterinput routing.
headroom dashboard
curl --fail --silent http://127.0.0.1:8788/healthheadroom dashboard opens the dashboard served by the running proxy. deno task headroom is the shortcut for enabling
the bridge directly from this checkout without rerunning the full installer. headroom doctor still reports Codex as
unwrapped because its detector does not know about this custom Afterinput bridge; bridge health and dashboard savings
are the relevant checks here.
the tui discovers optional skills upstream, caches the catalog for one hour, detects existing installs, and preserves
edited files during uninstall. --with cloudflare installs the current Cloudflare collection; Hono Docs MCP is
configured on every install.
./install.sh --yes
./install.sh baseline --all
./install.sh --uninstall tanstack-query
./install.sh --refresh --yesbaseline aliases caveman. --with and --uninstall accept collection or skill ids; --all selects every optional
skill and --with= clears the optional selection.
deno task check
deno task test
deno task tui:smoke