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.tspublic entry point and review-readypackage.jsonmetadata. - Dual ESM and CommonJS output through tsdown, plus
.d.tsand.d.ctsdeclarations. - 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.mdwith 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.



