pi setup

Releases

Releases: config

pi-config is released with semantic-release on every push to main (.forgejo/workflows/release.yml, self-hosted Forgejo runner pi):

  1. scripts/ci-install-tools.sh installs the pinned check tools, then just check runs.
  2. npx semantic-release (.releaserc.json, tooling pinned in package.json / package-lock.json) picks the version from the Conventional Commits since the last tag, updates CHANGELOG.md, commits chore(release): <version> [skip ci], tags v<version> and creates the Codeberg release.
CommitRelease
feat: …minor
fix: …, perf: …, build: …, chore(deps): …patch
BREAKING CHANGE: / type!:major
docs:, chore:, refactor:, test:, ci:none

Adding or bumping a package in agent/settings.json is a feat: (new capability) or build(deps): (version bump), so it is released.

package.json exists only for the release tooling; pi-config is not an npm package and the sandbox never installs it. The release artifact is the tag and the Codeberg release.

Runner setup, secrets (RELEASE_TOKEN) and the local dry run are described once, in pi-docker-sandbox/docs/release.md.