claudeloop-releasinglisted
Install: claude install-skill the-vibey-project/vibey
# claudeloop releasing — gitflow + Conventional Commits + Trusted Publishing
> **Codex skill mirror** of `.claude/skills/claudeloop-releasing/SKILL.md`. When this guidance changes, update Claude skill, Cursor rule, and `.agents/skills/` in the same PR.
## Branch model
```
main ← always releasable; release-please opens release PRs here
▲ merge commit (preserves individual conventional commits for release-please)
develop ← integration branch; feature branches target this
▲ squash-merge (one conventional-commit-titled squash per feature)
feature/* ← your work — branch from develop, never from main
```
**Never branch from `main` directly, never target `main` with a feature
PR.** Feature work is `git checkout -b feature/<short-description> develop`,
PR into `develop`. `develop` → `main` happens as a merge commit (not
squashed) specifically so release-please can parse the individual commits
when it moves `main`.
## Conventional Commits — required, enforced by a git hook
Every commit message: `<type>[optional scope]: <description>`. The
`commit-msg` hook (installed by `pre-commit install`) rejects anything else
in `--strict` mode. Types and what each triggers on release:
| Type | Use for | Bump |
|---|---|---|
| `feat` | new feature | minor |
| `fix` | bug fix | patch |
| `feat!` / `fix!` / `BREAKING CHANGE:` footer | breaking change | major |
| `docs` `style` `refactor` `test` `build` `ci` `chore` | no functional/patch/minor change | none |
| `perf` | pe