一键导入
dotfiles-release
Manage and debug the @alexgorbatchev/dotfiles release pipeline, GitHub Actions publishing, and local bun release builds.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Manage and debug the @alexgorbatchev/dotfiles release pipeline, GitHub Actions publishing, and local bun release builds.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | dotfiles-release |
| description | Manage and debug the @alexgorbatchev/dotfiles release pipeline, GitHub Actions publishing, and local bun release builds. |
The release pipeline for @alexgorbatchev/dotfiles is automated using GitHub Actions
and local bun run release preparation scripts. The package is published automatically
to the public NPM registry (registry.npmjs.org) whenever a semantic version tag is pushed.
To trigger a release:
bun run release # Bumps patch version (e.g. 1.0.0 -> 1.0.1)
# OR
bun run release minor # Bumps minor version (e.g. 1.0.0 -> 1.1.0)
# OR
bun run release major # Bumps major version (e.g. 1.0.0 -> 2.0.0)
package.json changesvX.Y.Z git tagorigin/maingh release create vX.Y.Z --title "Version X.Y.Z" --notes "..." when creating the release manually.gh release edit vX.Y.Z --notes "..." to replace the placeholder notes.## Summary section and a ## Notable Commits Since vA.B.C section covering the actual shipped changes in the previous-tag...new-tag range.**Full Changelog**: https://github.com/alexgorbatchev/dotfiles/compare/vA.B.C...vX.Y.Z..github/workflows/publish.yml GitHub Action handles package publishing after the tag is pushed.Always test modifications or release processes locally first:
bun run release --dry-run
This runs the full pipeline (version bump, build compile, type tests) but skips git commit and tagging, reverting the version bump at the end.
Every GitHub release should ship with hand-written notes, even when gh can generate defaults.
--generate-notes as a starting point at most, not the final output.## Summary.## Notable Commits Since vA.B.C.If the publish pipeline fails, the issue is within GitHub Actions (.github/workflows/publish.yml)
or the produced artifacts inside the compiled .dist/ directory.
bun run compile.bun run release --dry-run
cd .dist && npm publish --dry-run
The core compilation logic lives in packages/build/src/build/build.ts
(executed via bun run compile).
Sequential build steps (failure at any step aborts the workflow):
steps/ensureWorkspaceDependencies.ts.dist/: steps/cleanPreviousBuild.tssteps/buildCli.tssteps/resolveRuntimeDependencies.tsschemas.d.ts: steps/generateSchemaTypes.ts.dist/package.json: steps/generateDistPackageJson.ts.dist/node_modules: helpers/installDependenciesInOutputDir.tssteps/enforceCliBundleSizeLimit.ts.dist/skill/: steps/copySkill.tstool-types.d.ts: steps/generateToolTypesFile.tssteps/runTypeTests.tssteps/testPackedBuild.tssteps/cleanupTempFiles.tssteps/printBuildSummary.tsType Test Failures (Step 11)
The build runs tsd against the bundled .dist/schemas.d.ts, not the source types.
Debugging: Inspect the failing packages/*/type-tests/*.test-d.ts test files and .dist/schemas.d.ts to see how the bundled types diverge.
Bundle Size Exceeded (Step 8)
The total CLI bundle must be <= 500KB. Check for accidentally bundled thick dependencies that should have been marked external.
Packed Build Test (Step 12)
This executes the CLI using an npm pack tarball to simulate what the user downloads. A failure here indicates the files array or main/bin mappings in .dist/package.json are incorrect.
packages/build/src/release/index.ts: Trigger script logic (bun run release)packages/build/src/build/build.ts: Compilation orchestratorpackages/build/src/build/steps/: Individual build stepspackages/build/src/build/helpers/: Build pipeline utilities.dist/: The resulting compiled output that is published to NPM.github/workflows/publish.yml: The remote CI publisher routine.github/workflows/ci.yml: The standard PR and commit check routine