verify-dist

द्वारा sentry

जब स्रोत फ़ाइलें या रनटाइम निर्भरताएँ बदलती हैं तो dist/index.js को पुनर्जनन करें और कमिट करें

npx skills add https://github.com/getsentry/action-release --skill verify-dist

Verify Dist Skill

action-release ships a bundle in dist/ built by ncc. The verify-dist CI workflow (.github/workflows/verify-dist.yml) fails any PR where the committed bundle does not match the source. This skill keeps them in sync locally.

dist/ is a directory, not a single file. Alongside dist/index.js, ncc emits code-split chunks (dist/319.index.js and friends) for every dynamic import() in a dependency. @opentelemetry/resources loads its per-platform getMachineId that way, so the chunks arrive with @sentry/node. index.js loads them at runtime with a relative require, so they must sit next to it and must all be committed.

When to invoke

  • You changed anything under src/.
  • You bumped a runtime dep in package.json (anything under dependencies, not devDependencies).
  • CI posted "Detected uncommitted changes after build" on a PR.

Modes

--check (default)

Report whether dist/ is in sync with the current source tree. Do not modify anything.

yarn install --frozen-lockfile
yarn build
git diff --ignore-space-at-eol --stat dist/
git ls-files --others --exclude-standard dist/   # new chunks show up here, not in git diff
  • If both commands print nothing → dist/ is in sync. Done.
  • If either prints something → report the changed files and line counts, then ask the user whether to switch to --fix.

--fix

Rebuild and stage dist/.

yarn install
yarn build
git add dist/
git status --short dist/

Do not commit automatically — let the user review the bundle diff first. A reasonable follow-up commit message:

build: regenerate dist/index.js

Or, if tied to a source change:

<type>(<scope>): <summary>

Regenerates dist/index.js.

Before the user commits: pre-commit hook reminder

Whoever runs the follow-up commit needs the repo's pre-commit hooks installed. Verify with ls .git/hooks/pre-commit; if missing, run make (installs yarn deps + pre-commit install) or pre-commit install.

The set-docker-tag-from-branch hook will rewrite action.yml on the first commit of a branch and fail the commit. Recover by staging action.yml and committing again (never --amend — the hook-failed commit never landed):

git add action.yml
git commit -m "<same message>"

CI does not run pre-commit. CI's prepare-docker job rejects PRs where action.yml's Docker tag still matches a semver like 3.6.0, so keeping the tag in sync via the local hook is what prevents the CI failure.

Notes

  • The CI check runs git diff --ignore-space-at-eol dist/ — whitespace-only diffs pass, anything else fails. Match that locally.
  • CI also fails on untracked files in dist/ via git ls-files --others --exclude-standard dist/. git diff alone never reports a brand-new chunk, so a missing chunk would otherwise pass CI and only break at runtime on whichever platform needs it.
  • yarn build shells out to ncc build src/main.ts -e @sentry/cli. @sentry/cli is deliberately excluded from the bundle because it ships its own native binaries at runtime.
  • The bundle diff can be large even for small source changes (minifier + bundler reshuffles). That is expected; just verify the intended symbols are present.
  • Never hand-edit dist/index.js or any chunk. Always regenerate.

Related files

  • .github/workflows/verify-dist.yml — the CI check this skill satisfies.
  • package.json → scripts.build — the canonical build command.
  • src/main.ts — the ncc entry point.

sentry की और Skills

architecture-review
sentry
स्टाफ-स्तरीय कोडबेस स्वास्थ्य समीक्षा। मोनोलिथिक मॉड्यूल, मूक विफलताएं, प्रकार सुरक्षा अंतराल, परीक्षण कवरेज छिद्र और एलएलएम-मित्रता मुद्दों का पता लगाता है।
pi-agent-integration
sentry
Integrate `@mariozechner/pi-agent-core` as the agent abstraction inside another library or runtime. Use when implementing or refactoring Pi Agent wrappers,…
sentry-debug-issue
sentry
Sentry समस्या को डीबग और ठीक करें — इसे खोजें (लिंक, ID, या खोज द्वारा), पूरा संदर्भ प्राप्त करें (stack trace, breadcrumbs, trace, logs), वैकल्पिक रूप से Seer root-cause चलाएँ /…
sentry-svelte-sdk
sentry
Svelte और SvelteKit के लिए पूर्ण Sentry SDK सेटअप। जब "Svelte में Sentry जोड़ें", "SvelteKit में Sentry जोड़ें", "@sentry/sveltekit इंस्टॉल करें" या कॉन्फ़िगर करने के लिए कहा जाए तो उपयोग करें…
sentry-svelte-sdk
sentry
Svelte और SvelteKit के लिए पूर्ण Sentry SDK सेटअप। जब "Svelte में Sentry जोड़ें", "SvelteKit में Sentry जोड़ें", "@sentry/sveltekit इंस्टॉल करें" या कॉन्फ़िगर करने के लिए कहा जाए तो उपयोग करें…
skill-scanner
sentry
एजेंट कौशल को सुरक्षा समस्याओं के लिए स्कैन करें। जब "कौशल स्कैन करें" कहा जाए तो उपयोग करें।
prompt-optimizer
sentry
एजेंट प्रॉम्प्ट, सिस्टम प्रॉम्प्ट, डेवलपर प्रॉम्प्ट और पुन: प्रयोज्य प्रॉम्प्ट टेम्पलेट बनाता है, अनुकूलित करता है और पुनरावृत्त रूप से परिष्कृत करता है। जब किसी को बेहतर बनाने के लिए कहा जाए तो उपयोग करें...
commit
sentry
कमिट — getsentry/sentry-docs द्वारा प्रकाशित AI एजेंटों के लिए एक इंस्टॉल करने योग्य कौशल।