@@ -35,6 +35,96 @@ This repository **must** be in a sibling directory relationship with the API and
3535 └── CLAUDE.md # This file
3636```
3737
38+ ## Commit Guidelines
39+
40+ This repository follows [Conventional Commits](https://www.conventionalcommits.org/) specification.
41+
42+ ### Commit Message Format
43+
44+ ```
45+ <type>(<scope>): <subject>
46+
47+ <body>
48+
49+ <footer>
50+ ```
51+
52+ **Example:**
53+ ```
54+ feat(compose): add health check timeout configuration
55+
56+ Add configurable health check timeouts for postgres service
57+ to allow customization in production environments.
58+
59+ BREAKING CHANGE: Health check configuration now requires
60+ explicit timeout values in .env file.
61+ ```
62+
63+ ### Commit Types
64+
65+ - **feat:** New service, configuration option, or deployment capability (triggers MINOR release)
66+ - **fix:** Bug fix in orchestration, environment config, or deployment (triggers PATCH release)
67+ - **docs:** Documentation only changes (no release)
68+ - **chore:** Maintenance tasks, dependency updates, tooling (no release)
69+ - **refactor:** Refactoring docker-compose configuration (triggers PATCH release)
70+ - **perf:** Performance improvements like resource limits, health checks (triggers PATCH release)
71+ - **ci:** Changes to CI/CD pipeline (no release)
72+ - **revert:** Revert a previous commit
73+
74+ ### Breaking Changes
75+
76+ For incompatible changes requiring migration, add `BREAKING CHANGE:` in the footer:
77+
78+ ```
79+ feat(postgres): upgrade to PostgreSQL 15
80+
81+ Upgrade database from PostgreSQL 14 to 15 for improved performance.
82+
83+ BREAKING CHANGE: Requires database migration. Run `docker-compose down -v`
84+ and restore from backup before upgrading.
85+ ```
86+
87+ This triggers a MAJOR version bump (1.x.x → 2.0.0).
88+
89+ ### Interactive Commits
90+
91+ Use Commitizen for guided commit messages:
92+
93+ ```bash
94+ npm run commit
95+ ```
96+
97+ ## Versioning and Releases
98+
99+ This repository uses [Semantic Versioning](https://semver.org/):
100+
101+ - **MAJOR** (X.0.0): Breaking changes requiring migration
102+ - **MINOR** (1.X.0): New features, services, or configuration options
103+ - **PATCH** (1.0.X): Bug fixes, performance improvements, refactoring
104+
105+ ### Release Process
106+
107+ Releases are **fully automated** via GitHub Actions:
108+
109+ 1. Commit changes following conventional commit format
110+ 2. Push to `master` branch (or merge PR)
111+ 3. GitHub Actions analyzes commits
112+ 4. Semantic-release determines next version
113+ 5. CHANGELOG.md is generated
114+ 6. Git tag is created
115+ 7. GitHub Release is published with assets
116+
117+ **Manual release (local testing):**
118+ ```bash
119+ npm run release:dry-run # Test without publishing
120+ npm run release # Publish release (requires GITHUB_TOKEN)
121+ ```
122+
123+ ### Version Branches
124+
125+ - **master:** Production releases (1.0.0, 1.1.0, 2.0.0)
126+ - **develop:** Beta pre-releases (1.0.0-beta.1, 1.0.0-beta.2)
127+
38128## Essential Commands
39129
40130### Start All Services
0 commit comments