chore: add AgentReady scaffolding for AI-assisted development#3415
chore: add AgentReady scaffolding for AI-assisted development#3415joejstuart wants to merge 10 commits into
Conversation
cover.out, coverage.txt, editor swap files, and .DS_Store were not ignored, causing them to show up in git status after test runs and on macOS. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The existing check-commit-message hook validates format but isn't recognized by standard tooling. Adding commitlint with @commitlint/config-conventional makes conventional commit enforcement explicit and interoperable with other tools. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Blocks import of deprecated io/ioutil package (removed in Go 1.16). depguard can be extended with additional rules to enforce import boundaries between internal packages. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Documents how to lint and format individual Go files without running the full test suite. Useful for fast feedback during development and for AI agents verifying changes file-by-file. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The README documented building and testing but not how to install a pre-built binary from a release. Adding this makes the project more approachable for new users. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Prompts contributors for what changed, why, and a Jira ticket link. Matches the existing GitLab MR template format. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Path-scoped rule for acceptance/** surfaces test conventions (Godog, Testcontainers, snapshot testing) only when editing acceptance tests, keeping the default context lean. PostToolUse hook auto-runs gofmt on edited .go files for immediate formatting feedback during AI-assisted development. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
🤖 Finished Review · ✅ Success · Started 12:14 AM UTC · Completed 12:19 AM UTC |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Enterprise Run ID: 📒 Files selected for processing (1)
💤 Files with no reviewable changes (1)
📝 WalkthroughWalkthroughAdds contributor documentation and pull request guidance, configures Go formatting and lint enforcement, normalizes a pre-commit hook, and expands ignored local or generated files. ChangesRepository workflows
Estimated code review effort: 2 (Simple) | ~10 minutes 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 3
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.claude/settings.json:
- Line 9: Update the Go handling in the PostToolUse command to iterate over each
path in CLAUDE_FILE_PATHS rather than treating the entire value as one filename,
and run gofmt -w on Go files so they are formatted automatically. Ensure the
hook reliably reports formatting failures if formatting cannot be applied, while
preserving the existing non-Go path behavior.
In @.commitlintrc.yaml:
- Around line 1-2: Add the repository-standard license header at the beginning
of .commitlintrc.yaml, before the extends configuration, without changing the
existing commitlint settings.
In @.gitignore:
- Around line 173-175: Add coverage-acceptance.out to the Go coverage output
section of .gitignore, or use an appropriate coverage-*.out pattern, so make
acceptance artifacts are ignored.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Enterprise
Run ID: cdfa220d-361e-4d70-af84-1d57e92a0258
📒 Files selected for processing (9)
.claude/rules/acceptance-tests.md.claude/settings.json.commitlintrc.yaml.github/pull_request_template.md.gitignore.golangci.yaml.pre-commit-config.yamlAGENTS.mdREADME.md
| "hooks": [ | ||
| { | ||
| "type": "command", | ||
| "command": "if echo \"$CLAUDE_FILE_PATHS\" | grep -q '\\.go$'; then gofmt -l \"$CLAUDE_FILE_PATHS\" 2>/dev/null; fi" |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟠 Major | ⚡ Quick win
Make the Go hook format or fail reliably.
gofmt -l only prints unformatted files and still exits successfully, so this PostToolUse hook neither applies formatting nor enforces it. Quoting the entire CLAUDE_FILE_PATHS value also makes multiple edited paths a single invalid filename. Iterate over the paths and use gofmt -w for automatic formatting, or explicitly fail when gofmt -l reports files.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In @.claude/settings.json at line 9, Update the Go handling in the PostToolUse
command to iterate over each path in CLAUDE_FILE_PATHS rather than treating the
entire value as one filename, and run gofmt -w on Go files so they are formatted
automatically. Ensure the hook reliably reports formatting failures if
formatting cannot be applied, while preserving the existing non-Go path
behavior.
Review — #3415Verdict: approve ✅ SummaryThis PR adds repository scaffolding to improve AI-assisted development readiness: Claude Code configuration (path-scoped rules, The changes are low-risk: no Go source code is modified, no build logic changes, and no existing behavior is altered. The Dimension assessment
FindingsLow — redundant The existing Not blocking — intent-documenting duplicates are a stylistic choice.
Labels: PR adds developer tooling config, documentation, and lint rules Previous runReviewVerdict: approve · Low-risk scaffolding PR — all changes are to configuration, documentation, and tooling files. No production code is modified. SummaryThis PR adds repository scaffolding for AI-assisted development readiness:
FindingsLow — Low — Minor All findings are low severity. The changes are safe to merge.
Previous run (2)Review — approveScope: 9 files changed (96 additions, 1 deletion) — tooling scaffolding, docs, and developer-experience improvements for AgentReady Gold certification. Changes reviewed
AssessmentCorrectness: No runtime code changes. All configuration files use correct syntax and structure. The Security: No security concerns. The Intent & coherence: The changes align with the stated goal of AgentReady scaffolding. The Documentation: The AGENTS.md addition is useful. The README "Installation" section adds a quick-start entry point for new users. Observations
Both observations are low-severity and do not block the change.
Labels: PR adds developer tooling configuration and documentation scaffolding Previous run (3)Review — approveStraightforward scaffolding PR adding developer tooling configuration and documentation. All changes are additive or minimally modify existing config files. No production code is altered, and the changes align with the stated goal of improving AI-assisted development readiness. Changes reviewed
Observations
Pre-commit hook overlap (low): The new CorrectnessNo logic changes. Config additions are syntactically valid. The SecurityNo secrets, credentials, or executable production code introduced. The Intent & scopeThe PR delivers exactly what it describes: gitignore hygiene, conventional commit enforcement, linter hardening, Claude Code configuration, PR template, and doc improvements. Scope is well-bounded. Heavier items (ADRs, design docs, threat model) are correctly deferred to separate tickets (EC-2000, EC-2001).
Labels: PR adds AI agent configuration, developer tooling (commitlint, depguard, pre-commit hooks), and documentation updates |
Codecov Report✅ All modified and coverable lines are covered by tests.
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
CI lint requires Apache 2.0 license headers on all tracked files. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
🤖 Finished Review · ✅ Success · Started 12:38 AM UTC · Completed 12:44 AM UTC |
gofmt -l only lists unformatted files without formatting them. Switch to gofmt -w to auto-format. Also iterate over CLAUDE_FILE_PATHS line by line instead of passing the whole value as a single filename argument. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
🤖 Finished Review · ✅ Success · Started 12:51 AM UTC · Completed 12:56 AM UTC |
The agentready conventional_commits assessor only checks for tooling presence, not commit format. Our changelog pipeline uses PR titles from the GitHub API, not commit message prefixes. Conventional commit prefixes waste subject line real estate without serving any purpose in this workflow. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
🤖 Finished Review · ✅ Success · Started 4:52 PM UTC · Completed 4:57 PM UTC |
What:
Add repository scaffolding to improve AI-assisted development readiness: conventional commit enforcement, single-file verification docs, Claude Code configuration, PR template, and minor hygiene fixes.
Why:
Improving the repo's AgentReady score to Gold certification. These are the lightweight changes (gitignore, linting, docs, templates, hooks). Heavier items (ADRs, design docs, threat model) are tracked separately in EC-2000 and EC-2001.
Tickets:
EC-1859