Skip to content

Feat/custom commit message conventions#95

Open
calvinnwq wants to merge 3 commits intokunchenguid:mainfrom
calvinnwq:feat/custom-commit-message-conventions
Open

Feat/custom commit message conventions#95
calvinnwq wants to merge 3 commits intokunchenguid:mainfrom
calvinnwq:feat/custom-commit-message-conventions

Conversation

@calvinnwq
Copy link
Copy Markdown

Summary

  • Add commitMessage.preset: angular config support so successful iteration commits can use agent-provided Angular-style commit metadata.
  • Extend agent output schemas, iteration prompts, and run metadata handling to request and persist commit-message fields when the preset is enabled.
  • Document the new preset behavior and add unit/e2e coverage around config parsing, schema generation, prompt rendering, orchestration, and commit subject formatting.

Risk Assessment

✅ Low: The branch adds a narrowly scoped optional commit-message preset with schema, prompt, config, and commit-message plumbing, and I did not find material correctness, security, performance, or error-handling issues in the changed code.

Testing

  • Summary: Exercised the targeted commit-message config/schema/prompt/orchestrator/CLI tests and the full build-backed test suite; all tests pass after isolating e2e HOME/USERPROFILE from local config.
  • npx vitest run src/core/commit-message.test.ts src/core/config.test.ts src/core/agents/types.test.ts src/core/agents/factory.test.ts src/core/run.test.ts src/templates/iteration-prompt.test.ts src/core/orchestrator.test.ts src/cli.test.ts
  • npm test
  • Outcome: ✅ passed across 1 run (3m17s)

Pipeline

Updates from git push no-mistakes

✅ **Rebase** - passed

Round 1 - passed ✅

✅ **Review** - passed

Round 1 - passed ✅

✅ **Test** - passed

Round 1 - passed ✅

  • npx vitest run src/core/commit-message.test.ts src/core/config.test.ts src/core/agents/types.test.ts src/core/agents/factory.test.ts src/core/run.test.ts src/templates/iteration-prompt.test.ts src/core/orchestrator.test.ts src/cli.test.ts
  • npm test
🔧 **Document** - 3 issues found → auto-fixed

Round 1 - found 3 issues (1 warning, 2 infos)

  • ℹ️ README.md:229 - The new commitMessage user configuration is documented, but the README does not document the Angular preset's concrete output contract: valid type values are build, ci, docs, feat, fix, perf, refactor, test, and chore; omitted or invalid types fall back to chore; and an empty scope is omitted from the header. This is user-visible behavior enforced by the schema and commit-message renderer.
  • ⚠️ AGENTS.md:39 - The agent architecture docs still describe AgentOutput as only success, summary, key_changes_made, key_learnings, plus optional should_fully_stop. With commitMessage.preset: angular, the schema now also requires commit-message fields such as type and scope, and AgentOutput permits these dynamic fields. Update this section so future agent/schema changes do not rely on stale documentation.
  • ℹ️ AGENTS.md:49 - The config architecture docs list agentPathOverride and agentArgsOverride but omit the new optional commitMessage config. Update this section to mention that commitMessage.preset: angular changes the generated output schema/prompt and the successful-iteration commit subject.

Round 2 (auto-fix) - passed ✅

🔧 **Lint** - 1 issue found → auto-fixed

Round 1 - found 1 warning

  • ⚠️ test/e2e.test.ts:133 - Prettier reported code style issues in this changed file. The required formatting starts at line 133, including wrapping long function calls and object literals.

Round 2 (auto-fix) - passed ✅

✅ **Push** - passed

Round 1 - passed ✅

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant