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".

install
source · Clone the upstream repo
git clone https://github.com/boshu2/agentops
Claude Code · Install into ~/.claude/skills/
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"
manifest: skills-codex/bootstrap/SKILL.md
source content

$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

FlagEffect
--dry-run
Report what would be created without doing anything
--force
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:

StateCondition
bareNo GOALS.md, no PRODUCT.md, no .agents/
partialSome artifacts present, some missing
completeAll 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

ProblemCauseSolution
"Not a git repo"No .git directoryRun
git init
first
Goals step failsNo project contextProvide a one-line project description when prompted
Product step failsNo goals definedRun goals init manually first, then re-run
$bootstrap
Hooks not activatingao CLI not installedInstall:
brew tap boshu2/agentops https://github.com/boshu2/homebrew-agentops && brew install agentops
Want to start overExisting artifacts blockingUse
--force
to recreate all artifacts

See Also

  • ../goals/SKILL.md
    -- Fitness specification and directive management
  • ../product/SKILL.md
    -- Product definition generation
  • ../readme/SKILL.md
    -- README generation
  • ../quickstart/SKILL.md
    -- New user onboarding (lighter than bootstrap)