The project follows a trunk-based development workflow with feature branches.
| Type | Pattern | Example |
|---|---|---|
| Feature | feature/<description> |
feature/add-cleanup-handler |
| Bugfix | fix/<description> |
fix/memory-leak-on-shutdown |
| Chore | chore/<description> |
chore/update-dependencies |
The project uses Conventional Commits enforced by commitlint.
<type>(<scope>): <description>
[optional body]
[optional footer(s)]
| Type | Description |
|---|---|
feat |
New feature |
fix |
Bug fix |
docs |
Documentation only |
style |
Formatting, no code change |
refactor |
Code change that neither fixes nor adds |
perf |
Performance improvement |
test |
Adding or updating tests |
chore |
Maintenance tasks |
ci |
CI/CD changes |
# Feature
git commit -m "feat(cleaner): add batch cleanup support"
# Bug fix
git commit -m "fix(worker): handle timeout errors gracefully"
# Breaking change
git commit -m "feat(api)!: change task data structure
BREAKING CHANGE: task.data.path renamed to task.data.resourcePath"Husky runs pre-commit hooks defined in .husky/:
- pretty-quick: Formats staged files with Prettier
- commitlint: Validates commit message format
git commit --no-verify -m "message"- Create feature branch from
master - Make changes and commit with conventional commits
- Push branch and create PR
- PR template in
.github/PULL_REQUEST_TEMPLATE.md - CI runs on PR (lint, test, build)
- Merge after approval
The project uses Release Please for automated releases.
- Conventional commits are analyzed
- Release PR is auto-created with:
- Version bump based on commit types
- CHANGELOG.md updates
- Merging release PR triggers:
- Git tag creation
- GitHub release
- Docker image build and push
release-please-config.json- Release configuration.release-please-manifest.json- Version tracking
| Workflow | Trigger | Purpose |
|---|---|---|
pull_request.yaml |
PR events | Lint, test, build |
build-and-push.yaml |
Push to master | Build and push Docker image |
release-please.yml |
Push to master | Manage releases |
auto-author-assign.yml |
PR opened | Auto-assign PR author |
Automated dependency updates configured in .github/dependabot.yaml:
- Weekly npm dependency updates
- GitHub Actions updates
- Auto-creates PRs for updates