A release bot for GitLab and GitHub that follows the workflow of Google's release-please: it determines the next SemVer version from Conventional Commits, opens a release merge request with the changelog and updated version files, and tags and releases once it is merged.
📖 Documentation: relwolf.lupiq.io
relwolf is developed by lupiq and released under the MIT License.
relwolf runs as a single CI job on every push to your default branch. It needs the full git history, a personal access token and squash merging for release requests. Pick your platform:
- GitLab: Setup guide for GitLab CI
- GitHub: Setup guide for GitHub Actions
New to relwolf? Getting started explains the concepts, and GitLab vs. GitHub lists the differences between the two.
For configuration (relwolf.yaml), monorepos, updaters, pre-releases, forcing a version and everything else, see the
documentation.
pnpm install
pnpm typecheck
pnpm lint # ESLint + typescript-eslint (strict, type-checked)
pnpm format:check # Prettier (use `pnpm format` to fix)
pnpm test # unit + integration tests (real git repositories and git-cliff)
pnpm build
pnpm docs:dev # documentation site (VitePress, sources in docs/)Git hooks (Husky, installed by pnpm install): pre-commit runs lint-staged (Prettier on staged files) and
pnpm lint; commit-msg runs commitlint (Conventional Commits, subject must start with a capital letter).
Design decisions, architecture and extension notes, including the maintainer setup (release token, Pages, Renovate), are documented in AGENTS.md. See also the contributing guide.