Install any skill in seconds. Free to start, no credit card required.
Get Started Free →minpeter/typescript-package
minpeter's house style for building and reviewing TypeScript packages and monorepos. The locked stack: pnpm (latest) + Turborepo + Changesets + Biome via the ultracite preset with ZERO ignores/overrides/suppressions + tsdown for builds + Vitest, with `tsc --noEmit` for type-checking, the namespaced source-condition for zero-build internal deps, and MANDATORY npm OIDC trusted publishing (no NPM_TOKEN). Use this when scaffolding a new TS library or monorepo, adding a workspace package, choosing bu
Passed 23 of 23 test cases with the skill, and 12 of 23 without it.
and 16 more in the full report
11 fixed12 passed either way0 still failing0 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 11 test cases the skill fixed. Same model, same prompt, with and without the skill.
We are adding new files to a library package: UserProfileCard.ts and auth_controller.ts. What casing strategy should be applied to source filenames?
| Checked | Without skill | With skill |
|---|---|---|
| Mandates kebab-case for source filenames | Missed | Passed |
The instructions your model reads when the skill loads.
An opinionated, locked toolchain for TypeScript libraries and monorepos.
"Locked" means: don't re-litigate these per project — they are the defaults.
Every choice below was distilled from minpeter's own repos and then checked
against current ecosystem best practice (see the verdicts in references/).
| Concern | Choice (no substitutes) |
|---|---|
| Package manager | pnpm latest, with the resolved version recorded in packageManager |
| Monorepo | pnpm workspaces + Turborepo latest |
| Lint + format | Biome latest via ultracite latest — zero ignores (§3) |
| Type-check | tsc --noEmit only — never emit JS with tsc |
| Build | tsdown latest — not tsup, not raw tsc |
| Internal deps | namespaced source-condition @minpeter/source (§5) |
| Tests | Vitest latest + v8 coverage |
| Versioning | Changesets |
| Publish | npm OIDC trusted publishing, mandatory (§6) |
| TS compiler | TypeScript latest stable |
| Filenames | kebab-case (enforced by ultracite) |
If you find ESLint, Prettier, tsup, npm/yarn lockfiles, a long-lived
NPM_TOKEN, or// biome-ignorecomments → that's not this style. Flag it.
One publishable thing → SINGLE-PACKAGE repo (src/ at root). No turbo, no source-condition.
Several related pkgs → MONOREPO (packages/*, turbo, source-condition for internal deps).
pnpm-workspace.yaml with packages: ["packages/*"] (omit for single pkg);
put pnpm settings (onlyBuiltDependencies, verifyDepsBeforeRun) here, not .npmrc.corepack use pnpm@latest, install
all dev tools with @latest, then keep the resolved packageManager,
dependency ranges, and lockfile that pnpm writes.test cases passed, vs 12 / 23 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.