New skill: /brewcode:glm-design-to-code — GLM vision model-powered design-to-code generator with 4 input types (screenshots, text descriptions, HTML files, URLs), 3 modes (CREATE/REVIEW/FIX), 3 frameworks (HTML/CSS, React 18, Flutter Web), 3 quality profiles, dual provider support (Z.ai + OpenRouter). Includes: SKILL.md, 6 pipeline scripts, 7 reference prompts, 2 specialist agents, full docs site page with benchmarks, plugin README/commands updates, navigation integration.
85 KiB
Release Notes
v3.4.22 (2026-04-03)
brewcode
Added
- New skill:
glm-design-to-code— GLM vision model-powered design-to-code generator- Three modes: CREATE (any input to code: screenshots, text descriptions, HTML, URLs), REVIEW (compare original vs result), FIX (apply feedback)
- Supports HTML/CSS, React 18, Flutter Web, custom frameworks
- Three quality profiles: maximum (pixel-perfect), optimal (balanced), efficient (fast)
- Dual provider support: Z.ai (direct) and OpenRouter
- Full pipeline: argument parsing, API key setup, payload build, API request, file extraction, build, verification
- Scripts: parse-args.sh, glm-build-request.sh, glm-build-text-request.sh, glm-request.sh, glm-extract.sh, glm-verify.sh
- Updated agents:
glm-zai-specialist,glm-openrouter-specialist— migrated script paths to plugin directory
v3.4.21 (2026-04-03)
docs
Added
/brewdoc:guidedocs page — guide.mdx with 9 topics, 3 domains, progress tracking, environment health check- Updated brewdoc overview.mdx: 6 skills, guide card + command row + directory tree entry
- Updated navigation.ts: guide link in Brewdoc section
v3.4.20 (2026-04-02)
brewdoc
Added
/brewdoc:guideskill — interactive teaching skill for the brewcode plugin suite: 9 topics across 3 domains (Getting Started, Core Workflow, Mastery), haiku-powered, progress tracking with JSON persistence, multilingual (EN/RU/PT), environment validation, section-by-section delivery with AskUserQuestion navigation- Guide scripts —
validate.sh(docs site, GitHub releases, installed versions, auto-update status),progress.sh(CRUD for guide progress JSON at~/.claude/brewdoc/) - 11 reference files — welcome banner + menu, ASCII architecture diagrams, 9 topic files covering all 22+ skills, 14+ agents, 9 hooks, killer flow pipeline, dynamic teams, customization, project integration, and power features
v3.4.19 (2026-04-02)
brewcode
Added
/brewcode:e2eskill — full-cycle E2E testing orchestration: 6 modes (setup, create, update, review, rules, status), 5 runtime agents created via agent-creator, BDD scenarios with YAML frontmatter, layered test architecture (stack-agnostic), quorum review (3 reviewers, 2/3 consensus), MAX_CYCLES=3 review loops- E2E references —
e2e-rules.md(24 rules, 6 categories),e2e-architecture.md(layered diagram + 4-stack mapping),agent-template.md(Rules Loading + Self-Check protocols), 6 mode flow files detect-mode.sh— POSIX sh argument parser for e2e skill (6 keywords, smart default: status if agents exist, setup otherwise)
docs
Updated
- New
/brewcode/skills/e2edocs page with modes, agents, architecture, quorum review - Updated skills.mdx (13 skills), overview.mdx (13 skills, e2e in directory tree + Components), navigation.ts
v3.4.17 (2026-04-02)
brewpage-publish
Fixed
- Security: W007 Insecure Credential Handling — ownerToken no longer appears in conversation output; curl + jq parsing + history save now execute atomically inside a single bash block; LLM only sees the published URL; password column removed from history table
v3.4.16 (2026-04-02)
brewcode
Changed
- Merged
/brewcode:installinto/brewcode:setup— prerequisites check (brew, coreutils, jq, grepai) now runs automatically as Phase 0 before project analysis; if all required tools are present, Phase 0 is skipped silently; interactive prompts via AskUserQuestion for missing components and optional grepai install
Removed
/brewcode:installskill — deleted; all functionality absorbed by/brewcode:setupPhase 0
v3.4.15 (2026-04-02)
brewcode
Changed
- Teams: session-scoped trace system — replaced 3 Markdown files (
tracking.md,issues.md,insights.md) with singletrace.jsonl; write viatrace-ops.sh add(Bash append, ~96% token savings vs Edit); cursor-based incremental reads forupdatemode trace-ops.sh— new POSIX sh utility:add(JSONL append),read(jq/grep filter),cursor(incremental bookmark),migrate(Markdown-to-JSONL conversion with.bakbackup)- SID injection in
pre-task.mjs— session ID (8 chars) auto-injected into all agent prompts when.claude/teams/exists verify-team.sh— checkstrace.jsonlinstead of 3 MD files; detects legacy files and suggests migration
v3.4.14 (2026-04-02)
brewcode
Added
/brewcode:teams— new skill: creates and manages dynamic teams of domain-specific agents; modes:create,update,status,cleanup; generates agent roster with tracking framework in.claude/teams/- Mode Switcher — skills can toggle persistent session-level behavioral modes via
brewcode.state.json; hooks inject mode instructions on every event (forced-eval.mjs,session-start.mjs,pre-task.mjs) getActiveMode()utility inhooks/lib/utils.mjs— reads active mode and loads instructions frommodes/{name}.mdbrewcode/modes/directory — mode instruction files; ships withmanager.mddefault- Mode Switcher design pattern added to
skill-creatoragent andhook-creatoragent - Step 2.5 in
/brewcode:skills create— auto-detects mode-switching intent and suggests Mode Switcher pattern - Dynamic Agent Resolution in
/brewcode:plan— checks.claude/teams/roster before plugin agents; priority: team > project > plugin > system
Changed
hook-creatoragent: updated to Claude Code v2.1.89+ — addedPermissionDeniedevent (26 events total),defersupport in PreToolUse,retryresponse for PermissionDenied
brewtools
Added
- NEW plugin — universal text utilities extracted from brewcode
- Skills:
text-optimize,text-human,secrets-scan - Agent:
text-optimizer BT_PLUGIN_ROOTinjected by SessionStart hook- Install:
claude plugin install brewtools@claude-brewcode
brewcode (removed)
text-optimize,text-human,secrets-scanskills — moved to brewtoolstext-optimizeragent — moved to brewtools- Fallback added to
convention/SKILL.mdP5 when brewtools not installed
v3.4.13 (2026-04-01)
docs
Fixed
- Steps timeline layout on publish docs page
v3.4.12 (2026-03-31)
docs
Fixed
- Steps alignment on brewpage/publish page — removed Badge tags and div wrappers
v3.4.11 (2026-03-31)
brewdoc
Added
- brewpage skill — publish text, markdown, JSON, or files to brewpage.app; interactive namespace + password selection; owner token saved to
.claude/brewpage-history.md; model: haiku
skills (marketplace)
Added
- brewpage skill — standalone marketplace skill with advertising footer; same functionality as brewdoc:brewpage
docs
Added
- brewdoc/brewpage docs page — full documentation with Steps, content-type table, namespace/password sections, owner token & history
- brewpage.app link and Callout on the brewpage docs page
Changed
- brewdoc overview updated: 5 skills, brewpage card, command row
v3.4.10 (2026-03-31)
brewcode
Added
- 15 individual skill pages -- full content from SKILL.md sources (setup, spec, plan, start, convention, rules, grepai, install, teardown, text-optimize, text-human, standards-review, skills, agents, secrets-scan)
- 13 individual agent pages -- full system prompt content (developer, tester, reviewer, architect, skill-creator, agent-creator, hook-creator, text-optimizer, bash-expert, bc-coordinator, bc-knowledge-manager, bc-grepai-configurator, bc-rules-organizer)
- permission-guard hook documented in hooks page (9th hook)
brewdoc
Added
- my-claude dedicated page -- moved from inline section in overview to standalone page
docs
Changed
- Collapsible sidebar -- Skills (15) and Agents (13) groups with
<details>/<summary>, auto-expand on current page - Index pages -- skills.mdx and agents.mdx converted from Tabs to CardGrid links
- Site expanded from 12 to 41 content pages (29 new)
v3.4.9 (2026-03-31)
brewcode
Changed
- hook-creator agent -- synced with HOOKS-REFERENCE: 14 to 25 events, version history, lifecycle diagrams, channel reliability matrix, expanded matcher patterns, output schemas, async recommendations
- agent-creator agent -- synced with AGENT-REFERENCE: added
initialPrompt,isolation,mcpServers,color,memoryfields; 10 bugs table; version history; architectural limitations; expanded validation checklist (6 to 12 items); debugging section - skill-creator agent -- synced with SKILL-REFERENCE: 10 bugs table; version history;
effortmax value;CLAUDE_SKILL_DIRversion fix (v2.1.69 to v2.1.71); 250-char description truncation;oncefield; architectural limitations - permission-guard hook -- added Bash tool to PermissionRequest matcher; network/dangerous command blocklist; restricted
rmto safe dirs; added.claude/tmp/,/tmp/,/private/tmp/to allowed paths
Added
- Reference auto-sync dependents --
dependentsfield in reference frontmatter for cascading updates to creator agents - Downstream tracking -- each reference document now lists dependent plugin artifacts
v3.4.8 (2026-03-30)
brewcode
Added
- permission-guard hook -- PermissionRequest hook auto-allows Edit/Write for project
.claude/subdirectories (tasks, reports, rules, skills, scripts, agents, hooks, private, convention, plans, settings, TASK.md, CLAUDE.md). Global~/.claude/excluded - forced-eval hook -- added
[DELEGATE]manager reminder to UserPromptSubmit alongside existing skill check
v3.4.6 (2026-03-13)
brewdoc
Changed
- memory skill — support for
autoMemoryDirectoryfrom.claude/settings.jsoninstead of hardcoded legacy path
Other
.gitignore— added.claude/memory/
v3.4.5 (2026-03-12)
brewcode
Changed
- skill-creator agent — added Skill Design Patterns section: Progressive Disclosure, Reference Splitting, Agents-as-References, Dynamic Context, Context Fork, Executable Bash, Skill Chaining, Background Knowledge, Pushy Description, Preloaded Skills
v3.4.4 (2026-03-06)
brewcode
Fixed
- Silent remote version check failure -- no message shown when GitHub API check times out (previously showed "(remote check failed)")
v3.4.2 (2026-03-05)
Main changes in v3.4.0.
brewcode
Added
- Claude Code version check -- session-start hook also checks npm registry for newer Claude Code CLI version
- Version notifications in UI -- update messages now shown in
systemMessage(visible to user), not justadditionalContext
Changed
- Version checks run in parallel -- brewcode + Claude Code checks via
Promise.allfor minimal latency - Regex version parsing --
claude -voutput parsed with\d+\.\d+\.\d+regex instead of split
v3.4.1 (2026-03-05)
Patch release. Main changes in v3.4.0.
brewcode
Fixed
- CI workflows -- codeql, semgrep, gitleaks now run only on branch push/PR, not on version tags
v3.4.0 (2026-03-05)
brewcode
Added
- Version check on session start --
session-start.mjschecks GitHub latest release; shows update notification if newer version available, fallback link on timeout/error
Changed
- Skills migrated to
${CLAUDE_SKILL_DIR}-- convention, grepai, install, rules, teardown skills now use${CLAUDE_SKILL_DIR}/scripts/...instead of relativescripts/...paths - skill-creator agent -- documented
${CLAUDE_SKILL_DIR}variable, updated resource path resolution section, added common mistakes - bash-expert agent -- updated plugin path guidance to distinguish
${CLAUDE_SKILL_DIR}(skills) vs$BC_PLUGIN_ROOT(agents) - hooks.md -- updated path resolution table with
${CLAUDE_SKILL_DIR}context
Fixed
- pre-task.mjs -- grepai detection now checks
index.gobexistence, not just.grepai/directory
v3.3.2 (2026-03-05)
brewcode
Added
- brewcode:convention skill -- Deep project analyzer that extracts etalon classes, patterns, and architecture by layer
- 4 modes:
full,conventions,rules,paths <p1,p2> - 20-layer analysis framework (14 main + 6 test) with multi-stack support
- 10 parallel agents for layer analysis → etalon selection → 3 convention docs generation
- Interactive rules extraction with batched AskUserQuestion flow
- CLAUDE.md update with etalon quick-reference table
- POSIX-compliant
convention.shscript for stack detection, scanning, validation
- 4 modes:
- brewcode:agents skill -- Interactive agent creation and improvement orchestrator
- Create mode: 3-question interactive setup (scope, model, CLAUDE.md update)
- Improve mode: improve existing agent by name or path
- Delegates to
agent-creatoragent for quality agent generation - Applies
text-optimizeafter creation/improvement - Optional CLAUDE.md agents table update
- bump-version.sh -- Single command to bump version across all 4 JSON files
Changed
- Updated CLAUDE.md: Version Sync section now uses
bump-version.sh, Update flow includes CLI commands
Fixed
- release.yml --
git branch --containsunreliable on detached HEAD; replaced withgit merge-base --is-ancestor - gitleaks.yml -- SARIF upload/artifact steps now skip when
results.sarifnot produced convention.sh: dotnet monorepo module detection (.sln/.csprojinhas_build_file())
brewdoc
Changed
- session-start hook removed -- brewdoc no longer injects
BD_PLUGIN_ROOTat session start - pre-task hook retained --
BD_PLUGIN_ROOTstill injected into subagent prompts forbd-auto-sync-processor - Skills use relative paths --
my-claudeuses plain relative paths;md-to-pdfandauto-syncbash commands use${CLAUDE_SKILL_DIR} - Updated
docs/hooks.md: rewritten to reflect 1 hook (was 2) - Updated
README.md,docs/commands.md: removed staleBD_PLUGIN_ROOTreferences - Version unified with brewcode suite (was 1.1.1)
Fixed
- AskUserQuestion compliance --
skills/my-claude/SKILL.md: addedAskUserQuestiontoallowed-tools, INDEX update prompt rewritten with explicit header/question/options
v3.0.2 (2026-02-28)
brewcode
Fixed
- AskUserQuestion compliance -- Added
AskUserQuestiontoallowed-tools/toolsin all files that require user interactionskills/text-human/SKILL.md-- missing tool + explicit instructions at lines 31, 35skills/grepai/SKILL.md-- missing tool + Mode: prompt rewritten with 4-option AskUserQuestionskills/start/SKILL.md-- missing tool in escalation path (3 fails)skills/skills/SKILL.md--createmode now asks invocation type before spawning skill-creatoragents/skill-creator.md-- clarified foreground-only context for AskUserQuestionagents/agent-creator.md-- missing tool added totools:
v3.0.1 (2026-02-28) -- Failure Path & Deadlock Fixes
brewcode
Fixed
- post-task.mjs -- branched success/failure messages: on failure, instructs retry/escalate instead of "write report + call coordinator" (P1-1 critical)
- start/SKILL.md -- failure cascade to transitive dependents when escalation exhausted; deadlock detection safety net in execution loop (P1-2 critical)
- start/SKILL.md -- persist failure to KNOWLEDGE.jsonl before retry for post-compact context (P1-3 critical)
- start/SKILL.md -- fixed "ISSUES_TABLE from coordinator output" -> "from verification report" (P1-4)
- stop.mjs -- catch block no longer deletes lock on transient error; preserves lock for recovery (P1-5)
- bc-coordinator.md, PLAN.md.template -- documented Task API as source of truth; fixed misleading terminal status docs (P1-6)
- start/SKILL.md -- added is_error guard for coordinator call: log warning, proceed to TaskUpdate (P1-7)
- start/SKILL.md -- moved phase-to-TaskID mapping from NOTE to explicit Sub-step 4a (P1-8)
- stop.mjs -- added defense-in-depth comment for redundant validateTaskPath (P1-9)
- pre-compact.mjs -- changed artifact validation log level from warn -> debug with "(agent may still be executing)" (P1-10)
- pre-compact.mjs -- fixed terminal status check:
=== 'finished'->TERMINAL_STATUSES.has()(regression fix from review) - bc-coordinator.md -- finalize mode now accepts
statusparameter ("finished" default, "failed" for deadlock/cascade)
Updated Files
brewcode/hooks/post-task.mjsbrewcode/hooks/stop.mjsbrewcode/hooks/pre-compact.mjsbrewcode/agents/bc-coordinator.mdbrewcode/skills/start/SKILL.mdbrewcode/skills/setup/templates/PLAN.md.template
v3.0.0 (2026-02-28) -- Task API Architecture
brewcode
Breaking Changes
- PLAN.md format -- new 3-line header (status, current_phase, total_phases)
- Phase details -- moved from inline PLAN.md to
phases/directory - Re-run
/brewcode:setupto get new templates
Added
- Task API integration -- TaskCreate/TaskUpdate/TaskList for phase management
phases/directory -- individual phase files for agents (1-research.md,1V-verify-research.md,FR-final-review.md, etc.)- Phase Registry table -- slim overview in PLAN.md for manager (replaces inline phase details)
- Parallel execution -- tasks in same Parallel group spawn simultaneously via multiple TaskCreate calls
- Lighter coordinator -- bc-coordinator now handles knowledge extraction + report verification only
- Fix phase protocol -- automatic
{N}F-fix-{name}.mdfile generation on verification failure phase.md.template-- execution phase templatephase-verify.md.template-- verification phase templatephase-fix.md.template-- fix phase template (dynamic)phase-final-review.md.template-- final review template
Changed
- pre-task.mjs -- v3 task context injection (phase file reminder for agents)
- post-task.mjs -- Task API instructions for manager
- pre-compact.mjs -- v3-aware handoff message
- session-start.mjs -- Task API reminder on active v3 task
- plan/SKILL.md -- generates
phases/directory alongside slim PLAN.md - start/SKILL.md -- uses Task API instead of reading phases inline; manager never reads
phases/files - docs/commands.md -- updated plan and start sections for v3
- docs/file-tree.md -- added
phases/directory to task structure - README.md -- v3 flow description, updated task structure
Backward Compatibility
- v2 tasks continue working (parseTask fallback, hooks detect v3 via
phases/directory presence) - No changes to: SPEC skill, KNOWLEDGE format, grepai hooks, review skill, teardown skill
v2.16.4 (2026-02-28)
brewcode
Added
- bc-knowledge-manager -- new
prune-rulesmode: removes avoids/best-practice entries from KNOWLEDGE.jsonl after export to rules, leaves only info entries - start/SKILL.md -- Step 5 (Complete): added mandatory
bc-knowledge-managercall withprune-rulesmode afterbrewcode:rules
Changed
- docs/flow.md -- added section g) KNOWLEDGE Pipeline with full lifecycle diagram
- docs/commands.md --
/brewcode:startsection supplemented with "KNOWLEDGE -> Rules (automatic)" subsection - skills/start/README.md -- steps 7-8 describe actualization and cleanup of KNOWLEDGE
- README.md (root) -- "Knowledge lifecycle" section describes accumulation and conversion of KNOWLEDGE
v2.16.3 (2026-02-28)
brewcode
Added
- standards-review SKILL.md -- Phase 0: asks user via
AskUserQuestionbefore analysis -- whether to run/simplifyat the end or not - standards-review SKILL.md -- Phase 7: conditional
Skill(simplify)invocation after report if user chose "Yes" - standards-review SKILL.md -- added
AskUserQuestionandSkilltoallowed-tools
v2.16.2 (2026-02-28)
brewcode
Fixed
- spec SKILL.md -- Feature Splitting Check now numbered as step 2.5 in the ordered workflow instead of a floating section
- spec SKILL.md -- reviewer loop capped at MAX 3 iterations with user escalation
- SPEC-creation.md -- added Scope row to Consolidation Rules table
- SPEC-creation.md -- fixed timing estimate from "3 turns" to "5-8 turns depending on review iterations"
- SPEC-creation.md -- fixed
Task(agent=...)toTask(subagent_type=...)for Claude Code Task tool API consistency - plan SKILL.md -- fixed
subagent_type="reviewer"tosubagent_type="brewcode:reviewer"in traceability check (Step 7) - plan SKILL.md -- added Lightweight Plan Review step (2 agents, 2/2 consensus) to Plan Mode workflow
- plan SKILL.md -- clarified KNOWLEDGE.jsonl creation as 0-byte empty file with explicit
touchcommand - plan SKILL.md -- added gap remediation instruction after traceability check (Step 7)
v2.16.1 (2026-02-28)
brewcode
Added
- SPEC.md.template -- added Success Metrics, Non-Functional Requirements, and Acceptance Criteria sections
- Success Metrics: measurable targets with how-to-measure column
- NFR: Performance, Security, Scalability, Reliability with specific targets
- Acceptance Criteria: Given/When/Then format for verifiable conditions
- spec SKILL.md -- enhanced requirements gathering and feature splitting
- Expanded from 1-4 to 3-7 questions, batched up to 4 per AskUserQuestion call
- 5 mandatory question categories: Scope, NFR, Acceptance Criteria, Constraints, Edge cases
- Feature Splitting Check: auto-suggests task split when scope >3 areas or >12 phases
- Added NFR/Quality row to partition research areas table
- SPEC-creation.md -- added NFR category, AC consolidation guidance, updated example partition
- PLAN.md.template -- added Technology Choices section (decision, rationale, alternatives)
- plan SKILL.md -- improved quorum review and traceability
- Mixed quorum: Plan + architect + reviewer (replaces 3x Plan agents)
- Technology Choices substep (5.5) for documenting non-trivial decisions
- Traceability check: Scope items, Acceptance Criteria, NFR all mapped to phases
Updated Files
| File | Change |
|---|---|
skills/setup/templates/SPEC.md.template |
+3 sections: Success Metrics, NFR, Acceptance Criteria |
skills/spec/SKILL.md |
Enhanced questions, feature splitting, NFR/Quality area |
skills/spec/references/SPEC-creation.md |
NFR category, AC guidance, updated example |
skills/plan/SKILL.md |
Mixed quorum, tech choices step, traceability |
skills/setup/templates/PLAN.md.template |
+Technology Choices section |
plugin.json |
Version 2.16.0 -> 2.16.1 |
v2.16.0 (2026-02-28)
brewcode
Removed
brewcode:auto-syncskill -- moved to dedicatedbrewdocpluginbd-auto-sync-processoragent -- moved tobrewdocplugin
Notes
- Users of
/brewcode:auto-syncshould installbrewdocplugin and use/brewdoc:auto-sync
brewdoc
New Skills
brewdoc:md-to-pdf-- Markdown to PDF converter with dual engine support (reportlab/weasyprint), style customization, test mode, dependency management
Initial Release (v1.0.0)
brewdoc:auto-sync-- Universal documentation sync (moved from brewcode)brewdoc:my-claude-- Generate Claude Code installation docsbrewdoc:memory-- Optimize Claude Code memory files interactively
v2.15.7 (2026-02-26)
brewcode
Fixed
- plugin.json -- removed explicit
"hooks": "./hooks/hooks.json"from manifesthooks/hooks.jsonis auto-discovered by Claude Code, explicit declaration caused duplicate loading error- Error: "Duplicate hooks file detected: ./hooks/hooks.json resolves to already-loaded file"
Updated Files
| File | Change |
|---|---|
plugin.json |
Removed hooks field (auto-discovered) |
v2.15.6 (2026-02-21)
brewcode
Changed
- agent-creator agent -- added "Reference-Aware Skills" section
- Guidance for agents spawned from skills with
references/directories - Size-based approach: <50 lines inline into prompt, >50 lines use
$BC_PLUGIN_ROOTpath
- Guidance for agents spawned from skills with
- skill-creator agent -- added "Reference Splitting Strategy" section
- When to split references into per-mode files (criteria & thresholds)
- Loading patterns: conditional (lazy), unconditional single, unconditional multi
- 3-step pattern template (detect -> read -> validate)
- New anti-pattern: "All references loaded unconditionally in multi-mode skill"
Updated Files
| File | Change |
|---|---|
agents/agent-creator.md |
Reference-Aware Skills section |
agents/skill-creator.md |
Reference Splitting Strategy section, loading patterns, anti-pattern |
v2.15.5 (2026-02-20)
brewcode
Changed
- auto-sync --
<auto-sync-override>body block replaced with frontmatter fieldauto-sync-override:(multiline YAML) - bd-auto-sync-processor -- reads override from frontmatter; optionally synthesizes and writes
auto-sync-override:to frontmatter when not defined by prompt or file body - sync-doc/agent/skill/rule --
preserve:references updated to frontmatter field - skills skill -- renamed from
skillsuptoskillsfor naming consistency
[2.15.4] - 2026-02-19
brewcode
Added
- spec/plan SKILL.md --
-n/--noaskflag to skip all user questions and auto-approve defaultsspec: skips AskUserQuestion in requirements gathering and SPEC validation stepsplan: skips phase-split presentation and review result confirmation- Argument hint updated:
[-n] <description>for spec,[-n] [task-dir|SPEC.md|plan-file]for plan
Fixed
- auto-sync review fixes -- 11 issues resolved from code review
- C10: Removed dead code in
index-ops.sh(macOS date detection, both branches identical) - C3: Agent description "sub-agents" -> "direct tool calls" in
bd-auto-sync-processor.md - C16: Override wording "augment (not replace)" -> "augment or selectively override"
- C18: Fixed misleading coordinator comment (post-task.mjs skip note)
- C7: Removed NEXT ACTION section (no task directory for standalone auto-sync)
- C4: Replaced unreachable
claude-code-guidereferences withGrepacross 6 files - C5: INDEX update now conditional on error status (errors skip update for retry)
- C17: Added
preserve:override guidance to all 5 instruction files - C2: Wired optimize flag end-to-end (SKILL.md -> agent -> instructions)
- PLUGIN_ROOT: Fixed input format --
{plugin_root}->$BC_PLUGIN_ROOT(hook-injected) - Tool column: Removed stale
Explore (...)wrapper from 5 instruction files
- C10: Removed dead code in
Updated Files
| File | Change |
|---|---|
agents/bd-auto-sync-processor.md |
7 fixes: description, trust table, override, coordinator, NEXT ACTION, optimize, PLUGIN_ROOT |
skills/auto-sync/SKILL.md |
Error-conditional INDEX update, optimize flag pass-through |
skills/auto-sync/scripts/index-ops.sh |
Dead code removal |
skills/auto-sync/instructions/sync-skill.md |
Tool names, preserve guidance |
skills/auto-sync/instructions/sync-agent.md |
Tool names, preserve guidance |
skills/auto-sync/instructions/sync-config.md |
Tool names, preserve guidance |
skills/auto-sync/instructions/sync-doc.md |
Tool names, preserve guidance |
skills/auto-sync/instructions/sync-rule.md |
Tool names, preserve guidance |
[2.15.3] - 2026-02-18
brewcode
Fixed
- update-plugin.sh --
claude plugincommands reset stdout in non-TTY- Output buffered to
/tmp/brewcode-update.logviatee - Uninstall+install flow when cache is missing (
updateskips reinstall) - Version match check (plugin.json <-> marketplace.json) before start
- Filesystem verification after install (cache dir + file count)
jqfor JSON parsing instead of fragilegrep+sed
- Output buffered to
- clean-plugin-cache.sh -- added
--allflag for full cache wipe- Fixed
${@}crash withset -uwhen no arguments passed
- Fixed
Updated Files
| File | Change |
|---|---|
.claude/scripts/update-plugin.sh |
Log buffering, uninstall+install, jq, verification |
.claude/scripts/clean-plugin-cache.sh |
--all flag, set -euo pipefail, ERR trap |
[2.15.2] - 2026-02-18
brewcode
Changed
- Documentation -- translated all docs from Russian to English
INSTALL.md,README.md,grepai.md-- full translationdocs/commands.md,docs/file-tree.md,docs/flow.md,docs/hooks.md-- full translation
- README.md -- added 6 missing skills to commands table
mcp-config,secrets-scan,skillsup,standards-review,text-optimize,text-human
Updated Files
| File | Change |
|---|---|
README.md |
Added missing skills, fixed doc link text |
brewcode/INSTALL.md |
RU -> EN |
brewcode/README.md |
RU -> EN |
brewcode/docs/commands.md |
RU -> EN |
brewcode/docs/file-tree.md |
RU -> EN |
brewcode/docs/flow.md |
RU -> EN |
brewcode/docs/hooks.md |
RU -> EN |
brewcode/grepai.md |
RU -> EN |
[2.15.1] - 2026-02-16
brewcode
Added
- forced-eval hook -- auto-skill activation via plugin hooks
hooks/forced-eval.mjs-- UserPromptSubmit hook (84% skill activation rate)- Reminder:
[SKILL?] Check available skills. If one matches this request, use Skill tool before responding. - No manual installation required -- works automatically with plugin
Changed
- skillsup skill -- removed
setupmode (hook now in plugin)- Modes:
list,up,create(was:list,setup,up,create)
- Modes:
Removed
skillsup/scripts/install-hook.sh-- moved to plugin hooksskillsup/references/forced-eval-hook.mjs-- moved to plugin hookssetup/references/forced-eval-hook.mjs-- not needed (plugin hook)- Phase 5 from setup skill -- hook installation not needed
[2.15.0] - 2026-02-15
brewcode
Changed
- Distribution -- plugin renamed
focus-task->brewcode, marketplace re-registeredrepositoryURL fixed:user/->kochetkov-ma/- Added
homepage,author.url,tags,metadatablock to marketplace.json - Removed placeholder
owner.email
- CLAUDE.md -- added Distribution section, fixed skills count (10 -> 15)
- update-plugin.sh -- fixed path
plugins/brewcode/->brewcode/ - claude-plugin-guide skill -- major update (v2.0.0)
- Fixed:
agentsfield IS supported in plugin.json - Added: all 14 hook events, hook types (command/prompt/agent)
- Added: auto-update, team config, marketplace restrictions
- Updated: official docs URLs (code.claude.com)
- Fixed:
Files
.claude-plugin/marketplace.json-- full metadata, correct URLsbrewcode/.claude-plugin/plugin.json-- added homepage, author.url.claude/scripts/update-plugin.sh-- fixed version path.claude/skills/claude-plugin-guide/SKILL.md-- v2.0.0CLAUDE.md-- Distribution section
[2.14.3] - 2026-02-13
brewcode
Changed
- auto-sync skill -- excluded managed directories from auto-scan
rules/,agents/,skills/no longer scanned in PROJECT/GLOBAL modes- Explicit path required:
/brewcode:auto-sync .claude/rules - Prevents unintended mass updates to structured content
Files
skills/auto-sync/SKILL.md-- added managed directories documentationskills/auto-sync/scripts/discover.sh-- added exclusion logic
[2.14.2] - 2026-02-13
brewcode
Changed
- text-optimize skill -- description converted to one-line format
- Matches agent description style:
"Optimizes text/docs for LLM efficiency. Triggers: ..." - Removed multi-line
|YAML block, replaced with single quoted string
- Matches agent description style:
Files
skills/text-optimize/SKILL.md-- description field
[2.14.1] - 2026-02-13
brewcode
Changed
- skill-creator agent -- description rules tightened
- ONE line only (no multiline
|in YAML) - 150-300 chars limit (was 1024)
- Template:
[What it does]. Use when - [scenarios]. Trigger keywords - [keywords]. Triggers -section dropped (saves ~80 chars)- All examples updated to single-line format
- Validation checklists updated
- ONE line only (no multiline
Files
agents/skill-creator.md-- 10 edits across description rules, template, examples, validation
[2.14.0] - 2026-02-13
brewcode
Added
- text-optimize rules -- 4 new rules from multi-agent research (8 parallel agents)
- S.7: Consistent Terminology -- one term per concept, no synonyms. Source: agent-skills best-practices (official)
- S.8: One-Level Reference Depth -- no ref chaining A->B->C. Source: agent-skills best-practices (official)
- P.5: Instruction Order (Anchoring) -- critical constraints first. Source: ACM FAT 2025 (peer-reviewed)
- P.6: Default Over Options -- recommend one default, exceptions only. Source: agent-skills best-practices (official)
- 2 new anti-patterns: overloading single prompts, over-focusing on wording
- Total rules: 27 -> 31 (27 verified, 4 conditional)
Changed
- text-optimizer agent -- Step 0 validation rewritten
- Removed Bash
test -f(agent doesn't have Bash tool) - Now uses Read tool + header verification (
## C - Claude Behavior,## Summary) - Explicit stop condition if read fails or headers missing
- Removed Bash
- text-optimizer agent -- Step 2 rule ranges updated (S.1-S.8, P.1-P.6)
- text-optimize SKILL.md -- Rule ID Quick Reference, ID-to-Rule Mapping, Mode-to-Rules updated for new rules
Files
skills/text-optimize/references/rules-review.md-- +4 rules, +2 anti-patterns, +1 sourceskills/text-optimize/SKILL.md-- updated tables and mappingsagents/text-optimizer.md-- Step 0 rewrite, Step 2 range update
[2.13.2] - 2026-02-13
brewcode
Fixed
-
skill-creator agent -- path resolution rules clarified
- Added
CRITICAL: USE RELATIVE PATHS!warning - Direct calls (Read, Bash in SKILL.md) -> relative paths (
scripts/foo.sh) - Exception: passing path to agent via Task tool -> use
$BC_PLUGIN_ROOT - Table with NEVER / ALWAYS examples
- Added
-
skillsup skill -- fixed absolute paths bug
- Changed
$BC_PLUGIN_ROOT/skills/skillsup/scripts/...->scripts/... - 3 bash commands now use relative paths
- Changed
Files
agents/skill-creator.md-- Resource Path Resolution section rewrittenskills/skillsup/SKILL.md-- relative paths for bash commands
[2.13.1] - 2026-02-13
brewcode
Changed
-
skill-creator agent -- invocation type awareness
- Added
AskUserQuestiontool for clarifying who invokes skill - User-only skills (
disable-model-invocation: true) get simple one-liner description - LLM-invocable skills require full trigger optimization
- Decision table: user-only vs LLM-only vs both
- Added
-
skillsup skill -- simplified description
- One-liner description (user-invocable only, no triggers needed)
- Added
AskUserQuestionto allowed-tools
Files
agents/skill-creator.md-- invocation type section, description optimization splitskills/skillsup/SKILL.md-- simplified frontmatter
[2.13.0] - 2026-02-13
brewcode
Added
- skillsup skill -- skill management with 84% activation rate
listmode: scan global/project/plugin skills as markdown tablesetupmode: install forced-eval hook (UserPromptSubmit) + settings.jsonupmode: improve skills via skill-creator agent (parallel for folders)createmode: research (Explore + WebSearch) then create skill- Shorthand:
/skillsup <path>defaults toupmode - Based on Scott Spence forced-eval technique
Files
skills/skillsup/SKILL.md-- main skill with 4 modesskills/skillsup/README.md-- documentationskills/skillsup/scripts/list-skills.sh-- scans 3 locationsskills/skillsup/scripts/install-hook.sh-- installs hook + updates settingsskills/skillsup/references/forced-eval-hook.mjs-- UserPromptSubmit hook
[2.12.4] - 2026-02-13
brewcode
Changed
- skill-creator agent -- major update for activation reliability
- Added "Activation Reality" section: 20-50% baseline rate, GitHub issues
- Added "Criticality Strategy": Critical -> slash command (100%), Important -> optimized (50-72%)
- Added "Description Optimization": trigger keywords pattern, "Use when:" template
- Added "Activation Checklist" in validation step
- Added "Troubleshooting Activation" section with debug steps
- Updated all examples with optimized descriptions
- Verified all GitHub issues are OPEN: #10768, #13919, #15136, #9716
- Removed closed/duplicate issues: #12679, #4182, #17283
Sources
[2.12.3] - 2026-02-12
brewcode
Changed
-
Skill path normalization -- all skills now use relative paths
- Removed unreliable
$FT_PLUGINvariable (bash isolation issues) - Removed non-existent
$CLAUDE_PLUGIN_ROOTreferences - Removed cache path hacks (
ls -vd ~/.claude/plugins/cache/...) - Skills reference own resources via relative paths:
scripts/,references/
- Removed unreliable
-
Agent path normalization -- agents use injected
$BC_PLUGIN_ROOT- Removed
{PLUGIN_ROOT}placeholders from agent docs - Agents receive
BC_PLUGIN_ROOTvia pre-task.mjs injection - Fixed bc-coordinator.md and bash-expert.md
- Removed
-
File reorganization -- templates moved to skill directories
scripts/teardown.sh->skills/teardown/scripts/teardown.shtemplates/SPEC-creation.md->skills/spec/references/SPEC-creation.mdtemplates/*.template(4 files) ->skills/setup/templates/setup.shupdated to use newSETUP_TEMPLATESpath
Updated Files
| File | Change |
|---|---|
skills/teardown/SKILL.md |
Relative scripts/teardown.sh |
skills/text-optimize/SKILL.md |
$BC_PLUGIN_ROOT + context instruction |
skills/standards-review/SKILL.md |
Relative references/ paths |
skills/grepai/SKILL.md |
Relative paths (13 scripts) + agent context |
skills/setup/SKILL.md |
Relative paths (7 scripts) + agent context |
skills/spec/SKILL.md |
Agent context instructions |
skills/plan/SKILL.md |
Agent context instructions |
skills/auto-sync/SKILL.md |
Relative paths + agent context |
skills/rules/SKILL.md |
Relative paths + agent context |
skills/text-human/SKILL.md |
Agent context instructions |
skills/install/SKILL.md |
Relative paths (8 scripts) |
skills/setup/scripts/setup.sh |
SETUP_TEMPLATES variable |
agents/bc-coordinator.md |
$BC_PLUGIN_ROOT for templates |
agents/bash-expert.md |
$BC_PLUGIN_ROOT instructions |
[2.12.2] - 2026-02-12
brewcode
Added
- skill-creator agent -- "Resource Path Resolution" section
- Documents that skills receive base directory at execution
- Relative paths to resources (references/, scripts/, assets/) resolve automatically
Updated Files
| File | Change |
|---|---|
agents/skill-creator.md |
Added Resource Path Resolution section |
[2.12.1] - 2026-02-12
brewcode
Added
- BC_PLUGIN_ROOT injection -- plugin root path available to skills and agents
session-start.mjs: injectsBC_PLUGIN_ROOTintoadditionalContextfor main conversationpre-task.mjs: injectsBC_PLUGIN_ROOTas first injection for ALL subagents- Enables skills to reference plugin files:
$BC_PLUGIN_ROOT/skills/text-optimize/references/...
Updated Files
| File | Change |
|---|---|
hooks/session-start.mjs |
BC_PLUGIN_ROOT in additionalContext |
hooks/pre-task.mjs |
BC_PLUGIN_ROOT injection for all agents |
docs/hooks.md |
"BC_PLUGIN_ROOT variable" section |
CLAUDE.md |
"Plugin Variables" section |
[2.12.0] - 2026-02-11
brewcode
Fixed
-
Skill frontmatter -- removed invalid
context: sessionfrom 5 skills- auto-sync, grepai, spec, plan, start -- now use inline mode (required for Task tool)
-
EXECUTE markers -- added missing markers to bash blocks
- auto-sync: 3 blocks in sync phase (Setup INDEX, discover.sh, index-ops.sh)
- secrets-scan: Phase 1 setup block
-
STOP conditions -- added after critical bash blocks
- secrets-scan:
> **STOP if ERROR** -- must run in git repository
- secrets-scan:
-
text-optimize -- fixed
subagent_type: "brewcode:text-optimizer"->"text-optimizer"
Added
- spec/references/SPEC-creation.md -- parallel research instructions and consolidation rules (125 lines)
- scripts/teardown.sh -- restored plugin-level cleanup script
Changed
- spec/SKILL.md -- references updated to
references/SPEC-creation.md - teardown -- script moved from skill directory to
brewcode/scripts/
Structure Improvements
| Skill | Before | After |
|---|---|---|
| spec | 78% | 90% |
| auto-sync | 85% | 100% |
| secrets-scan | 71% | 97% |
| teardown | 60% | 90% |
[2.10.0] - 2026-02-11
brewcode
Added
- Agent documentation enriched -- 3 agents updated with official plugin-dev content
| Agent | New Sections | Examples |
|---|---|---|
agent-creator.md |
Agent Architect Process (6 steps), System Prompt Patterns (4 archetypes), Color Semantics, Triggering Examples Guide | code-reviewer, test-generator, doc-generator, security-analyzer |
skill-creator.md |
Official Six-Step Creation Process, Word Budget (1,500-2,000), Scripts Design guidance | commit, pr-review, codebase-qa, deploy |
hook-creator.md |
10 Hook Patterns (Official), Advanced Techniques (Multi-Stage, State Sharing, Caching), Hook Type Selection, Lifecycle Note | Security Gate, Test Enforcement, Context Injection, Tool Logger |
Changed
- skill-creator.md -- Creation Process section rewritten to Official Six-Step format
- Step 2: Plan Reusable Contents (scripts, reference docs, assets)
- Step 5: Validate and Test with detailed checklist
- Word budget: 1,500-2,000 words target
Sources
claude-plugins-official/plugins/plugin-dev/skills/agent-development/claude-plugins-official/plugins/plugin-dev/skills/skill-development/claude-plugins-official/plugins/plugin-dev/skills/hook-development/
[2.9.5] - 2026-02-11
brewcode
Fixed
- setup SKILL.md Phase 5 -- explicit instructions to use script output verbatim
- Added CRITICAL warning: DO NOT add agents manually
- Step 1: clarified output is ready-to-insert content
- Step 4: must read
/tmp/agents-section.mdand use EXACT content - Prevents LLM from ignoring script output and adding internal agents
[2.9.4] - 2026-02-11
brewcode
Changed
- setup.sh
agentsmode -- excludes internal plugin agents from listing- Internal agents (bc-coordinator, bc-grepai-configurator, bc-knowledge-manager) not shown
- These agents are only called by the plugin itself, not by users
Updated Files
skills/setup/scripts/setup.sh-- INTERNAL_AGENTS filter added
[2.9.2] - 2026-02-11
brewcode
Added
- setup.sh
agentsmode -- collects agents for CLAUDE.md update- Outputs LLM-optimized table with 3 columns: Name, Scope, Purpose
- Collects: system agents (hardcoded), global (~/.claude/agents/), plugin (PLUGIN_ROOT/agents/)
- Purpose truncated to 5 words for token efficiency
- SKILL.md Phase 5 -- Update Global CLAUDE.md Agents
- Collects agents via
setup.sh agents - LLM analyzes existing CLAUDE.md to find agent sections
- User confirmation before replacement
- Edit-based replacement preserves non-agent content
- Collects agents via
Updated Files
| File | Change |
|---|---|
skills/setup/scripts/setup.sh |
Added collect_agents() function, agents mode |
skills/setup/SKILL.md |
Added Phase 5 with 4 steps |
[2.9.1] - 2026-02-10
brewcode
Fixed
- hooks.md -- synchronized handoff entry type documentation
writeHandoffEntry()uses"t":"check"for priority during compactification- Documentation incorrectly stated
"t":"info"
[2.9.0] - 2026-02-10
brewcode
Added
- bc-rules-organizer agent -- plugin agent for rules organization
- Moved from global
~/.claude/agents/rules-organizer.mdto pluginagents/bc-rules-organizer.md - Added
Bashtool,permissionMode: acceptEdits - Aligned table formats with rules skill:
| # | Avoid | Instead | Why |,| # | Practice | Context | Source | - Numbered entries, max 20 rows, semantic deduplication, specialized
{prefix}-*.mdfiles
- Moved from global
Changed
- Rules skill -> delegator -- skill delegates all work to
bc-rules-organizeragent- Removed
context: session(inline, can spawn agents via Task) allowed-tools:Read, Write, Edit, Glob, Grep, Bash->Read, Bash, Task- Skill handles: mode detection, knowledge preparation, agent spawn
- Agent handles: extraction, optimization, file creation, validation
- Removed
- Removed
rules-organizerfrom global agents -- no longer in system agents list- Updated
hooks/lib/utils.mjs,templates/brewcode.config.json.template,docs/hooks.md
- Updated
Updated Files
| File | Change |
|---|---|
agents/bc-rules-organizer.md |
NEW -- moved from global, ft- prefix, Bash tool |
skills/rules/SKILL.md |
Rewrite: thin delegator to bc-rules-organizer |
hooks/lib/utils.mjs |
Removed rules-organizer from system agents |
templates/brewcode.config.json.template |
Removed rules-organizer from agents |
docs/hooks.md |
Removed rules-organizer from default agents |
[2.8.0] - 2026-02-10
brewcode
Added
- Rules skill enhanced -- 4 modes for flexible rule management
session-- Extract from conversation context (default)file-- Extract from KNOWLEDGE.jsonl fileprompt-- Targeted update with instruction (/brewcode:rules <path> <prompt>)list-- Show all existing rule files
- Specialized rule files -- prefix-based rules for domain separation
- Pattern:
{prefix}-avoid.md,{prefix}-best-practice.md - Examples:
test-avoid.md,sql-best-practice.md,security-avoid.md - Auto-created when prompt mode detects target domain
- Pattern:
Changed
- rules.sh -- added
list_rules()andcreate_specialized()functions - SKILL.md -- updated
argument_hint: "[mode] [path] [prompt]", new mode detection table
Updated Files
| File | Change |
|---|---|
skills/rules/SKILL.md |
4 modes, specialized files docs, prompt mode logic |
skills/rules/scripts/rules.sh |
list_rules(), create_specialized(), updated validation |
[2.7.2] - 2026-02-09
brewcode
Fixed
- Hook message routing -- fixed
systemMessagevsadditionalContextacross 4 hookssession-start.mjs: addedsystemMessagewith plugin path + session ID for user consolegrepai-session.mjs: moved "USE grepai_search FIRST" fromsystemMessagetoadditionalContextpre-compact.mjs: replaced<ft-handoff>XML block with short status insystemMessagestop.mjs: split blockreason(user) fromadditionalContext(Claude instructions)
- docs/hooks.md -- 16 discrepancies fixed via multi-agent verification
- Removed undocumented session mapping feature (4 references)
- Fixed post-task timeout: 30s -> 5s (matched hooks.json)
- Fixed all post-task prompts:
systemMessage->additionalContext - Added PID-file detection for watch/mcp-serve (v2.7.0 feature)
- Added grepai-reminder 60s throttle documentation
- Updated role detection patterns (added qa, sdet, auditor, engineer, builder, fixer)
- Removed
catfield from KNOWLEDGE.jsonl format (removed in v2.7.0) - Fixed TASK.md -> PLAN.md in stop block message and lifecycle diagram
Updated Files
| File | Change |
|---|---|
hooks/session-start.mjs |
Added systemMessage with plugin path |
hooks/grepai-session.mjs |
Reminder -> additionalContext |
hooks/pre-compact.mjs |
Short status instead of XML block |
hooks/stop.mjs |
Split reason/additionalContext |
docs/hooks.md |
16 fixes across all sections |
[2.7.1] - 2026-02-09
brewcode
Fixed
- Review skill
context: fork->session-- review template hadcontext: forkwhich prevents Task tool usage; review is built entirely on parallel agent spawning via Task tool, soforkmade it non-functional- File:
templates/skills/review/SKILL.md.template
- File:
[2.7.0] - 2026-02-09
brewcode
Added
- docs/ directory -- 4 comprehensive documentation files extracted from README.md
commands.md,file-tree.md,flow.md,hooks.md(~166KB total)
- llm-text-rules.md -- shared LLM text rules for auto-sync instructions (DRY)
- HOOKS-REFERENCE.md -- Claude Code hooks reference (
user/features/) - Security hardening -- path traversal protection, atomic lock/state writes, bind race detection
validateTaskPath(),createLock()with tmp+rename pattern- Lock schema validation with auto-cleanup of corrupted locks
- Config recursion guard -- prevents infinite loop in
loadConfig()via_loadingConfigflag - Deep merge for nested config --
knowledge.validation,agents.systemproperly merged - Grepai reminder throttling -- max once per 60s via
.grepai/.reminder-ts - PID-file-based process detection --
watch.pid/mcp-serve.pidbefore pgrep fallback - Expanded status model --
cancelled,errorstatuses in bc-coordinator;handoffat init - Handoff-after-compact context -- session-start injects re-read instruction on compact source
- Teardown confirmation --
AskUserQuestionprompt for non-dry-run teardown <instructions>tags -- added to spec, plan, start SKILL.md for proper skill boundaries
Changed
- README.md rewritten -- 836 -> 101 lines; detailed docs moved to
docs/ - KNOWLEDGE.jsonl schema simplified -- removed
cat(category) andscopefields - MANIFEST.md eliminated -- all references removed from coordinator, templates, hooks
- Scope-aware retention removed -- flat
maxEntries=100replaces global:50/task:20 split - Compact threshold -- 50% -> 80% of maxEntries
- Hook output routing -- multiple hooks switched to
hookSpecificOutput.additionalContext - SessionStart hooks split -- session-start.mjs and grepai-session.mjs run independently
- Phase detection improved -- h2/h3 support, excludes verification phases, checkbox counting
- Constraint injection expanded -- ALL constraints for every non-system agent; expanded role regex
- Shell script hardening --
set -euo pipefail,command -vreplacingwhich, curl timeouts - bc-coordinator -- simplified status updates, removed MANIFEST,
catfield removed - bc-knowledge-manager -- removed scope/categories, dedup key 100 chars, maxEntries 100
- Config simplified -- removed
autoCompactThreshold,retention,stop.maxAttempts - PLAN.md.template -- simplified metadata, added
r(R&D) iteration type, removed MANIFEST - SPEC.md.template -- added Scope section, simplified headers
- Rule templates -- removed
description:from YAML frontmatter - package.json -- version synced to 2.7.0, author name corrected
- install.sh --
|| truefor version extractions,mktempfor temp files
Fixed
- Config recursion infinite loop --
log -> shouldLog -> getLogLevel -> loadConfig -> log - Config cache never populated --
cachedConfigCwdplaced after unreachable validation - Shallow config merge -- nested keys (
knowledge.validation,agents.system) lost - Lock bind race condition -- atomic tmp+rename with ownership verification
- State file corruption --
saveState()now uses atomic writes - Path traversal in TASK.md -- rejects
.., anchors regex - stop.mjs crash --
typeofguard onsession_id, error handler cleans lock - stop.mjs references TASK.md -- corrected to PLAN.md
- pre-compact null task -- added null check for
parseTask()return - install.sh pipeline failures --
|| trueprevents silent exits underset -euo pipefail - grepai index error swallowed -- now reports "error" and logs warning
Removed
templates/hooks/grepai-session.mjs.template-- built-in hook replaces templatetemplates/reports/MANIFEST.md.template-- MANIFEST concept removedtemplates/review-report.md.template-- review reporting simplified- 6 exported functions --
extractStatus,findCurrentPhase,writeSessionInfo,getTaskDirFromSession,classifyScope,appendKnowledgeValidated cat/scopefields from KNOWLEDGE.jsonl schema- Config keys --
autoCompactThreshold,retention,stop.maxAttempts,removeOrphansAfterDays .claude/tasks/specs/directory creation in setup.sh
Breaking Changes
- KNOWLEDGE.jsonl:
catandscopefields no longer written (existing entries tolerated) - MANIFEST.md no longer created/maintained
- 6 functions removed from public API (validateEntry, classifyScope, etc.)
getReportsDir()signature:cwdparameter removed
[2.6.0] - 2026-02-08
brewcode
Added
- 2-stage creation flow --
spec->plan(replaces monolithiccreate)/brewcode:spec-- Creates SPEC through research + AskUserQuestion interaction/brewcode:plan-- Creates PLAN from SPEC or Plan Mode file with user approval/brewcode:create-- Removed (usespec+planseparately)
- User interaction during creation -- AskUserQuestion for clarifying scope, validating decisions
- Task directory structure -- All task files grouped in
{TS}_{NAME}_task/directory - Session mapping --
sessions/{session_id}.infofor O(1) task lookup - Per-task lock --
.lockinside task directory (was globalcfg/.brewcode.lock)
Breaking Changes
- Task files moved from flat
.claude/tasks/to.claude/tasks/{TS}_{NAME}_task/ TASK.mdrenamed toPLAN.md- SPEC moved from
specs/to task directory KNOWLEDGE.jsonlmoved to task directory- Reports directory renamed to
artifacts/inside task directory - Phase directory naming:
phase_{P}/iter_{N}_{type}/->{P}-{N}{T}/ TASK.md.templaterenamed toPLAN.md.template
Updated Files
| File | Change |
|---|---|
skills/spec/SKILL.md |
NEW -- spec creation skill (7-step workflow) |
skills/plan/SKILL.md |
NEW -- plan creation skill (dual input: SPEC/Plan Mode) |
skills/create/ |
Removed (replaced by spec + plan) |
templates/PLAN.md.template |
NEW -- renamed from TASK.md.template |
templates/SPEC.md.template |
Rewrite: analytical format (91 -> 42 lines) |
templates/SPEC-creation.md |
Updated paths and section names |
hooks/lib/utils.mjs |
Major refactor: 5 new functions, per-task lock |
hooks/pre-compact.mjs |
Compact phase dirs, artifacts/ |
hooks/stop.mjs |
Per-task lock path |
hooks/session-start.mjs |
Session mapping |
hooks/pre-task.mjs |
Absolute path fix for knowledge |
agents/bc-coordinator.md |
Artifacts paths, PLAN.md refs |
agents/bd-auto-sync-processor.md |
Artifacts path |
templates/reports/MANIFEST.md.template |
Removed |
templates/reports/FINAL.md.template |
Artifacts index |
templates/instructions-template.md |
Full path migration |
templates/rules/post-agent-protocol.md.template |
Path glob fix |
skills/start/SKILL.md |
PLAN.md, artifacts paths |
skills/setup/SKILL.md |
PLAN.md.template refs |
skills/setup/scripts/setup.sh |
PLAN.md.template sync |
skills/teardown/SKILL.md |
Task dir structure |
skills/teardown/teardown.sh |
Task dir references |
README.md |
Full path migration (20+ refs) |
Migration
Existing tasks are not automatically migrated. New tasks use the new structure.
Run /brewcode:setup to update adapted templates.
[2.5.0] - 2026-02-08
brewcode
Changed
- Auto-sync INDEX v2 -- simplified from 8 fields to 4 (
p,t,u,pr)- Removed:
m(mtime),h(hash),v(version),s(status) - Dates: ISO8601 ->
YYYY-MM-DD - Protocol values:
default/custom->default/override - New type:
config(forCLAUDE.mdfiles)
- Removed:
- Auto-sync instructions system -- type-specific sync instructions
- New:
instructions/sync-{skill,agent,doc,rule,config}.md-- per-type verification checklists and research directions - Processor loads instructions dynamically instead of hardcoded logic
<auto-sync-protocol>-><auto-sync-override>with 3 fields:sources,focus,preserve
- New:
- Auto-sync SKILL.md rewrite -- simplified phases, added
-o/--optimizeflagcontext: fork->context: session(access to conversation context)- Added
Skillto allowed-tools - INIT mode simplified (no custom protocol prompt generation)
- bd-auto-sync-processor rewrite -- 364 -> 135 lines (-63%)
- Removed
Tasktool dependency -- direct Glob/Grep/Read/WebFetch calls - Loads per-type instruction files for verification checklist
- Model: opus -> sonnet
- Removed
- bc-coordinator: inline compaction -- removed
Tasktool from agent tools- Auto-compact now inline: read -> dedupe -> sort -> trim -> write
- No longer spawns bc-knowledge-manager for compaction
- bc-grepai-configurator: direct tool calls -- removed
Tasktool dependency- Phase 2: Explore agents -> direct Glob/Grep/Read calls
- Skills context:
fork->session-- auto-sync, create, grepai skills now run in session context - detect-mode.sh: FLAGS support -- 3-field output
MODE|ARG|FLAGS,-o/--optimizeflag - index-ops.sh simplified -- removed
query,hash,mtimecommands; addedthreshold_datehelper; macOS/Linux date compatibility - Review skill: Critic mode -- new
-c/--criticflag for Devil's Advocate phase- Phase 5.5 Critic + Phase 5.75 DoubleCheck Critic
- P0 priority for verified critic findings
- Auto-enable via keywords: critic
- Visual ASCII workflow diagrams in README
Added
skills/auto-sync/instructions/-- 5 type-specific instruction filesautoSyncconfig section --intervalDays,retention,optimize,parallelAgents- Validation for
autoSyncnumeric fields inutils.mjs
Fixed
- Agent name typo --
prompt-optimizer->text-optimizerin config and hooks - Removed stale PROTOCOL_REMINDER -- pre-agent priming string removed from
pre-task.mjs
Removed
skills/auto-sync/references/doc-types.md(replaced by instructions/)skills/auto-sync/references/protocol-default.md(replaced by instructions/)user/CLAUDE-CODE-RELEASES-2025-2026.mduser/CLAUDE-CODE-TASK-MANAGER-GUIDE.mduser/CONTEXT-INJECTION-GUIDE.md
Updated Files
| File | Change |
|---|---|
skills/auto-sync/SKILL.md |
Rewrite: simplified phases, -o flag, context: session |
skills/auto-sync/README.md |
Updated to match new INDEX format and override block |
skills/auto-sync/scripts/detect-mode.sh |
3-field output with FLAGS |
skills/auto-sync/scripts/discover.sh |
Updated type detection |
skills/auto-sync/scripts/index-ops.sh |
Simplified commands, date compat |
agents/bd-auto-sync-processor.md |
Rewrite: direct tools, instruction loading |
agents/bc-coordinator.md |
Inline compaction, removed Task tool |
agents/bc-grepai-configurator.md |
Direct tool calls, removed Task tool |
hooks/lib/utils.mjs |
autoSync config, agent name fix |
hooks/pre-task.mjs |
Removed PROTOCOL_REMINDER |
skills/create/SKILL.md |
context: fork -> session |
skills/grepai/SKILL.md |
context: fork -> session |
templates/auto-sync/INDEX.jsonl.template |
4-field format |
templates/brewcode.config.json.template |
autoSync section |
templates/skills/review/SKILL.md.template |
Critic phase, argument-hint |
templates/skills/review/references/agent-prompt.md |
Critic prompt |
templates/skills/review/references/report-template.md |
P0 priority section |
README.md |
Critic mode docs, workflow diagrams |
[2.4.1] - 2026-02-06
brewcode
Fixed
- C1: Role detection false positive --
name.includes('arch')->name.includes('architect')inpre-task.mjs- "search", "research", "archive" no longer misclassified as DEV role
- C2: INIT casing bug -- sed now strips first word unconditionally (was
[Ii]nitonly)INIT path.mdandiNiT path.mdnow correctly outputINIT|path.md
- H1: Stale
/brewcode:docin CLAUDE.md -- replaced with/brewcode:auto-sync - H2: Phantom
syncmode in description -- replaced with actual 6 modes - M1: Bare
initerror --detect-mode.shnow exits with error forinitwithout path - M2: Phase ordering -- STATUS/INIT phases moved before Phase 1 Setup in SKILL.md
- M3: Agent count -- README.md updated to 4 agents (added bd-auto-sync-processor)
- M4: Historical accuracy -- [2.3.0] modes list shows original values with note
- M5:
ARGS_HEREplaceholder -- replaced with$ARGUMENTSin SKILL.md - L1: Dead code -- collapsed identical if/else FILE detection branches
- L2: discover.sh JSON bug -- replaced pipe subshell with sed (comma separator fix)
- L3: Invalid hex hash --
d4e5f6g7->d4e5f607in INDEX.jsonl.template - L4: Related docs -- added auto-sync skill and bd-auto-sync-processor agent links
[2.4.0] - 2026-02-06
brewcode
Changed
- Auto-sync modes -- removed CREATE mode, added STATUS + INIT
- Removed:
create skill,create agent,create docmodes - Added:
status-- diagnostic report of INDEX state + non-indexed files - Added:
init <path> [prompt]-- add auto-sync tag + custom protocol to existing document - INIT supports LLM-optimized
<auto-sync-protocol>block generation - Phases renumbered: 6 -> 5 (CREATE phase removed)
- Modes:
status,init,global,project(default),file,folder
- Removed:
Updated Files
| File | Change |
|---|---|
skills/auto-sync/SKILL.md |
Removed Phase 2 CREATE, added STATUS + INIT phases, renumbered |
skills/auto-sync/scripts/detect-mode.sh |
Removed CREATE detection, added STATUS + INIT |
skills/auto-sync/README.md |
Updated docs, flow diagram, phase numbering |
README.md |
Updated auto-sync description and mode table |
RELEASE-NOTES.md |
Updated modes list |
[2.3.1] - 2026-02-05
brewcode
Changed
- Auto-tagging --
/brewcode:auto-syncaddsauto-sync: enabledto .md files- PROJECT/FOLDER/GLOBAL modes find ALL .md files and tag them
- SKILL.md/agent.md -> YAML frontmatter
- Other .md ->
<!-- auto-sync:enabled -->after title - No manual migration required
[2.3.0] - 2026-02-05
brewcode
Features
- KILLER FEATURE:
/brewcode:auto-sync- Universal documentation system- Replaces
/brewcode:doc - Modes (v2.3.0):
create skill|agent|doc,sync,global,project,path(CREATE removed in 2.4.0) - LLM-optimized JSONL INDEX for tracking documents
- Auto-detects document types (skill, agent, doc, rule)
- Parallel processing with
bd-auto-sync-processoragent - Custom protocols via
<auto-sync-protocol>block - Stale detection (7 days threshold)
- Replaces
Added
bd-auto-sync-processoragent for document processing- INDEX.jsonl.template for tracking synced documents
- Scripts:
discover.sh,index-ops.sh,detect-mode.sh - References:
protocol-default.md,doc-types.md
Removed
/brewcode:docskill (replaced by/brewcode:auto-sync)
Migration
If you were using /brewcode:doc, use /brewcode:auto-sync instead:
/brewcode:doc update->/brewcode:auto-sync/brewcode:doc sync->/brewcode:auto-sync
v2.2.0 (2026-02-04)
brewcode
Added
-
Role-based constraint injection -- auto-injection of constraints into agent prompts
- New tags in TASK.md:
<!-- ALL -->,<!-- DEV -->,<!-- TEST -->,<!-- REVIEW --> pre-task.mjs: role detection by agent name (developer->DEV, tester->TEST, reviewer->REVIEW)- Constraints injected at prompt start before execution
- New tags in TASK.md:
-
Knowledge validation -- filter useless entries
- Blocklist: "Working on...", "Let me...", "Looks good", "Phase N", etc.
- Min 15 chars, technical density check
validateEntry(),appendKnowledge()(with validation)
-
Scope-aware retention -- separate global/task storage
- Auto-classification: avoids->global, handoff->task, arch/config/api->global
- Compaction retains: global:50, task:20 entries
Changed
| File | Change |
|---|---|
TASK.md.template |
Added Role Constraints section with examples |
brewcode.config.json.template |
knowledge.validation: enabled, blocklist, densityCheck; knowledge.retention: global:50, task:20; constraints.enabled: true |
Updated Files
| File | Change |
|---|---|
hooks/pre-task.mjs |
Role detection, constraint injection |
hooks/lib/knowledge.mjs |
validateEntry, appendKnowledge, localCompact |
templates/TASK.md.template |
Role Constraints section |
templates/brewcode.config.json.template |
validation, retention, constraints |
agents/bc-coordinator.md |
Updated for constraints |
agents/bc-knowledge-manager.md |
Scope documentation |
v2.1.2 (2026-02-02)
brewcode
Changed
- Review skill consolidation -- removed duplicate, kept only template
- Removed:
skills/review/(static version) - Kept:
templates/skills/review/SKILL.md.template(generated) - Added:
templates/skills/review/references/(agent-prompt.md, report-template.md) - Updated: SKILL.md.template (+quorum algorithm, matching/merge rules, DoubleCheck prompt, error handling)
- Updated: setup.sh (copies references/)
- Updated: README.md (link to template)
- Removed:
v2.1.1 (2026-02-01)
brewcode
Fixed
- Agent triggers YAML -- replaced
Trigger:withTriggers -in agent descriptions- bc-coordinator.md, bc-knowledge-manager.md
- Colon in value broke YAML parsing
v2.1.0 (2026-02-01)
brewcode
Changed
-
Documentation sync -- major documentation update
- README.md: PostToolUse hook, NEXT ACTION protocol, hook matrix (7 hooks)
- CLAUDE.md: hook documentation, skill namespacing table
- grepai.md: line refs, timeout info
- user/coordinator.md: complete rewrite with NEXT ACTION
-
Template namespacing -- skill names in templates
templates/skills/review/SKILL.md.template:brewcode:reviewtemplates/review-report.md.template:brewcode:review
-
Protocol terminology -- unified
WRITE report -> CALL bc-coordinator
Updated Files
| File | Change |
|---|---|
README.md |
PostToolUse, NEXT ACTION, hook matrix |
grepai.md |
line refs :24, timeout (1s) |
templates/skills/review/SKILL.md.template |
name: brewcode:review |
templates/review-report.md.template |
brewcode:review footer |
skills/review/references/report-template.md |
brewcode:review |
CLAUDE.md (root) |
7 hooks documentation |
v2.0.73 (2026-02-01)
brewcode
Changed
- Skill namespacing -- added remaining skills
create->brewcode:createdoc->brewcode:doc
Updated Files
| File | Change |
|---|---|
skills/create/SKILL.md |
name: brewcode:create |
skills/doc/SKILL.md |
name: brewcode:doc |
v2.0.72 (2026-02-01)
brewcode
Changed
- Skill namespacing -- unified skill names with namespace
brewcode:review->brewcode:reviewrules->brewcode:rulesstart->brewcode:start
- Skill descriptions -- formatting
- Removed colons after "Triggers" in all skills
- Simplified argument-hint for
docandrules
Updated Files
| File | Change |
|---|---|
skills/review/SKILL.md |
name: brewcode:review |
skills/rules/SKILL.md |
name: brewcode:rules, argument-hint |
skills/start/SKILL.md |
name: brewcode:start |
skills/create/SKILL.md |
triggers formatting |
skills/doc/SKILL.md |
triggers formatting, argument-hint |
v2.0.71 (2026-02-01)
brewcode
Fixed
- Skill argument hints -- improved argument hints
doc: description lists modesModes - create, update, analyze, sync, alldoc: argument-hint simplified to[create|update|analyze|sync] <path>rules: argument-hint shows session mode[<path>] (empty = session mode)
Updated Files
| File | Change |
|---|---|
skills/doc/SKILL.md |
description + argument-hint |
skills/rules/SKILL.md |
argument-hint |
v2.0.68 (2026-02-01)
brewcode
Fixed
- skills/install/SKILL.md -- Output Rules for correct display
- Added Output Rules section: show FULL output, preserve tables
- Each phase has
-> Show:and-> Explain:hints - Phase 5 skipped if grepai already installed
v2.0.67 (2026-02-01)
brewcode
Fixed
- Plugin installation -- version bump to apply pending changes from v2.0.66
v2.0.66 (2026-02-01)
brewcode
Changed
- skills/install/SKILL.md -- token optimization (-42%)
- Added triggers: "install brewcode", "setup prerequisites"
- Replaced verbose JSON with compact tables
- skills/install/scripts/install.sh -- improved summary
- New format:
| Component | Status | Installed | Latest | - Shows installed AND latest available version
- Logs performed actions (Actions Performed)
- Helper functions:
log_action(),clear_actions()
- New format:
Removed
- skills/install/scripts/ -- removed 8 duplicate scripts (all in install.sh)
v2.0.65 (2026-02-01)
brewcode
Added
- skills/install -- new interactive plugin installer
- Single script
install.shwith parameters (state, required, grepai, etc.) - AskUserQuestion for optional components (ollama, grepai)
- Required timeout symlink with confirmation
- Helper functions:
ollama_running(),wait_for_ollama(),get_grepai_versions()
- Single script
Fixed
| File | Fix |
|---|---|
grepai/upgrade.sh |
grepai --version -> grepai version |
grepai/infra-check.sh |
grepai --version -> grepai version |
bc-grepai-configurator.md |
grepai --version -> grepai version |
- install.sh -- security & reliability fixes:
- curl with
--connect-timeout 2 --max-time 5 NONINTERACTIVE=1for Homebrew- Retry loop for ollama start (10 attempts)
- Guard for
ollama list(checkcommand -v ollama) - Symlink safety check (do not overwrite regular files)
- Version fallback
${VER:-unknown}
- curl with
Changed
- grepai skill -- removed
installmode, now separate skill/install - detect-mode.sh -- removed
installmode from grepai
v2.0.64 (2026-02-01)
brewcode
Fixed
-
grepai-reminder.mjs -- added async/stdin pattern
- Reads
input.cwdfrom stdin instead ofprocess.cwd() - Added try/catch with
output({})on errors - Consistency with other hooks (grepai-session, pre-task)
- Reads
-
grepai-session.mjs -- added MCP server check
- New function
checkMcpServer()checksgrepai mcp-serve additionalContextinjected only if MCP server available- Prevents useless grepai_search calls
- New function
-
mcp-check.sh -- 4 security/reliability fixes
mkdir -pbefore creating settings.jsontrap 'rm -f "$TMP_FILE"' EXITfor temp file cleanup- Path injection fix: path via
os.environ['SETTINGS_FILE'] - JSON validation after each write
-
create-rule.sh -- fallback frontmatter fix
globs:->paths:(Claude Code format)- Removed
alwaysApply:(Cursor-only field)
-
grepai.md -- documentation frontmatter fix
- 3 places:
globs:->paths:,alwaysApply:-> removed
- 3 places:
-
SKILL.md -- simplified ARGS instruction
- Removed confusing
ARGS_HEREplaceholder - Direct use of
$ARGUMENTS
- Removed confusing
Changed
- All 12 grepai scripts -- added
set -euo pipefail- detect-mode.sh, infra-check.sh, init-index.sh, start.sh, stop.sh
- reindex.sh, optimize.sh, upgrade.sh, status.sh, verify.sh
- create-rule.sh, mcp-check.sh
v2.0.63 (2026-02-01)
brewcode
Changed
- pre-task.mjs -- removed
systemMessagefrom UI- grepai reminder and knowledge injection in agent prompts works as before
- Logging to
brewcode.logpreserved - UI no longer shows "brewcode: grepai: injected"
v2.0.62 (2026-02-01)
brewcode
Changed
- create-rule.sh -- grepai rule always rewritten from template
- Removed file existence check
- Each
/brewcode:grepai setupupdates rule to current version
v2.0.61 (2026-02-01)
brewcode
Fixed
- pre-task.mjs -- grepai reminder injected for ALL agents
- Previously Explore, Plan, Bash, etc. were in system agents list -> skipped
- Now: grepai reminder -> ALL agents, knowledge injection -> only non-system
- Fixed syntax (unclosed if block)
v2.0.60 (2026-02-01)
brewcode
Fixed
- pre-task.mjs -- critical JSON structure fix
updatedInputmoved insidehookSpecificOutput(per docs)- Added
permissionDecision: 'allow'to apply changes - Without this fix, injection into agent prompts did NOT work
v2.0.59 (2026-02-01)
brewcode
Fixed
- Hooks use correct fields -- fixed per Claude Code docs
systemMessage-> shown to useradditionalContext-> goes to Claude context- For agents: reminder injected in
updatedInput.prompt
- grepai-session.mjs --
hookSpecificOutput.additionalContextfor SessionStart - grepai-reminder.mjs --
hookSpecificOutput.additionalContextfor PreToolUse Glob/Grep - pre-task.mjs -- reminder in agent prompt (not in parent's additionalContext)
v2.0.58 (2026-02-01)
brewcode
Changed
- grepai reminder everywhere -- single imperative message
grepai: USE grepai_search FIRST for code exploration
- grepai-session.mjs -- reminder at session start (when grepai ready)
- pre-task.mjs -- reminder for ALL agents (Explore, developer, etc.)
- grepai-reminder.mjs -- strengthened:
consider->USE FIRST - create-rule.sh -- adds Code Search section to project CLAUDE.md
v2.0.57 (2026-02-01)
brewcode
Changed
- grepai-reminder.mjs -- systemMessage instead of console.log
- Claude now sees reminder in context
- Message:
grepai MCP available -- consider FIRST!
v2.0.56 (2026-02-01)
brewcode
Changed
- mcp-check.sh -- automatic
allowedToolssetup for grepai- Adds
mcp__grepai__*to~/.claude/settings.json - Removes
[destructive]prompts for read-only tools
- Adds
- grepai-first.md.template -- shortened and improved
- Removed duplication with MCP descriptions
- Added inline call->response examples
- Reference to MCP: "Params -> MCP descriptions"
- status.sh, verify.sh -- show Permissions status
Updated Files
| File | Change |
|---|---|
skills/grepai/scripts/mcp-check.sh |
allowedTools auto-config |
skills/grepai/scripts/status.sh |
Permissions status |
skills/grepai/scripts/verify.sh |
Permissions check |
skills/grepai/SKILL.md |
Phase 2 docs |
templates/rules/grepai-first.md.template |
inline examples, no MCP duplication |
v2.0.55 (2026-01-31)
brewcode
Changed
- setup.sh --
grepai-first.mdsynced on every setup- Uses
sync_template(updates if changed) - No manual deletion needed for updates
- Uses
Updated Files
| File | Change |
|---|---|
skills/setup/scripts/setup.sh |
sync grepai-first.md on setup |
v2.0.54 (2026-01-31)
brewcode
Changed
- grepai-first.md.template -- complete rewrite
- Tools table with params
limit?,compact? <examples>with JSON responses for search/callers/graph- Table
limit + compact-> response -> workflow - Removed obvious content (Grep/Glob -- Claude knows)
- Tools table with params
Updated Files
| File | Change |
|---|---|
templates/rules/grepai-first.md.template |
search types, compact mode, examples |
v2.0.53 (2026-01-31)
brewcode
Added
- grepai-reminder hook -- PreToolUse hook for Glob/Grep tools
- Reminds Claude to prefer
grepai_searchwhen.grepai/exists - Debug logging via
log()utility - Non-blocking (exit 0), soft reminder only
- Reminds Claude to prefer
Updated Files
| File | Change |
|---|---|
hooks/grepai-reminder.mjs |
New hook script |
hooks/hooks.json |
Added PreToolUse matcher for Glob|Grep |
v2.0.52 (2026-01-31)
brewcode
Fixed
- grepai indexing uses
grepai watch--grepai initdoes NOT build index, only creates configreindex.sh: complete rewrite -- usesgrepai watch, polls for "Initial scan complete"init-index.sh: rewritten -- usesgrepai watch, skips if index exists- Added .grepai directory validation to init-index.sh
- Dynamic timeouts based on file count (2 min to 60 min)
Changed
- Log paths -- all scripts use
.grepai/logs/grepai-watch.log - Documentation -- updated SKILL.md and bc-grepai-configurator.md with correct
grepai watchreferences
Updated Files
| File | Change |
|---|---|
skills/grepai/scripts/reindex.sh |
Complete rewrite for grepai watch |
skills/grepai/scripts/init-index.sh |
Rewritten with validation |
skills/grepai/SKILL.md |
Updated log paths, watch references |
agents/bc-grepai-configurator.md |
Updated Phase 5, troubleshooting |
v2.0.51 (2026-01-31)
brewcode
Fixed
- reindex.sh index.gob wait -- wait up to 30s for index.gob after watch starts
- Fixes race condition where "index.gob missing" shown before watch creates it
- Shows progress: "Waiting for index.gob (watch is building)..."
v2.0.50 (2026-01-31)
brewcode
Fixed
- grepai indexing synchronous -- scripts wait for
grepai initto complete before starting watchinit-index.sh: runs init synchronously withteeto log, then starts watchreindex.sh: same fix -- waits for init, logs to.grepai/logs/grepai-init.logSKILL.md: updated warnings to reflect synchronous behaviorbc-grepai-configurator.md: updated Phase 5 indexing notes
Changed
- Log output -- init progress goes to
.grepai/logs/grepai-init.logwith timestamps - Duration tracking -- scripts show actual indexing time on completion
Updated Files
| File | Change |
|---|---|
skills/grepai/scripts/init-index.sh |
Synchronous init with logging |
skills/grepai/scripts/reindex.sh |
Synchronous init with logging |
skills/grepai/SKILL.md |
Updated async->sync warnings |
agents/bc-grepai-configurator.md |
Updated Phase 5 notes |
v2.0.49 (2026-01-31)
brewcode
Added
-
grepai gitignore docs -- documented gitignore behavior and limitations
bc-grepai-configurator.md: new "## gitignore Behavior" section- Explains 3 layers: global gitignore -> local -> config.yaml
ignore: - Workarounds table, diagnostic commands
- Updated Phase 2 agent #5 to check global gitignore
-
grepai indexing time estimates -- scripts show file count and ETA
init-index.sh: counts files, shows ETA, background indexing noticereindex.sh: same improvementsstatus.sh: shows "indexing in progress" from log activitySKILL.md: warnings after Phase 4 and reindex modebc-grepai-configurator.md: indexing time table in Phase 5
Changed
- grepai-first.md -- added Limitations section (gitignore behavior)
- CLAUDE.md -- added "### Limitations (gitignore)" in grepai section
Updated Files
| File | Change |
|---|---|
agents/bc-grepai-configurator.md |
gitignore docs, indexing time table |
skills/grepai/SKILL.md |
async indexing warnings |
skills/grepai/scripts/init-index.sh |
file count, ETA, progress commands |
skills/grepai/scripts/reindex.sh |
file count, ETA, progress commands |
skills/grepai/scripts/status.sh |
indexing progress detection |
.claude/rules/grepai-first.md |
gitignore limitations |
CLAUDE.md |
gitignore limitations |
v2.0.47 (2026-01-31)
brewcode
Removed
- Symlinks -- removed all symlink-related functionality
- Claude Code fixed plugin skill display (#18949)
- Removed Phase 5 (Enable Autocomplete) from
/brewcode:setup - Removed
linkmode from setup skill - Removed symlink creation from
setup.sh - Removed symlink removal from
/brewcode:teardown
Changed
- Skill triggers -- updated to colon syntax
/brewcode-*->/brewcode:*(plugin namespace)brewcode-reviewdirectory remains for project-local skill
Updated Files
| File | Change |
|---|---|
skills/setup/SKILL.md |
Removed Phase 5, link mode, symlink output |
skills/setup/scripts/setup.sh |
Removed symlinks mode and functions |
skills/teardown/SKILL.md |
Removed symlink mentions |
skills/teardown/teardown.sh |
Removed symlink removal loop |
skills/review/SKILL.md |
Updated trigger to :review |
skills/doc/SKILL.md |
Updated trigger to :doc |
agents/bc-coordinator.md |
Updated skill references |
templates/instructions-template.md |
Updated all skill references |
README.md |
Removed symlink references, updated examples |
CLAUDE.md |
Updated /brewcode:setup description |
v2.0.46 (2026-01-31)
brewcode
Fixed
- status.sh -- version detection for grepai CLI
- Fixed:
grepai version(subcommand) instead of--version(flag) - Fixed: macOS compatibility (removed
timeoutcommand) - Shows:
grepai: v0.25.0 (brew: v0.24.1)
- Fixed:
v2.0.45 (2026-01-31)
brewcode
Added
- grepai skill --
upgrademode for CLI updates via Homebrewscripts/upgrade.sh-- version check + brew upgrade- Keywords: upgrade, brew
- status.sh -- version comparison (current vs latest)
- Shows
v0.23.0 (v0.24.0 available)when outdated
- Shows
Changed
- bc-grepai-configurator -- optimized for LLM (-32% tokens)
- Fixed MCP paths (
~/.claude.jsoninstead of~/.claude/mcp.json) - Added
compactparam togrepai_trace_graph - Added MCP Integration phase (Phase 4)
- Fixed MCP paths (
- grepai-first.md.template -- improved clarity
- Fixed
--compactsyntax (wascompact:true) - Added WebSearch row to decision table
- Removed unverified "3-7 words" guideline
- Fixed
- grepai-session.mjs -- Windows compatibility
- Added platform check for
pgrep(macOS/Linux only) - Documented limitation in header comment
- Added platform check for
- SKILL.md -- removed unused
Globfrom allowed-tools
Fixed
- init-index.sh -- added explicit
exit 0 - detect-mode.sh -- added
(unrecognized text) -> promptto Mode Reference
Updated Files
| File | Change |
|---|---|
agents/bc-grepai-configurator.md |
MCP paths, trace params, -32% tokens |
templates/rules/grepai-first.md.template |
--compact, WebSearch, clarity |
skills/grepai/SKILL.md |
upgrade mode, allowed-tools |
skills/grepai/scripts/upgrade.sh |
NEW -- brew upgrade |
skills/grepai/scripts/status.sh |
version comparison |
skills/grepai/scripts/detect-mode.sh |
upgrade keywords |
skills/grepai/scripts/init-index.sh |
exit 0 |
hooks/grepai-session.mjs |
Windows check |
v2.0.44 (2026-01-30)
brewcode
Added
- bc-grepai-configurator -- added "Supported File Extensions" section
- Full list of 50+ extensions from
indexer/scanner.go - Explicit
.mjs/.cjs/.mts/.ctsNOT supported warning - Auto-excluded files list (minified, bundles, binaries, >1MB)
- Full list of 50+ extensions from
Changed
- bc-grepai-configurator -- updated
.mjsconstraint with source link to scanner.go
Updated Files
| File | Change |
|---|---|
agents/bc-grepai-configurator.md |
Added extensions table, source links |
v2.0.43 (2026-01-30)
brewcode
Added
- Setup
linkmode -- quick symlink refresh without full setup- Usage:
/brewcode:setup link - Use after plugin update to refresh
~/.claude/skills/brewcode-*symlinks
- Usage:
- RELEASE-NOTES.md -- changelog with format and protocol
Changed
- CLAUDE.md -- added requirement to update RELEASE-NOTES.md before plugin version bump
Updated Files
| File | Change |
|---|---|
skills/setup/SKILL.md |
Added link mode with Mode Detection section |
RELEASE-NOTES.md |
New file |
v2.0.42 (2026-01-30)
brewcode
Fixed
- Rules frontmatter documentation -- corrected invalid fields
globs-> NOT supported (was incorrectly used)alwaysApply-> NOT supported (Cursor field, not Claude Code)paths-> Only valid field for conditional loading
Updated Files
| File | Change |
|---|---|
skills/rules/SKILL.md |
Added frontmatter reference section |
agents/bc-knowledge-manager.md |
Added rules frontmatter reference |
Known Issues
- Bug #16299: Lazy loading not working -- all rules load at session start regardless of
paths
Documentation Sources
| Topic | URL |
|---|---|
| Official Rules Docs | code.claude.com/docs/en/memory |
| YAML Syntax Fix | Issue #13905 |
| Lazy Loading Bug | Issue #16299 |
v2.0.41 and earlier
See git history for previous changes.
Format
## vX.Y.Z (YYYY-MM-DD)
### Added | Changed | Fixed | Removed | Deprecated | Security
- **Feature/Component** -- description
- Details if needed
### Updated Files (optional)
### Known Issues (optional)
### Breaking Changes (if any)
Protocol
| Rule | Description |
|---|---|
| Versioning | SemVer: MAJOR.MINOR.PATCH |
| MAJOR | Breaking changes, incompatible API |
| MINOR | New features, backward compatible |
| PATCH | Bug fixes, documentation |
| Order | Newest first |
| Sources | Link to issues/docs when relevant |