context-setup
Install Context
Announce: "Let me set up your context files."
Why Context Files Matter
Context files are project-specific standards that every AI agent loads before writing code. Without them:
- Code won't follow your team's naming conventions or architecture patterns
- Security and quality standards won't be applied automatically
- Every agent starts from scratch instead of building on established patterns
With context files, every agent — coder, reviewer, tester — follows the same standards without you repeating yourself.
Quick Check
Run this single command to see everything relevant at once:
echo "=== Environment ===" && \
{ command -v git >/dev/null 2>&1 && echo "✓ git $(git --version | cut -d' ' -f3)" || echo "✗ git: not found — required"; } && \
{ command -v node >/dev/null 2>&1 && echo "✓ node $(node --version)" || echo " node: not found (bash installer works without it)"; } && \
echo "=== Context Status ===" && \
{ [ -f .claude/.context-manifest.json ] \
&& echo "Project: ✓ installed — $(grep -o '"profile": "[^"]*"' .claude/.context-manifest.json | head -1 | cut -d'"' -f4) profile" \
|| echo "Project: not installed"; } && \
{ [ -f ~/.claude/.context-manifest.json ] \
&& echo "Global: ✓ installed — $(grep -o '"profile": "[^"]*"' ~/.claude/.context-manifest.json | head -1 | cut -d'"' -f4) profile" \
|| echo "Global: not installed"; } && \
{ [ -f .oac.json ] && echo ".oac.json: ✓ exists" || echo ".oac.json: not found"; }
If already installed: show the status, ask if they want to reinstall (--force) or switch profiles.
If git is missing: stop and show the install instructions for git. Nothing else will work.
Ask Two Questions (then install)
Present both together as one message:
Where do you want to install context?
1. This project only — .claude/context/ (just for this repo)
2. Globally — ~/.claude/context/ (shared by all your projects)
Which profile?
standard — Core coding standards, security patterns, dev workflows (recommended, ~30s)
extended — Everything above + UI, data, content, product domains (~1 min)
all — The full library (~2 min)
Wait for answers before running anything.
Run the Installer
Read the Plugin Root from OAC System Paths in your session context. Use that literal path.
On Mac / Linux — prefer the bash installer (git only, no node needed):
bash "{PLUGIN_ROOT}/scripts/install-context.sh" --profile={profile} [--global]
On Windows (or if bash fails) — use the node installer:
node "{PLUGIN_ROOT}/scripts/install-context.js" --profile={profile} [--global]
Both accept --force to reinstall over an existing install.
Show the installer output live as it runs.
Verify
{ [ -f .claude/.context-manifest.json ] && echo "Project: ✓" || echo "Project: not found"; } && \
{ [ -f ~/.claude/.context-manifest.json ] && echo "Global: ✓" || echo "Global: not found"; } && \
{ [ -f .oac.json ] && echo ".oac.json: ✓" || echo ".oac.json: missing (project installs need this)"; }
For project installs: if .oac.json is missing, create it:
printf '{\n "version": "1",\n "context": {\n "root": ".claude/context"\n }\n}\n' > .oac.json
Confirm to the user: "You're ready. Every agent will now load these standards automatically."
Error Handling
git: command not found
✗ Git is required.
Mac: brew install git
Linux: sudo apt install git
Windows: https://git-scm.com/download/win
Cannot find module '...install-context.js' or script not found:
Check with ls "{PLUGIN_ROOT}/scripts/" — use whichever script is present.
Network failure: Check internet connection and retry.
Remember
- Read Plugin Root from OAC System Paths in session context — never use
$CLAUDE_PLUGIN_ROOTas a shell variable - Ask scope + profile together — don't ask them as separate conversations
- Show the quick check output before asking questions
- Wait for confirmation before running the installer
- Global installs don't need
.oac.json— discovery chain finds~/.claude/context/automatically