원클릭으로
release
Release shibuya-pgmq-adapter to Hackage following PVP, coordinating with shibuya-core releases
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Release shibuya-pgmq-adapter to Hackage following PVP, coordinating with shibuya-core releases
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
| name | release |
| description | Release shibuya-pgmq-adapter to Hackage following PVP, coordinating with shibuya-core releases |
| argument-hint | [major|minor|patch] |
| disable-model-invocation | true |
| allowed-tools | Read, Bash, Edit, Glob, Grep, Write, AskUserQuestion |
Release the shibuya-pgmq-adapter package to Hackage. This repo
publishes a single library; the example app and benchmark suite are
not released.
The adapter follows a shared version line with shibuya-core: when
shibuya-core cuts a new release that affects the adapter (new
Envelope field, new Shibuya.Core.* API the adapter consumes,
breaking changes, etc.), bump the adapter to the same A.B.C.D so
users have a one-glance compatibility signal.
A single git tag v<version> marks each release.
Released to Hackage:
NOT released:
$ARGUMENTS is optional:
major, minor, or patch — specifies the bump level.shibuya-pgmq-adapter/shibuya-pgmq-adapter.cabal.v*. If none exists, this is the
first release from this repo (the package was previously released
from the monorepo at shinzui/shibuya); use the Extracted from
commit recorded in CHANGELOG.md as the diff base, or just diff
against the root commit if no anchor is recorded.git log --oneline <last-tag>..HEAD to list commits since the
last release.Present a summary showing:
shibuya-core ^>= bound declared in the cabal fileshibuya-core version on Hackage (run
cabal update && cabal info shibuya-core | head or check
https://hackage.haskell.org/package/shibuya-core)The Haskell PVP version format is A.B.C.D:
A.B — major: breaking API changes (removed/renamed exports,
changed types, changed semantics).C — minor: backwards-compatible API additions (new exports,
new modules, new instances).D — patch: bug fixes, docs, internal-only changes,
performance.Rules:
$ARGUMENTS is major, minor, or patch, use that bump
level.shibuya-core release is the trigger, the adapter typically
matches shibuya-core's bump level (a major in core that the
adapter exposes through its own API surface ⇒ adapter major; a
core-only addition the adapter merely depends on ⇒ adapter patch
unless the adapter also gained API of its own).Increment the version:
B, reset C and D to 0.C, reset D to 0.D.The adapter cannot be released to Hackage if its build-depends are
satisfied only by a local sibling checkout — Hackage's build bot won't
have access to it.
shibuya-core ^>=A.B.C.D bound in
shibuya-pgmq-adapter/shibuya-pgmq-adapter.cabal.shibuya-core A.B.C.D (or a compatible version) is
published on Hackage:
cabal updatecabal info shibuya-core (or fetch
https://hackage.haskell.org/package/shibuya-core)cabal.project.local. If it contains a packages: stanza
pointing at ../shibuya/shibuya-core (or any other local override
that shadows a Hackage dep used by the adapter library), the
override must be removed or commented out before the release —
otherwise the local build is misleading and the sdist will fail to
build on Hackage.
cabal.project.local is gitignored, so removal is local-only;
no commit needed for that file.cabal build all after removing the override to confirm the
adapter still builds against the published shibuya-core.If upstream isn't on Hackage yet, stop: cut the upstream
shibuya-core release first (using the sibling shibuya/ repo's
/release skill), then re-run this skill.
shibuya-pgmq-adapter/shibuya-pgmq-adapter.cabal and set the
new version.shibuya-core major or minor,
update the shibuya-core ^>=A.B.C.D bound to point at the new
release, in both the library and test-suite sections.^>=A.B.C.D matching the published
release.shibuya-pgmq-adapter/CHANGELOG.md: add a new section above prior
entries with today's date in YYYY-MM-DD format. Move content from
any "Unreleased" section into the new version section.CHANGELOG.md: same treatment (this repo keeps two
CHANGELOGs — root for repo-wide notes, package-level for the
Hackage-shipped one).shibuya-core, mention the new
required lower bound under Build or Other Changes.Show the user the full diff (version, dep bound, changelog entries) for review before committing.
nix fmt to ensure formatting is clean.cabal build all to confirm the cabal build still succeeds
against the published shibuya-core (i.e. with no local override).cabal test shibuya-pgmq-adapter-test to confirm tests pass.
Some tests require a running PostgreSQL instance — see this repo's
CLAUDE.md / Justfile for just db-up. If the required services
aren't running, ask the user before skipping tests.nix flake check to verify treefmt and pre-commit checks pass.
checks / devShells / formatter (no
packages.default), so nix flake check is the appropriate gate;
nix build will fail with "does not provide attribute
packages..default".git add-ed before nix
evaluation will see them (nix uses the git tree)..cabal and both CHANGELOG.md files.chore(release): <new-version> (project-wide convention — see
global CLAUDE.md). The body should summarize what's in the release
and, if applicable, which shibuya-core release this pairs with.git tag -a v<version> -m "Release <version>".git push && git push --tags.The commit and tag should only be created after user approval of the diff in step 4.
cd shibuya-pgmq-adaptercabal check — verify no packaging issues.cabal test shibuya-pgmq-adapter-test — final test run (skip only
if previously confirmed; never skip silently).cabal sdist from the repo root, then
cabal upload --publish dist-newstyle/sdist/shibuya-pgmq-adapter-<version>.tar.gz.cabal haddock --haddock-for-hackage --haddock-hyperlink-source --haddock-quickjump shibuya-pgmq-adapter,
then
cabal upload --publish --documentation dist-newstyle/shibuya-pgmq-adapter-<version>-docs.tar.gz.https://hackage.haskell.org/package/shibuya-pgmq-adapter-<version>.If the upload fails (e.g. "version already exists"), stop and report to the user — do not retry blindly.
After the Hackage upload succeeds:
gh release create v<version> --title "v<version>" --notes "$(cat <<'EOF'
## Package
[shibuya-pgmq-adapter <version> on Hackage](https://hackage.haskell.org/package/shibuya-pgmq-adapter-<version>)
Paired with [shibuya-core <core-version>](https://hackage.haskell.org/package/shibuya-core-<core-version>) (if applicable).
## What's Changed
<changelog entries for this version from the root CHANGELOG.md>
EOF
)"
CHANGELOG.md entries for the body.shibuya-core version when the release is driven
by an upstream change.If the user typically develops against an in-tree sibling
shibuya-core, restore the cabal.project.local override they
removed in step 3 (or remind them to do so). This file is gitignored
so it doesn't affect downstream consumers.
cabal check, tests, or nix flake check.cabal.project.local shadows shibuya-core
with a local checkout — Hackage cannot see local paths.nix fmt before committing.