Files
getsentry__sentry-for-ai/packages/installer/package.json
Evan Purkhiser 89c55f0d3d ci(installer): publish @sentry/ai to npm via craft (#185)
Add the Craft release pipeline so packages/installer can be published to
npm as @sentry/ai.

- .craft.yml configures a single npm target (public scoped access) with a
  tarball-name guard. There is deliberately no github target, so a release
  creates no git tags and no GitHub releases -- nothing repo-wide implying
  the skills/plugins are versioned by it.
- The release branch is scoped to `release-installer/<version>` via
  releaseBranchPrefix, so it reads as a package release. craft creates it
  during prepare and deletes it after publish, so it is transient.
- changelogPolicy is `simple` (matching sentry-javascript) and the
  changelog lives with the package at packages/installer/CHANGELOG.md. The
  entry is written by hand before releasing; `auto` would sweep this repo's
  skill-drift and plugin churn into the installer changelog.
- release.yml runs `craft prepare` via the Sentry release bot App token.
  It must be an App token rather than GITHUB_TOKEN so the pushed release
  branch triggers release-build.yml, which packs the tarball and uploads
  it as the SHA-named artifact Craft's GitHub provider expects.
- The package gains `files: ["dist", "CHANGELOG.md"]`, publishConfig.access
  public, and an explicit LICENSE so the published tarball is complete
  without relying on pnpm copying the root LICENSE.

Publishing runs from getsentry/publish after a team lead approves the
release issue; this repo only prepares the release and builds the artifact.
2026-06-17 15:14:05 -04:00

50 lines
1.1 KiB
JSON

{
"name": "@sentry/ai",
"version": "0.1.0",
"description": "Install the Sentry plugin for your AI coding assistants",
"repository": {
"type": "git",
"url": "git://github.com/getsentry/sentry-for-ai.git",
"directory": "packages/installer"
},
"homepage": "https://github.com/getsentry/sentry-for-ai#readme",
"author": "Sentry",
"license": "MIT",
"publishConfig": {
"access": "public"
},
"files": [
"dist",
"CHANGELOG.md"
],
"engines": {
"node": ">=18.0.0"
},
"bin": {
"sentry-ai": "dist/index.js"
},
"scripts": {
"build": "rolldown --config rolldown.config.mjs",
"dev": "ts-node src/index.ts",
"test": "vitest run",
"format": "oxfmt --write src",
"format:check": "oxfmt --check src"
},
"dependencies": {
"@inquirer/prompts": "^8.5.2",
"@listr2/prompt-adapter-inquirer": "^4.2.4",
"@sentry/node": "^10.57.0",
"citty": "^0.1.6",
"listr2": "^10.2.1"
},
"devDependencies": {
"@types/node": "^25.9.3",
"oxfmt": "^0.54.0",
"rolldown": "^1.1.1",
"ts-node": "^10.9.2",
"typescript": "^6.0.3",
"vite": "^8.0.16",
"vitest": "^4.1.8"
}
}