

Also from Kynth Studios


Also from Kynth Studios


Also from Kynth Studios
1# Neptune23Neptune is a Terraform and OpenTofu PR automation tool. It runs plan/apply on pull requests using the [Terramate](https://github.com/terramate-io/terramate) Go SDK for change detection and run order. Object storage (GCS or S3) is used for stack locking; GitHub handles PR requirements and comments.45**Language**: Go. See `go.mod` for the current version.67---89## Mandatory Rules1011These rules always apply — do not skip them under any circumstances.1213### DCO Sign-off1415Every commit **must** be signed off with `git commit -s`. The DCO bot is enabled; PRs with unsigned commits will fail.1617- If you committed without sign-off: `git commit --amend -s --no-edit` then force-push.18- Never add `Made-with: Cursor` or similar trailers to commit messages.1920Before every commit, verify `user.name` and `user.email` are set in git config (global or local):2122```sh23git config user.name # must return a non-empty value24git config user.email # must return a non-empty value25```2627If either is missing, resolve the values before committing:28291. Try to infer them from context — run `gh api user --jq '.name,.email'` to retrieve the authenticated GitHub user's name and email.302. If the email is private or empty, try `gh api user/emails --jq '.[].email'` and pick the primary address.313. If the values still cannot be determined, **ask the user** what `user.name` and `user.email` should be — do not use placeholder values.3233Once resolved:3435```sh36git config user.name "<resolved name>"37git config user.email "<resolved email>"38```3940### Documentation After Changes4142After any change that affects behavior, config, CLI flags, or CI, delegate documentation updates to the **documentation-maintainer** agent.4344**Within a Claude Code session:** Use the Agent tool with `subagent_type: "documentation-maintainer"` and describe what changed in the prompt.4546**From terminal:**4748```bash49claude --agent documentation-maintainer "update docs for: <what changed>"50```5152The agent runs the full checklist: README, docs/, examples/, AGENTS.md, CLAUDE.md, .claude/commands, .claude/skills. Do not skip this step.5354### Issue Creation Validation5556When creating GitHub issues via `/feature` or `/bug`, validate the draft with the **issue-reviewer** agent before calling `gh issue create`. Do not upload until the draft is approved or refined.5758---5960## Go Standards6162Applies to all `**/*.go` files:6364- **Format**: `gofmt -s`. Run `make check-fmt` before committing; CI enforces it.65- **Lint**: Conform to `.golangci.yml`. Do not introduce new violations.66- **Packages**: Code in `internal/` must not be imported from outside this module.67- **Errors**: Wrap errors with context: `fmt.Errorf("context: %w", err)`. Never silently ignore errors.68- **Exports**: Public functions and types must have doc comments starting with the identifier name.69- **Tests**: Place `*_test.go` in the same package as the code. Use table-driven tests.7071---7273## Config Schema (`.neptune.yaml`)7475Top-level keys:7677```yaml78repository:79 object_storage: "gs://..." # GCS or S3 bucket for locking80 branch: main81 plan_requirements: [...]82 apply_requirements: [...]83 allowed_workflow: <string>84 automerge: true/false # Optional; enables auto-merge after apply85workflows:86 <name>:87 steps:88 - run: <command>89 once: false # default: run per stack; true: run once in root90 depends_on: [...] # optional91```9293Required environment variables: `NEPTUNE_CONFIG_PATH`, `GITHUB_REPOSITORY`, `GITHUB_TOKEN`, plus object storage credentials.9495When the schema changes, update README, `.neptune.example.yaml`, `examples/`, and AGENTS.md.9697---9899## CI and Release100101Applies to `.github/**/*.yml`, `Makefile`, `.goreleaser.yml`:102103- **Semver**: Tags use `vMAJOR.MINOR.PATCH` (e.g. `v0.2.0`). The `v` prefix is required.104- **Release**: Push a tag → CI runs `release.yml` → GoReleaser creates GitHub Release with binaries, Lambda zip, checksums, and release notes.105- **Release notes**: Generated by GitHub (github-native) and categorized by `.github/release.yml` + PR labels. For breaking changes to appear under "Breaking Changes", apply the `breaking-change` label before merge.106- **Branch naming for labels**: `feat/...` → feature, `fix/...` → bug, `enhance/...` → enhancement, `ci/...` → github-actions, `(deps)/...` → dependencies, branch with `!` → breaking-change.107- Keep path filters and job dependencies intact in CI workflows. Do not remove or override Renovate config in `.github/renovate.json5`.108109---110111## Agents, Commands, and Skills112113Agents are managed centrally in the [code-agent-hub](https://github.com/devopsfactory-io/code-agent-hub) at `.claude/agents/<role>/AGENTS.md`, each loading project-specific context from `.claude/skills/neptune/<role>/SKILL.md`. Commands and skills remain local in `.claude/`:114115| Type | Name | Purpose | Location |116| ---- | ---- | ------- | -------- |117| Agent | `documentation-maintainer` | Runs full doc checklist after code/config/CI changes | hub |118| Agent | `em` | Engineering Manager — coordinates Neptune team | hub |119| Agent | `go-developer` | Go implementation for Neptune | hub |120| Agent | `iac-developer` | IaC modules and GitHub Actions | hub |121| Agent | `issue-reviewer` | Triages open issues; validates drafts before upload | hub |122| Agent | `issue-writer` | Creates GitHub issues from `/feature` and `/bug` commands | hub |123| Agent | `platform-engineering` | GitOps, CI/CD, observability | hub |124| Agent | `pr-reviewer` | Reviews PRs via `gh` CLI — DCO, Go style, tests, docs | hub |125| Agent | `qa` | Code quality and test coverage | hub |126| Agent | `security` | Security scanning for code and IaC | hub |127| Command | `/bug` | Create a bug report (invokes issue-writer) | local |128| Command | `/feature` | Create a feature request (invokes issue-writer) | local |129| Skill | `maintain-documentation` | Delegates doc updates to documentation-maintainer agent | local |130| Skill | `open-pull-request` | Commits and opens a PR via `gh` with DCO sign-off | local |131| Skill | `release-and-versioning` | Cuts a semver release with GoReleaser | local |132| Skill | `testing-and-ci` | Runs tests, lint, format checks; explains CI | local |133
One repository carrying more than one format is the comparison this product exists for: does anyone actually write different content in each file, or is one a copy of the other?
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| devopsfactory-io/neptune.cursor/rules/ci-and-release.mdc · 3 | Cursor rules | deployment | 45/100 | 14 days ago | |
| devopsfactory-io/neptune.cursor/rules/commits-dco.mdc · 3 | Cursor rules | gitdo-not | 38/100 | 14 days ago | |
| devopsfactory-io/neptune.cursor/rules/config-and-yaml.mdc · 3 | Cursor rules | no sections | 16/100 | 14 days ago | |
| devopsfactory-io/neptune.cursor/rules/docs-and-ai-context.mdc · 3 | Cursor rules | docs | 16/100 | 14 days ago | |
| devopsfactory-io/neptune.cursor/rules/go-standards.mdc · 3 | Cursor rules | lint-format | 35/100 | 14 days ago | |
| devopsfactory-io/neptune.cursor/rules/issue-creation.mdc · 3 | Cursor rules | no sections | 24/100 | 14 days ago | |
| devopsfactory-io/neptuneAGENTS.md · 3 | AGENTS.md | setupbuildtestlint-format+5 | 81/100 | 14 days ago |
Same format, overlapping stack, ranked by quality.
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| dotCMS/corecore-web/CLAUDE.md · 949 | CLAUDE.md | teststylearchtesting-strategy+3 | 100/100 | 14 days ago | |
| tphakala/birdnet-goCLAUDE.md · 1.6k | CLAUDE.md | buildtestlint-formatstyle+8 | 100/100 | today | |
| tyrchen/geektime-bootcamp-aiw7/genslides/backend/CLAUDE.md · 230 | CLAUDE.md | testlint-formatstylearch+6 | 100/100 | 9 days ago | |
| nimbalyst/nimbalystpackages/android/CLAUDE.md · 1.5k | CLAUDE.md | setupbuildstylearch+2 | 100/100 | 14 days ago | |
| microsoft/playwrightCLAUDE.md · 95k | CLAUDE.md | buildtestlint-formatstyle+7 | 100/100 | 7 days ago | |
| Adit-Jain-srm/NightmareNetCLAUDE.md · 46 | CLAUDE.md | buildtestlint-formatstyle+6 | 100/100 | 14 days ago | |
| stacklok/toolhiveCLAUDE.md · 2.0k | CLAUDE.md | buildteststylearch+4 | 100/100 | 14 days ago | |
| bagisto/bagistoCLAUDE.md · 28k | CLAUDE.md | setupbuildteststyle+5 | 100/100 | 7 days ago |
A badge carrying the measured quality of the strongest agent config file in this repository, out of 100. It reads from this index every time somebody loads your page, so it changes when the measurement changes and there is nothing to keep up to date. Free, no account, and the value is not something you or we can set by hand.
[](https://rulestack.kynth.studio/configs/devopsfactory-io-neptune-claude)Would rather not hotlink us? Every badge is also served in shields.io’s endpoint schema, so shields renders the image and your readers never talk to our domain:
Published by Toolproof, the masthead over this index and eight others. The method behind the number is at toolproof.kynth.studio/methodology, and the whole thing is readable as JSON with no key at /api.