Opinionated coding guidelines, quality review agents, and slash commands for Go and Python — packaged as a Claude Code plugin.
Writing consistent, idiomatic code across a large codebase is hard. This plugin bundles 50+ opinionated guides (Go architecture, error handling, testing, HTTP handlers, Python structure, Git workflow, documentation) together with specialized Claude Code agents that enforce them on your code. Install once, then run /coding:local-review or /coding:pr-review to review your work against the full ruleset.
- Claude Code CLI installed
claude plugin marketplace add bborbe/coding
claude plugin install codingUpdate:
claude plugin marketplace update coding
claude plugin update coding@codingReview your current branch against all guidelines:
/coding:pr-review
Review local uncommitted changes in selector mode (default — zero LLM spawns, in-session classify + adjudicate) or full mode (per-owner dispatch, concurrent agents):
/coding:local-review # selector mode (default)
/coding:local-review full # per-owner dispatch
Audit the whole codebase (severity-filtered, baseline-aware):
/coding:code-review # whole codebase, Must Fix + Should Fix only
/coding:code-review --include-optional # add Nice to Have
/coding:code-review --refresh-baseline # write current findings to .code-review-baseline.yaml
Find relevant guides before starting work:
/coding:check-guides "add Prometheus metrics to HTTP handler"
Commit with changelog and version bump:
/coding:commit
| Command | Description |
|---|---|
/coding:pr-review |
Branch diff vs target — selector mode default; full mode = per-owner dispatch |
/coding:local-review [short|selector|full] |
Local uncommitted/recent diff vs HEAD~1 — selector mode default |
/coding:code-review [--include-optional] [--refresh-baseline] |
Whole-codebase audit — severity-filtered (Must + Should) + baseline-aware (.code-review-baseline.yaml) |
/coding:architecture-review [directory] |
Deep whole-codebase architectural review — top-down + dimensions, consolidated Must/Should/Could |
/coding:check-guides "task" |
Find relevant guides before implementation |
/coding:commit |
Git commit with changelog and versioning |
/coding:go-write-test [basic|standard|integration] |
Generate Go tests for changed files |
/coding:github-release [target] [--dry-run] |
Release a git repo (cwd, dir, or owner/repo clone-to-tmp) — classify bump, rewrite header, commit, tag, push, PR fallback |
/coding:go-version [check|update] |
Check/update Go version across project files |
/coding:improve-guide [file] |
Refactor guide into structured rule sets |
/coding:audit-guide [file] |
Audit guide against style, structure, and indexing |
/coding:audit-agent [file] |
Audit agent against Agent & Command Development Guide |
/coding:audit-skill [path] |
Audit skill directory against Claude Code Skill Writing Guide |
/coding:audit-slash-command [file] |
Audit slash command against Agent & Command Development Guide |
/coding:vscode [dir] |
Open VS Code in directory |
/coding:intellij [dir] |
Open IntelliJ IDEA in directory |
All guides live in docs/ and can be read standalone without the plugin.
| Guide | Description |
|---|---|
| Architecture Patterns | Interface → Constructor → Struct → Method |
| Service Implementation | Decision frameworks, type design |
| Factory Pattern | Dependency composition |
| Functional Options | Flexible constructors |
| Functional Composition | Composable function types |
| Enum Pattern | String-based enums |
| Filter Pattern | Composable predicates |
| Boolean Combinator Pattern | And / Or / Not for predicate interfaces |
| Parse Pattern | Custom type conversion |
| CQRS | Command Query Separation |
| Composition | Struct embedding |
| Concurrency | Goroutines, channels |
| State Machine | Phase-dispatched workflows, resumable multi-step processes |
| Package Layout | Flat pkg/ default; subpackage split triggers |
| Guide | Description |
|---|---|
| Error Wrapping | bborbe/errors patterns |
| Context Cancellation | ctx.Done() in loops |
| Time Injection | bborbe/time, CurrentDateTimeGetter |
| GoDoc | Documentation standards |
| Logging | Structured logging |
| glog Levels | glog verbosity-level discipline (legacy projects) |
| Design Patterns | Common Go patterns |
| Guide | Description |
|---|---|
| Testing Guide | Ginkgo v2 + Gomega |
| Test Types | Unit vs integration vs e2e |
| Mocking Guide | Counterfeiter patterns |
| TDD Guide | Red-green-refactor |
| Guide | Description |
|---|---|
| Makefile Commands | Build targets |
| Build Args | BUILD_GIT_VERSION / BUILD_GIT_COMMIT / BUILD_DATE injection + Prometheus build_info |
| Tools Versioning | tools.env + Makefile @version pattern, discriminating-stderr vulncheck |
| Library Guide | Library structure |
| CLI Guide | CLI patterns |
| Validation | Input validation |
| Prometheus Metrics | Metrics implementation |
| Licensing | License management |
| Precommit | Pre-commit workflow |
| Replace Directive | When to use replace in go.mod |
| Linting | Static analysis |
| Security Linting | Security analysis |
| Kubernetes CRD Controller | CRD types, informer, self-install |
| Kubernetes Manifest Layout | k8s/ folder, filename suffixes, templating |
| Guide | Description |
|---|---|
| HTTP Service | Canonical admin endpoint block, port 9090, gateway annotations |
| HTTP Handlers | Handler organization |
| JSON Error Handler | Structured error responses |
| Guide | Description |
|---|---|
| Project Structure | src/ layout, pyproject.toml |
| Architecture | Constructor injection |
| Factory Pattern | Dependency composition |
| IoC / DI | Protocol vs ABC |
| Pydantic | Data validation |
| Logging | Structured logging |
| CLI Arguments | argparse, BaseSettings |
| Makefile Commands | Build targets |
| Guide | Description |
|---|---|
| Git Commit | Commit workflow |
| Git Workflow | Branching strategy |
| Changelog | CHANGELOG.md format |
| Definition of Done | Completion checklist |
| Documentation Guide | README, docs/, PRDs |
| README Guide | README.md standards |
| PRD Guide | Product Requirements |
| ADR Guide | Architecture Decisions |
| Architecture Dimensions | Whole-codebase behavioral review — 8 dimensions (data flow, failure, concurrency, observability, drift) |
| Markdown & Todos | Formatting standards |
| Guide | Description |
|---|---|
| Agent & Command Development | Agent + slash-command authoring standards |
| Skill Writing | Claude Code skill directory structure |
| Rule Block Schema | ### RULE block contract and index schema |
| ast-grep Rule Writing Guide | ast-grep YAML conventions for mechanical rule enforcement |
| Selector Mode Guide | In-session classify + adjudicate procedure for --selector mode |
| Guide | Description |
|---|---|
| Vue 3 + TypeScript | Composition API, Vite |
| Astro | Astro framework |
Agents are invoked by commands — you rarely call them directly. Each reads its matching guide as source of truth.
Go Quality (standard mode, 7 agents)
| Agent | Doc | Checks |
|---|---|---|
go-quality-assistant |
go-architecture-patterns.md |
Naming, file layout, logging, concurrency, transactions |
go-context-assistant |
go-context-cancellation-in-loops.md |
context.Background(), missing ctx.Done() in loops |
go-error-assistant |
go-error-wrapping-guide.md |
fmt.Errorf, bare return err, missing wrapping |
go-time-assistant |
go-time-injection.md |
time.Time in structs, time.Now() in production |
go-factory-pattern-assistant |
go-factory-pattern.md |
Factory compliance, zero-business-logic |
go-http-handler-assistant |
go-http-handler-refactoring-guide.md |
Handler organization, inline detection |
go-test-coverage-assistant |
go-testing-guide.md |
Test coverage gaps |
Go Quality (full mode adds 8 more)
| Agent | Doc | Checks |
|---|---|---|
go-metrics-assistant |
go-prometheus-metrics-guide.md |
Metric types, naming, labels, pre-init |
godoc-assistant |
go-doc-best-practices.md |
GoDoc completeness and format |
go-test-quality-assistant |
go-testing-guide.md |
Ginkgo/Gomega patterns, mock usage |
go-security-specialist |
go-security-linting.md |
Vulnerabilities, OWASP |
srp-checker |
— | Single Responsibility Principle (unit-level) |
go-architecture-assistant |
— | Cross-unit architecture, naive extractions, layering, boundaries |
architecture-dimensions-assistant |
architecture-dimensions-guide.md |
Whole-codebase behavioral review — data flow, failure, concurrency, observability, drift |
go-version-manager |
— | Go version currency |
go-tooling-assistant |
go-makefile-commands.md |
Makefile, tools.go |
Other agents
| Agent | Description |
|---|---|
license-assistant |
LICENSE file, headers, README section |
readme-quality-assistant |
README.md completeness |
shellcheck-assistant |
Shell script quality |
python-quality-assistant |
Python code quality |
python-architecture-assistant |
Cross-module architecture, naive extractions, layering, boundaries |
context7-library-checker |
Library API currency |
go-test-writer-assistant |
Generate Go tests |
guide-improvement-assistant |
Refactor guides |
guide-auditor |
Audit guides against style/structure/indexing |
agent-auditor |
Audit agent files against Agent & Command Development Guide |
slash-command-auditor |
Audit slash commands against Agent & Command Development Guide |
skill-auditor |
Audit skills against Claude Code Skill Writing Guide |
simple-bash-runner |
Run build commands |
pre-implementation-assistant |
Find relevant guides |
coding-guidelines-finder |
Search docs/ |
release-changelog-assistant |
Classify semver bump from ## Unreleased + optionally rewrite to conventional-prefix style; invoked by /coding:commit Workflow B, /coding:github-release, and K8s agent/github-releaser |
project-docs-finder |
Search project docs/ |
End-to-end acceptance walks for the doc-driven review pipeline, following the dark-factory scenario writing guide. Each scenario file under scenarios/ is a manually-walked checklist; promote draft → active after the first successful walk.
| # | Scenario | Validates |
|---|---|---|
| 001 | toolchain-preflight | Step 4.0 / Step 0 preflight blocks exit 1 with documented stderr when ast-grep / sg is absent from PATH |
| 002 | clean-pr-zero-findings | /coding:local-review master against a zero-violation diff produces empty Must Fix / Should Fix / Nice to Have (no LLM hallucination) |
| 003 | scaling-funnel-100-files | 100-file synthetic fixture: mechanical funnel ≤30s, distinct Owners ≤30 (structural ceiling on Step 4b LLM calls) |
| 004 | findings-exist-path | /coding:pr-review against the stable test PR bborbe/maintainer#2: Step 4a surfaces ≥4 findings, every Owner has an agent file, citation discipline holds |
Issues and pull requests welcome at github.com/bborbe/coding.
Guides are the source of truth — agents enforce them. To propose a rule change, edit the relevant file in docs/ and open a PR.
BSD-2-Clause. See LICENSE.