一键导入
changesets
Use when preparing a PR — adding a changeset, choosing bump types, empty changesets, API-contract changes, or understanding the version/release flow.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Use when preparing a PR — adding a changeset, choosing bump types, empty changesets, API-contract changes, or understanding the version/release flow.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Use for apps/api work: adding or changing REST controllers, services, repositories, mappers, clients, schema mapping, or API tests.
Use for apps/dashboard work: routes, features, shared components/hooks, styling, data-fetching wiring, and dashboard tests.
Use for apps/gateful work: REST aggregation of DAO APIs, Hono + zod-openapi routing, DAO source discovery (DAO_API_*), proxying, caching, circuit breaker, and gateway tests.
Use when adding a new DAO to the Anticapture platform. Covers all five components — indexer, API, gateway, dashboard, and enum sync — with a step-by-step checklist.
Use when adding a new DAO to the Anticapture dashboard. Walks through enum registration, config creation, quorum label, icon setup, and wiring — with exact file paths and a worked example (FLUID).
Use when you need to hit the running local stack (API, gateful, dashboard, indexer) to test or verify a change. Covers scripts/dev.sh, hot reload, and the ports each service listens on.
| name | changesets |
| description | Use when preparing a PR — adding a changeset, choosing bump types, empty changesets, API-contract changes, or understanding the version/release flow. |
Every PR to dev must include a changeset describing the change, OR an empty changeset
if the PR cannot ship behavior. The changeset-check CI job in tests.yaml blocks merges
otherwise. Path-filter auto-skips PRs that touch only **/*.md, .github/**, or
.changeset/config.json.
Run from the repo root:
pnpm changeset
The CLI asks you to:
patch (bugfix / internal change), minor (new
feature, backwards-compatible), major (breaking change). For 0.x packages, treat
minor as "anything new" and major as "breaking" (semver is loose pre-1.0).CHANGELOG.md and gets auto-linked
to the PR, commit, and author. Write it for someone reading the changelog six months
from now; focus on the user-visible behavior, not implementation detail.Commit the generated .changeset/<random>.md file alongside your code changes.
For PRs that genuinely cannot affect a package's behavior (CI tweaks not caught by the path filter, comment-only edits, etc.):
pnpm changeset --empty
Commit the resulting empty .md. Do not use empty changesets to skip real changes; every
behavior change must be documented.
Gateful aggregates the per-DAO API specs, and the @anticapture/client SDK (Kubb)
generates from the live Gateful OpenAPI spec (pnpm client codegen — there is no
committed spec file; codegen waits for a running gateway). So when your PR changes API
behavior that alters the generated contract, regenerate the client and add a changeset
for @anticapture/gateful alongside the API package that changed — the gateway's
aggregated surface is what actually ships the contract change.
When you bump @anticapture/observability or @anticapture/client, the consumer packages
(apps that depend on them via workspace:*) automatically get a patch bump and a
changelog line referencing the new version. You do not need to write changesets for the
consumers; the cascade is handled by updateInternalDependencies: "patch" in
.changeset/config.json.
dev with changesets attached.dev, the version.yaml workflow opens or updates a single rolling
"Version Packages" PR against dev. It consumes all pending .changeset/*.md files,
bumps versions, and writes CHANGELOG.md entries.dev to main production-deploy PR, merge the "Version
Packages" PR first. The release-readiness.yaml workflow blocks the dev to main PR
if any unconsumed changesets remain.main, the release.yaml workflow creates git tags, GitHub Releases for
every bumped package, and publishes @anticapture/client and @anticapture/observability
to npm (the only two non-private packages).version fields in package.json. Changesets owns version numbers.CHANGELOG.md files. Changesets owns them..changeset/*.md files that are not yours; they belong to other open PRs.pnpm changeset --empty.