release-please, gitflow (develop → main), TestPyPI + PyPI publishing, and the known publish-testpypi gap. Use before cutting a release.
Install
npx skillscat add the-vibey-project/vibey/codexloop-releasing Install via the SkillsCat registry.
SKILL.md
codexloop releasing
Gitflow
develop (default branch) → main (releases)- Feature PRs squash into
develop. developmerge-commits intomainwhen ready to release.- release-please opens a PR on
mainwhen it detects conventional
commits since the last tag. - Merging the release PR publishes to PyPI.
Workflows
ci.yml: runs on every push. Tests, linting, type checks, per-layer
coverage, import-linter, bandit, pip-audit.publish-testpypi.yml: publishes to TestPyPI on everydevelop
push. Known gap: no test gate. This workflow builds and publishes
without running tests first. It trusts that CI passed.release-please.yml: opens a release PR onmainwhen conventional
commits land. Merging that PR publishes to PyPI (via GitHub Actions +
PyPI trusted publishing).
release-please
Configured in release-please-config.json:
{
"packages": {
".": {
"release-type": "python",
"package-name": "codexloop",
"changelog-path": "CHANGELOG.md"
}
}
}It maintains CHANGELOG.md automatically from conventional commits.
Before merging develop → main
- All CI gates green on
develop. - TestPyPI publish succeeded (workflow run shows no errors).
- CHANGELOG.md reflects all user-facing changes since last release.