Skip to content

Latest commit

 

History

History
42 lines (31 loc) · 2.37 KB

File metadata and controls

42 lines (31 loc) · 2.37 KB

Examples

Worked .claude/git.json configs for the three project shapes this plugin is built around. Copy the closest one into your repo's .claude/git.json and adjust — or run /git:init, which interviews the repo and writes one for you.

Every key here is optional. With no config file at all, the plugin infers a working chain from the branches the repo actually has, so these show what overriding looks like, not what is required.

File Shape What it demonstrates
configs/solo-single-branch.json main only The minimum. No promotion chain, so /git:promote correctly reports it does not apply. Changelog machinery switched off with "changelog": null.
configs/two-tier-app.json dev → main A project vocabulary that is not the default — bugfix/ instead of fix/, a defect label — plus one test layer and a lint gate.
configs/three-tier-monorepo.json develop → staging → main Everything at once: multiple layers with per-layer suites, forcesFullSuite, a service probe, deploy notes, ship reminders, release codenames, and promotion steps either side of the PR.

They are also the test corpus

CI resolves every file here through the real resolver and asserts the result is coherent — a usable tier chain, roles that match the chain's length, layers that would actually gate something, a tagFormat that interpolates:

node scripts/check-config-examples.mjs

So an example that drifts out of date fails the build rather than quietly misleading someone. Run it yourself after editing any config here.

Notes on the shapes

Tiers are ordered integration → production. The last entry is always production; the first is integration; a middle entry (3+ tiers only) is pre-production, which is the tier /git:promote targets. A two-tier chain has no pre-production, and the commands say so rather than inventing a hop.

Layers are never inferred. Guessing a monorepo's test commands would silently run the wrong thing, so a project with no layers gets lint only — honest, if thin. The monorepo example is the one to copy if you want per-path suites.

requiresService reads a .env file only to find a host:port to probe. It reports reachability, never a value, and nothing it reads is printed.