Skills

Start skill · v1.2.0

Start Package

Scaffold a minimal Bun-based TypeScript library with strict TypeScript 7 checks, dual ESM and CommonJS output, declarations, package validation, and a self-contained smoke test.

Installation

Add it to your agent

Run the command from your project, then let the installer place the selected skill in the agent directories you choose.

npx skills add bastndev/skills --skill start-package

Start Package builds a compact TypeScript library directly in the current directory. It begins with a short, editable project survey, then creates a publishing-ready base without inventing product code or overwriting unrelated work.

The result favors a small public surface and a demanding validation contract: Bun manages the project, TypeScript 7 checks it strictly, and tsdown produces both ESM and CommonJS builds with matching declarations.

What it creates

  • A focused src/index.ts public entry point and review-ready package.json metadata.
  • Dual ESM and CommonJS output through tsdown, plus .d.ts and .d.cts declarations.
  • Strict no-emit type checking before the package build.
  • Package checks with publint and Are the Types Wrong.
  • A Node smoke test that exercises the built public API through both module formats without adding a test framework.
  • A project-named NOTES.md with a manual first-publish and release guide.

The bundled base has no runtime dependencies. If the future library performs work as soon as it is imported, its default sideEffects: false declaration must be reviewed rather than accepted mechanically.

A careful setup workflow

The skill first collects the package name, displayed project name, description, author, npm owner, repository, homepage, and copyright year. You can correct that survey before any template files are placed.

It then copies its maintained template into the open folder, replaces every declared placeholder, installs with Bun, and runs the complete check command. Existing unrelated files are preserved; the workflow does not create a second project or a temporary scaffold beside the one you asked for.

The validation contract

bun run check is the handoff gate. It verifies strict types, both module formats, declaration output, package metadata, and a smoke test that self-imports the export map through import and require. A generated project is not presented as ready while one of those checks is failing.

This base deliberately uses tsdown rather than tsup and a smoke test rather than a preselected unit-test framework. Those choices keep the starting point current and small while leaving room for the package’s real requirements to determine what comes next.

Release boundaries

Start Package prepares the codebase; it does not release it. It will not create a publishing workflow, log in to npm, configure Trusted Publisher, create a tag, push a branch, or publish a package unless those actions are requested separately.

That boundary keeps credentials and release ownership with the maintainer while still producing an artifact that can be inspected and packed locally.