buff

Buff is a token-efficient full-lifecycle development system for Claude Code, streamlining every stage of development.

buff

version license platform

Token-efficient full-lifecycle development system for Claude Code.

buff covers every stage of development in one plugin — planning, coding, testing, execution, validation, documentation, and simplification. An adaptive memory layer (Counterfeit) learns your codebase and preferences over time, eliminating repeated questions and personalizing output to your stack. Commits happen at logical feature boundaries using conventional commits (feat:, fix:, refactor:, test:, docs:).

Install

/plugin marketplace add betheer/buff
/plugin install buff@buff

Or clone and install locally:

cc --plugin-dir /path/to/buff

Skills

CommandPurpose
/buff:planScan project, ask ≤3 targeted questions, write .buff/plan.md
/buff:codeAuto-activating coding knowledge (silent) · /buff:code audit for explicit
/buff:testGenerate tests with auto-detected framework
/buff:executeRun the buff dev loop from .buff/plan.md
/buff:validateHigh-sensitivity code quality check
/buff:docsGenerate docs (README or full docs/ folder based on project size)
/buff:simplifyScalpel simplification — top hotspots only
/buff:counterfeitInspect or reset Counterfeit memory

Agents

AgentTriggerPurpose
architectProactive during planningDeep architecture design + Mermaid diagrams
test-generatorProactive during testingAutonomous test file generation
doc-writerProactive during docsAutonomous documentation generation
forge/buff:autoFull autonomous dev loop — plan → code → test → validate, infinite cycles

Memory

  • Global ~/.buff/memory/ — stack, style, and communication preferences across all projects
  • Project .buff/memory/ — architecture decisions, plan progress, recent session state
  • Stale entries pruned after 30 days of inactivity. Max injected payload: <3K tokens.

Config

Override defaults via ~/.buff/config.toml (optional):

[memory]
global_path = "~/.buff/memory"
project_path = ".buff/memory"
max_tokens = 2000
prune_after_days = 30

[git]
style = "conventional"  # or "descriptive"
frequency = "feature"   # or "always"

[session]
greeting = true  # show 2-3 line session summary on start

Apache 2.0 · Kal