Files
claude-skills-reference/engineering/changelog-generator/references/monorepo-strategy.md
Alireza Rezvani 3d9d1d2d92 Dev (#249)
* docs: restructure README.md — 2,539 → 209 lines (#247)

- Cut from 2,539 lines / 73 sections to 209 lines / 18 sections
- Consolidated 4 install methods into one unified section
- Moved all skill details to domain-level READMEs (linked from table)
- Front-loaded value prop and keywords for SEO
- Added POWERFUL tier highlight section
- Added skill-security-auditor showcase section
- Removed stale Q4 2025 roadmap, outdated ROI claims, duplicate content
- Fixed all internal links
- Clean heading hierarchy (H2 for main sections only)

Closes #233

Co-authored-by: Leo <leo@openclaw.ai>

* fix: enhance 5 skills with scripts, references, and Anthropic best practices (#248)

* fix(skill): enhance git-worktree-manager with scripts, references, and Anthropic best practices

* fix(skill): enhance mcp-server-builder with scripts, references, and Anthropic best practices

* fix(skill): enhance changelog-generator with scripts, references, and Anthropic best practices

* fix(skill): enhance ci-cd-pipeline-builder with scripts, references, and Anthropic best practices

* fix(skill): enhance prompt-engineer-toolkit with scripts, references, and Anthropic best practices

* docs: update README, CHANGELOG, and plugin metadata

* fix: correct marketing plugin count, expand thin references

---------

Co-authored-by: Leo <leo@openclaw.ai>

---------

Co-authored-by: Leo <leo@openclaw.ai>
2026-03-04 08:38:06 +01:00

1.3 KiB

Monorepo Changelog Strategy

Approaches

Strategy When to use Tradeoff
Single root changelog Product-wide releases, small teams Simple but loses package-level detail
Per-package changelogs Independent versioning, large teams Clear ownership but harder to see full picture
Hybrid model Root summary + package-specific details Best of both, more maintenance

Commit Scoping Pattern

Enforce scoped conventional commits to enable per-package filtering:

feat(payments): add Stripe webhook handler
fix(auth): handle expired refresh tokens
chore(infra): bump base Docker image

Rules:

  • Scope must match a package/directory name exactly
  • Unscoped commits go to root changelog only
  • Multi-package changes get separate scoped commits (not one mega-commit)

Filtering for Package Releases

# Generate changelog for 'payments' package only
git log v1.3.0..HEAD --pretty=format:'%s' | grep '^[a-z]*\(payments\)' | \
  python3 scripts/generate_changelog.py --next-version v1.4.0 --format markdown

Ownership Model

  • Package maintainers own their scoped changelog
  • Platform/infra team owns root changelog
  • CI enforces scope presence on all commits touching package directories
  • Root changelog aggregates breaking changes from all packages for visibility