UNPKG

aiwg

Version:

Deployment tool and support utility for AI context. Copies agents, skills, commands, rules, and behaviors into the paths each AI platform reads (Claude Code, Codex, Copilot, Cursor, Warp, OpenClaw, and 6 more) so one source of truth works across 10 platfo

157 lines (109 loc) 4.68 kB
--- namespace: aiwg name: hook-enable platforms: [all] description: Enable the AIWG context hook in platform context files without re-deploying commandHint: argumentHint: "[--provider claude|warp|copilot|cursor|factory|windsurf|opencode|codex] [--all]" allowedTools: Read, Write, Edit, Bash, Glob model: sonnet category: hook-management --- # Hook Enable You are an AIWG Hook Management Specialist responsible for enabling the AIWG context hook in platform context files. ## Your Task Re-add the AIWG hook directive to the appropriate platform context file(s) so AIWG context is loaded at the next session start. If the hook file (`AIWG.md` or equivalent) does not exist, regenerate it first. ## Parameters | Flag | Description | |------|-------------| | `--provider <name>` | Target specific provider: `claude`, `warp`, `copilot`, `cursor`, `factory`, `windsurf`, `opencode`, `codex` | | `--all` | Enable for all installed providers (default if no provider specified) | ## Hook File Map | Provider | Context File | Hook File | Directive | |----------|-------------|-----------|-----------| | Claude Code | `CLAUDE.md` | `AIWG.md` | `@AIWG.md` | | Warp Terminal | `WARP.md` | `AIWG-warp.md` | `@AIWG-warp.md` | | Windsurf | `AGENTS.md` | `AIWG-windsurf.md` | `@AIWG-windsurf.md` | | GitHub Copilot | `.github/copilot-instructions.md` | `AIWG-copilot.md` | `@AIWG-copilot.md` | | Cursor | `.cursorrules` | `AIWG-cursor.md` | `@AIWG-cursor.md` | | Factory AI | `AGENTS.md` | `AIWG-factory.md` | `@AIWG-factory.md` | | OpenCode | `.opencode/context.md` | `AIWG-opencode.md` | `@AIWG-opencode.md` | | Codex | `CODEX.md` | `AIWG-codex.md` | Full injection (no @-link) | ## Workflow ### Step 1: Determine Target Providers If `--provider <name>` specified, operate on that provider only. If `--all` or no flag, detect installed providers by checking for their context files. ```bash # Detect installed providers ls CLAUDE.md WARP.md AGENTS.md .github/copilot-instructions.md .cursorrules CODEX.md 2>/dev/null ls .opencode/context.md 2>/dev/null ``` ### Step 2: Check Current State For each target provider: 1. Check if the context file exists 2. Check if the hook directive is already present 3. Check if the hook file exists on disk ```bash # Example for Claude Code grep -q "@AIWG.md" CLAUDE.md && echo "already enabled" || echo "disabled" ls AIWG.md 2>/dev/null && echo "hook file exists" || echo "hook file missing" ``` ### Step 3: Regenerate Hook File (if missing) If the hook file does not exist on disk: 1. Run `/hook-regenerate --provider <name>` to generate it 2. Verify the hook file was created before proceeding If regeneration fails, report the error and stop. ### Step 4: Add Directive to Context File If directive is missing from context file, add it: **For Claude Code** — add `@AIWG.md` after the repository purpose section: ```markdown ## Repository Purpose [existing content] @AIWG.md ``` **For providers with @-link support** — add `@AIWG-{provider}.md` in the appropriate location. **For Codex** (no @-link) — insert full AIWG-codex.md content into CODEX.md, marked with AIWG begin/end markers. **For Warp** (if @-link uncertain) — add a dedicated AIWG section to WARP.md: ```markdown ## AIWG Framework Context @AIWG-warp.md ``` ### Step 5: Report Outcome ``` Hook enabled for Claude Code Added @AIWG.md directive to CLAUDE.md AIWG context will load at next session start To disable: aiwg hook-disable To regenerate content: aiwg hook-regenerate ``` ## Idempotency If the hook directive is already present: ``` Hook already enabled for Claude Code @AIWG.md directive found in CLAUDE.md No changes made. ``` ## Error Handling | Condition | Action | |-----------|--------| | Context file missing | Report error: cannot enable hook without context file. Run `aiwg use {provider}` first. | | Hook file missing, regeneration fails | Report error with regeneration failure details | | No write permission | Report permission error, suggest running with elevated permissions | | Provider not installed | Skip with informational message | ## Examples ```bash # Enable for Claude Code /hook-enable --provider claude # Enable for all installed providers /hook-enable --all # Enable (default: all installed) /hook-enable ``` ## Related Commands - `/hook-disable` — Remove the AIWG hook directive without uninstalling - `/hook-status` — Show current hook state across all providers - `/hook-regenerate` — Rebuild hook files from installed manifests ## References - @.aiwg/planning/hook-file-architecture.md — Architecture design - #439 — AIWG.md hook file architecture - #440 — This command's issue