Agentops bootstrap
One command to full AgentOps product layer. Sets up GOALS.md, PRODUCT.md, README.md, .agents/ structure, and hooks. Progressive -- fills gaps only. Triggers: "bootstrap", "setup agentops", "initialize repo", "full setup".
git clone https://github.com/boshu2/agentops
T=$(mktemp -d) && git clone --depth=1 https://github.com/boshu2/agentops "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills-codex/bootstrap" ~/.claude/skills/boshu2-agentops-bootstrap && rm -rf "$T"
skills-codex/bootstrap/SKILL.md$bootstrap (Codex Native)
Quick Ref: One command to set up the full AgentOps product layer. Progressive -- bare repos get everything, existing repos fill gaps only.
YOU MUST EXECUTE THIS WORKFLOW. Do not just describe it.
Quick Start
$bootstrap
That is it. One command. Every step below is idempotent -- existing artifacts are never overwritten.
Flags
| Flag | Effect |
|---|---|
| Report what would be created without doing anything |
| Recreate artifacts even if they already exist |
Execution Steps
Step 0: Detect Repo State
git rev-parse --is-inside-work-tree >/dev/null 2>&1 || { echo "NOT_A_GIT_REPO"; exit 1; } HAS_GOALS=$([[ -f GOALS.md ]] && echo true || echo false) HAS_PRODUCT=$([[ -f PRODUCT.md ]] && echo true || echo false) HAS_README=$([[ -f README.md ]] && echo true || echo false) HAS_AGENTS=$([[ -d .agents ]] && echo true || echo false) HAS_HOOKS=$(grep -rq "agentops" .git/hooks/ 2>/dev/null && echo true || echo false) HAS_AO=$(command -v ao >/dev/null && echo true || echo false)
Classify the repo:
| State | Condition |
|---|---|
| bare | No GOALS.md, no PRODUCT.md, no .agents/ |
| partial | Some artifacts present, some missing |
| complete | All artifacts present |
If
--dry-run is set: report the state and what would be created, then stop. Do not proceed to Steps 1-6.
If the repo is complete and
--force is not set: report "Repo is fully bootstrapped. Nothing to do." and stop.
Step 1: GOALS.md
If
HAS_GOALS is false (or --force is set):
Run the goals initialization inline. Prompt the user for project purpose, key metrics, and initial directives. Write GOALS.md with:
- Mission statement
- Initial directives (3-5 recommended)
- Fitness thresholds
# Check if ao CLI is available for goals init if command -v ao >/dev/null 2>&1; then ao goals init else # Generate GOALS.md inline from user input echo "# Goals" > GOALS.md echo "" >> GOALS.md echo "## Mission" >> GOALS.md echo "<prompt user for mission>" >> GOALS.md fi
If
HAS_GOALS is true and --force is not set: skip. Report "GOALS.md exists -- skipped."
Step 2: PRODUCT.md
If
HAS_PRODUCT is false (or --force is set):
Run the product definition inline. Interview the user about mission, personas, value props, and competitive landscape. Write PRODUCT.md with filled-in sections.
If
HAS_PRODUCT is true and --force is not set: skip. Report "PRODUCT.md exists -- skipped."
Step 3: README.md
If
HAS_README is false (or --force is set) AND PRODUCT.md now exists:
Generate README.md from PRODUCT.md content. Include: project name, description, installation, usage, contributing section.
If
HAS_README is true and --force is not set: skip. Report "README.md exists -- skipped."
If PRODUCT.md does not exist (Step 2 was skipped or failed): skip. Report "README.md skipped -- PRODUCT.md required first."
Step 4: .agents/ Structure
If
HAS_AGENTS is false (or --force is set):
Create the directory structure:
mkdir -p .agents/learnings .agents/council .agents/research .agents/plans .agents/rpi
Create
.agents/AGENTS.md if it does not exist:
# Agent Knowledge Store This directory contains accumulated knowledge from agent sessions. ## Structure | Directory | Purpose | |-----------|---------| | `learnings/` | Extracted lessons and patterns | | `council/` | Council validation artifacts | | `research/` | Research phase outputs | | `plans/` | Implementation plans | | `rpi/` | RPI execution packets and phase logs | ## Usage Knowledge is automatically managed by the AgentOps flywheel: - `$inject` surfaces relevant prior knowledge at session start - `$post-mortem` extracts and processes new learnings - `$compile` runs maintenance (mine, grow, defrag)
If
HAS_AGENTS is true and --force is not set: skip. Report ".agents/ exists -- skipped."
Step 5: Hook Activation
If
HAS_AO is true AND HAS_HOOKS is false (or --force is set):
ao init --hooks
If
HAS_AO is false: skip. Report "Hooks skipped -- ao CLI not installed. Run: brew tap boshu2/agentops https://github.com/boshu2/homebrew-agentops && brew install agentops"
If
HAS_HOOKS is true and --force is not set: skip. Report "Hooks already configured -- skipped."
Step 6: Report
Output a summary table:
Bootstrap complete. | Artifact | Status | |---------------|---------| | GOALS.md | created / skipped / failed | | PRODUCT.md | created / skipped / failed | | README.md | created / skipped / failed | | .agents/ | created / skipped / failed | | Hooks | activated / skipped / failed | Repo is now AgentOps-ready. Next: $rpi "your first goal"
Troubleshooting
| Problem | Cause | Solution |
|---|---|---|
| "Not a git repo" | No .git directory | Run first |
| Goals step fails | No project context | Provide a one-line project description when prompted |
| Product step fails | No goals defined | Run goals init manually first, then re-run |
| Hooks not activating | ao CLI not installed | Install: |
| Want to start over | Existing artifacts blocking | Use to recreate all artifacts |
See Also
-- Fitness specification and directive management../goals/SKILL.md
-- Product definition generation../product/SKILL.md
-- README generation../readme/SKILL.md
-- New user onboarding (lighter than bootstrap)../quickstart/SKILL.md