Agent release, commit, and docs rules

Versioning

  • Apply semver in packages/<bundle>/module-package.yaml: patch for bug fixes, minor for additive command or API work, major for breaking changes.
  • When a bundle requires a newer specfact-cli, update core_compatibility in the bundle manifest and the registry metadata when carried there.
  • Treat version bumps and registry updates as one release surface, not independent edits.

Registry and publish flow

  1. Branch from origin/dev into a worktree branch whose name uses one of: feature/*, bugfix/*, hotfix/*, or chore/* (expected sibling worktrees live under ../specfact-cli-modules-worktrees/ per session-bootstrap rules).
  2. Bump the bundle version in packages/<bundle>/module-package.yaml.
  3. Run python scripts/publish_module.py --bundle <bundle> as the publish pre-check.
  4. Publish with the project tooling wrapper when release work is actually intended.
  5. Update registry/index.json with latest_version, artifact URL, and checksum.

Commits

  • Use Conventional Commits.
  • If signed commits fail in a non-interactive shell, stage files and hand the exact git commit -S -m "<message>" command to the user instead of bypassing signing.

Documentation

  • Keep docs current with every user-facing bundle, registry, or workflow change.
  • Preserve Jekyll frontmatter on docs edits.
  • Update navigation when adding or moving pages.
  • Keep cross-links between docs.specfact.io and modules.specfact.io honest.