Setup

opus fork

Quick reference

FieldValue
Command/brewcode:setup
Arguments[universal-template-path]
Modelopus
Contextfork
ToolsRead, Write, Glob, Grep, Bash, AskUserQuestion

Phase 0: Prerequisites Check

Agent: developer | Action: Verify and install required dependencies

Previously handled by the separate /brewcode:install skill, now integrated into setup.

Components

ComponentTypePurpose
brewrequiredPackage manager
coreutils+timeoutrequiredCommand timeout for scripts
jqrequiredJSON processor for hooks
ollamaoptionalLocal embedding server
bge-m3optionalMultilingual embedding model (~1.2GB)
grepaioptionalSemantic code search CLI

Workflow

  1. State Check — detects installed/missing components
  2. Evaluate — if all required present, skip to Phase 1
  3. Timeout Check + Required Install — creates symlink, installs brew/coreutils/jq if missing
  4. Semantic Search (optional) — offers to install ollama + grepai
  5. Summary — prints final status

Automatic

Phase 0 runs automatically before project analysis. If all prerequisites are already installed, it completes instantly.


Phase 1: Project Structure Analysis

Agent: Explore | Action: Scan project and gather intelligence

Context: BC_PLUGIN_ROOT is available in your context (injected by pre-task.mjs hook).

Scan Commands

EXECUTE using Bash tool — gather project info:

bash "scripts/setup.sh" scan && echo "scan" || echo "scan FAILED"

STOP if FAILED — check script exists and plugin is installed.


Phase 2: Intelligence Analysis

Agent: Plan | Action: Consolidate findings and create adaptation strategy

Create Adaptation Plan

# Adaptation Plan

## Tech Stack
- Language: [Java/Node.js/Python/Go/Rust]
- Framework: [Spring Boot/Express/Django/etc]
- Build: [Maven/Gradle/npm/pip/cargo]

## Testing
- Framework: [JUnit 5/pytest/Jest/Go testing]
- Assertion: [AssertJ/Hamcrest/Chai/assert]
- Mocking: [Mockito/unittest.mock/Sinon]
- Data: [DBRider/Testcontainers/fixtures]

## Database
- Type: [PostgreSQL/MySQL/MongoDB/Redis/ClickHouse]
- Access: [JOOQ/JPA/Hibernate/Sequelize/SQLAlchemy]

## Project Agents
- agent-name: purpose (model)

## Key Patterns (from CLAUDE.md)
- Pattern 1
- Pattern 2
- Pattern 3

## Template Adaptations
- Update AGENTS section with project agents
- Add tech-specific constraints
- Customize verification checklists
- Add database-specific final review agent

Phase 3: Template Generation

Agent: developer | Action: Generate adapted template at .claude/tasks/templates/PLAN.md.template

Create Structure

EXECUTE using Bash tool:

bash "scripts/setup.sh" structure && echo "structure" || echo "structure FAILED"

STOP if FAILED — verify .claude/tasks directory is writable.

Copy/Update Templates

EXECUTE using Bash tool — sync templates from plugin (always overwrites if changed):

bash "scripts/setup.sh" sync && echo "sync" || echo "sync FAILED"

STOP if FAILED — verify plugin templates exist.

Note: Templates synced from plugin. Rules created once (never overwritten). Review skill adapted by AI.

Template Modifications

SectionAdaptation
AgentsAdd project-specific agents from .claude/agents/
Reference ExamplesFill with project’s reference files (controllers, services, tests)
Phase V agentsCustomize reviewer focus for detected testing/code patterns
Final ReviewAdd project agents (db_expert, etc.) if relevant tech detected

Required Sections

Preserve universal structure. Key sections to adapt:

## Agents -- Add project agents above Core Agents
## Reference Examples -- R1..RN with project's canonical files
## Phases -- Each phase has: Agent, Status, Context (C#), Refs (R#)
## Phase NV: Verification -- 2+ agents, one checks patterns compliance
## Final Review -- 3+ agents parallel
## Context Index -- C1..CN task-specific files

Phase 3.5: Copy and Adapt Review Skill

Agent: developer | Action: Copy review skill template and adapt for project

Create Review Skill Directory and Copy Template

EXECUTE using Bash tool — create directory and copy review skill template:

bash "scripts/setup.sh" review && echo "review" || echo "review FAILED"

STOP if FAILED — verify review template exists in plugin.

Adapt Review Skill

Replace placeholders based on Phase 2 analysis:

PlaceholderSourceExample
{PROJECT_AGENTS_TABLE}.claude/agents/ scan| db_expert | PostgreSQL | DB layer |
{TECH_SPECIFIC_CHECKS}Detected tech stackSee Tech-Specific Checks below
{PROJECT_RULES}CLAUDE.md patternsAssertJ rules, Lombok, logging
{MAIN_AGENT}Project agent or reviewerreviewer
{TEST_AGENT}Project agent or testertester
{DB_AGENT}Project agent or sql_expertdb_expert
{CUSTOM_GROUPS}Additional review groupsSecurity, API validation
{CODEBASE_BLOCKS}Detected source patternssrc/main/**, src/test/**

Tech-Specific Checks Templates

Java/Spring:

CategoryChecks
DIConstructor injection, no field injection, @RequiredArgsConstructor
Transactions@Transactional scope, rollback rules, isolation levels
Null-safetyOptional usage, @NonNull/@Nullable, null checks
N+1Eager vs lazy loading, batch fetching, entity graphs
Security@PreAuthorize, input validation, SQL injection
Lombok@Value, @Builder, @Slf4j usage

Node.js/TypeScript:

CategoryChecks
AsyncPromise handling, unhandled rejections, async/await
TypesStrict null checks, type guards, generics
ValidationInput sanitization, schema validation (Zod/Joi)
SecurityXSS prevention, CSRF tokens, helmet.js
ImportsESM vs CJS, barrel exports, circular deps

Python:

CategoryChecks
Type hintsFunction signatures, return types, generics
ExceptionsSpecific exception types, context managers
Asyncasyncio patterns, event loop handling
SecuritySQL parameterization, input validation
StylePEP8, docstrings, comprehensions

Go:

CategoryChecks
Error handlingError wrapping, sentinel errors, error types
ConcurrencyGoroutine leaks, channel patterns, sync primitives
MemorySlice capacity, pointer semantics, defer usage
SecuritySQL injection, input validation
InterfacesSmall interfaces, composition

Validation

EXECUTE using Bash tool — verify review skill:

test -f .claude/skills/brewcode-review/SKILL.md && echo "Review skill created" || echo "Review skill MISSING"
grep -q "Tech-Specific\|tech-specific\|Category.*Checks" .claude/skills/brewcode-review/SKILL.md && echo "Tech checks" || echo "Tech checks MISSING"

STOP if any MISSING — review skill must be created before continuing.


Phase 3.6: Copy Configuration

Agent: developer | Action: Copy configuration template for runtime settings

EXECUTE using Bash tool — copy/update config template:

bash "scripts/setup.sh" config && echo "config" || echo "config FAILED"

STOP if FAILED — verify .claude/tasks/cfg directory exists.

Configuration Options

SettingDefaultDescription
knowledge.maxEntries100Max KNOWLEDGE.jsonl entries after compaction
knowledge.maxTokens500Max tokens in ## K block injected to agents
knowledge.priorities["❌","✅","ℹ️"]Priority order for knowledge entries
stop.maxAttempts20Stop attempts before escape mechanism triggers
agents.system[…]System agents (don’t receive ## K injection)

Hooks-only architecture: No external runtime. All context management via Claude Code hooks.


Phase 4: Validation

Agent: developer | Action: Verify template structure

EXECUTE using Bash tool — ALL must pass:

bash "scripts/setup.sh" validate && echo "validate" || echo "validate FAILED"

STOP if any FAILED — go back to “Copy Templates” step and fix.

Validation Report

CheckStatus
PLAN template.claude/tasks/templates/PLAN.md.template
SPEC template.claude/tasks/templates/SPEC.md.template
KNOWLEDGE template.claude/tasks/templates/KNOWLEDGE.jsonl.template
Config file.claude/tasks/cfg/brewcode.config.json
Project agents[N] from .claude/agents/
Reference Examples[N] canonical files populated
Tech-specific adaptationsTesting framework, DB patterns
Review skill.claude/skills/brewcode-review/SKILL.md

Phase 5: Update Global CLAUDE.md Agents

Agent: developer | Action: Update agents section in global CLAUDE.md

Step 1: Collect Agents

EXECUTE using Bash tool:

bash "scripts/setup.sh" agents > /tmp/agents-section.md && cat /tmp/agents-section.md

Output = Ready-to-insert content. Script collects system + global + plugin agents. Internal agents (bc-coordinator, bc-grepai-configurator, bc-knowledge-manager) are automatically excluded.

Step 2: Analyze Existing CLAUDE.md

READ ~/.claude/CLAUDE.md using Read tool.

LLM Analysis — find ALL agent-related sections:

  • ## Agents, ## Agent Selection, ### Core Agents, ### Global Utility Agents
  • Any tables with columns like Agent | Model | Purpose
  • Any lists of agent names (developer, tester, reviewer, etc.)

Identify boundaries:

  • Start line number of agent section(s)
  • End line number (before next unrelated ## heading)

Step 3: Ask User

ASK USER with AskUserQuestion:

  • Question: “Found agent sections in ~/.claude/CLAUDE.md. Replace with optimized LLM-friendly format?”
  • Options:
    • “Yes — replace all agent sections”
    • “No — keep current format”

Step 4: If YES — Replace

CRITICAL: Use EXACTLY the content from /tmp/agents-section.md. DO NOT add agents manually — the script already filters internal agents. Internal agents (bc-coordinator, bc-grepai-configurator, bc-knowledge-manager) are excluded by design.

Using Edit tool:

  1. Read /tmp/agents-section.md to get the exact replacement content
  2. Find the ## Agents -- DELEGATE! section in ~/.claude/CLAUDE.md
  3. Replace that section with the EXACT content from /tmp/agents-section.md
  4. Preserve ### Global Skills subsection if it exists (append after agents table)
  5. Preserve all non-agent content

Key: LLM determines section boundaries, not grep. Content comes from script output.


Output Format

# Template Adaptation Complete

## Detection

| Field | Value |
|-------|-------|
| Arguments | `{received args or empty}` |
| Mode | `full` |

## Tech Stack

| Category | Value |
|----------|-------|
| Language | [detected] |
| Framework | [detected] |
| Testing | [framework] |
| Database | [type/access] |
| Project Agents | [N]: `agent1`, `agent2` |

## Adaptations

| Section | Changes |
|---------|---------|
| Agents | +[N] project agents |
| Reference Examples | [N] canonical files |
| Phase V | Reviewers for [tech] patterns |
| Final Review | +[db_expert/project agents] |
| Review Skill | Tech-specific checks, project rules |

## Templates

**Plan template:** `.claude/tasks/templates/PLAN.md.template`
**Review skill:** `.claude/skills/brewcode-review/SKILL.md`

## Usage

/brewcode:spec "Implement feature X"
/brewcode:review "Check null safety"