{
  "uid": "cogitave.learn.commits-and-versioning.summary",
  "kind": "moduleUnit",
  "href": "/modules/commits-and-versioning/summary/",
  "title": "Summary",
  "summary": "",
  "type": null,
  "products": [],
  "roles": [],
  "levels": [],
  "subjects": [],
  "headings": [
    "Next steps"
  ],
  "source": "You can now write a commit message that versions and releases the code correctly,\nbecause you understand what the machine does with it.\n\nIn this module, you:\n\n- Wrote a **Conventional Commits 1.0.0** message - `<type>[scope][!]: <desc>` -\n  and learned to choose the type from the fixed set, add a scope to say where,\n  and mark a break with `!` or a `BREAKING CHANGE:` footer, all checked by\n  **commitlint** in the `commit-msg` hook and again in CI.\n- Traced how commit types **drive Semantic Versioning 2.0.0**: `feat` to MINOR,\n  `fix` to PATCH, a break to MAJOR - and how the pre-1.0 rule keeps MAJOR at 0\n  until 1.0.0 is declared.\n- Saw **release-please** assemble a human-approved Release-PR, a Keep a Changelog\n  entry, and a SemVer tag, with release-plz, goreleaser, or Changesets standing\n  in for specific repo types.\n- Placed a commit in the **trunk-based, protected-main** flow, where a reviewed,\n  signed, docs-complete PR and a dev-to-staging-to-prod promotion gate every\n  release.\n\n## Next steps\n\n- @cogitave.learn.testing-and-quality - the next module in **Cogitave\n  engineering standards**, on the gate a change must pass once it is committed.\n- The **commits-versioning standard** is the canonical reference, in the\n  estate's standards repository, including the full decision table of engine\n  per repo type.\n- The **branching-release standard** covers the protected-main ruleset,\n  environment promotion, and release flow in full, in the same repository.\n- The root **`AGENTS.md`** states rule 2 (Conventional Commits) and rule 3\n  (signed commits) at the source; they are the floor every release rides on.\n",
  "partOf": "cogitave.learn.commits-and-versioning",
  "durationInMinutes": 3,
  "quiz": null
}