This is the short first-run and update path for Codex Workspace. It is meant to be safe to read at the start of an agent session without pulling in the historical setup detail.
Detailed historical notes moved to docs/archive/08-first-run-and-updates-history-2026-04.md and should only be opened for targeted archaeology.
- Start with Workspace Hub for the concrete local control surface.
- Keep each repo independently runnable; never create one shared dependency install.
- Share caches under
cache/, not dependency directories. - Use generated
cache/context/**/entry.mdpackets before broader generated summaries. - Use Workspace Hub search in
Thinmode first. - Treat
Deep (slower), artifacts, screenshots,ref/, logs, failure reports, and archived docs as opt-in evidence. - Record closeout in tracked docs; no workspace memory wrapper is installed.
cd repos/workspace-hub
pnpm install
pnpm devOnce the Hub is open:
- Use Repo Discovery with
Thinsearch first. - Open repo details only for the repo you are actively working on.
- Use
Open entry packetbefore abstract, overview, sources, logs, or artifacts. - Leave archive files hidden unless you explicitly need them.
- Use tracked docs and optional generated context-cache summaries for closeout context.
For a cheaper repo-aware chat:
- Read
docs/HANDOVER.md. - Read the directly relevant tracked README or docs page.
- Use
cache/context/**/entry.mdonly when a compact generated side-load helps. - Open
abstract.md,overview.md,sources.json, logs, screenshots,ref/, artifacts, anddocs/archive/only when the task specifically needs that evidence. - Treat tracked docs, manifests, and repo files as canonical when they differ from generated summaries.
Suggested instruction:
Read
docs/HANDOVER.mdfirst. Use generatedentry.mdfiles undercache/context/only as compact side-load packets, and avoid deep evidence paths unless the task requires them.
Use this for the workspace structure, docs, and helper scripts.
Install or verify:
gitrgjqfdtree
Use this for the local dashboard in repos/workspace-hub/.
Install or verify:
- Node.js 20+
pnpm9+- a Chrome-compatible browser only if you need cover screenshots
Use this only when sibling repos need these tools:
python3,pip, optionaluvcomposerwp
Use Local or mapped-host tooling only for repos that benefit from it. Do not make either mandatory for the whole workspace.
Use tracked .codex/skills/ and selected optional MCP integrations only when they reduce repeated work. For token-sensitive routine repo work, prefer the smallest supported MCP surface, such as the safe-readonly profile. Use heavier profiles like default-full only when browser, GitHub, docs, or debugging tools are actually needed.
For ordinary workspace updates:
git pull --ff-only
tools/scripts/bootstrap-workspace.sh
tools/scripts/doctor-workspace.shFor Workspace Hub:
pnpm --dir repos/workspace-hub install
pnpm --dir repos/workspace-hub typecheck
pnpm --dir repos/workspace-hub testFor context side-load refreshes:
tools/scripts/generate-context-cache.sh --workspace --run
tools/scripts/generate-context-cache.sh --repo workspace-hub --runFor MCP profile checks:
tools/scripts/install-mcp-profile.sh safe-readonly
tools/scripts/check-mcp-health.sh --profile safe-readonlyUse default-full instead only when the current task needs the broader tool surface.
Use the managed wrappers rather than updating reviewed sources by hand:
tools/scripts/manage-workspace-capabilities.sh list
tools/scripts/manage-workspace-capabilities.sh install
tools/scripts/manage-workspace-capabilities.sh update
tools/scripts/update-github-refs.sh --listMost commands are dry-run by default. Add --run only when you intend to apply the change.
- Mandatory global installs.
- One dependency tree shared by unrelated repos.
- Reading archived docs or generated evidence by default.
- Adding background memory tooling without a separate review.
- Making browser, GitHub, or deep-search tooling part of every routine session.