TypeScript Starter
Automatically configure linting, formatting, testing, and compiler defaults for TypeScript projects.
Workflow
- •
Detect package manager
- •Prefer
pnpmwhen no lockfile exists. - •If lockfile exists, keep the existing manager.
- •Detection order:
- •
pnpm-lock.yaml->pnpm - •
package-lock.json->npm - •
yarn.lock->yarn - •
bun.lockorbun.lockb->bun
- •
- •Ask the user only when detection is ambiguous.
- •Prefer
- •
Detect project kind
- •Classify as
frontend,node-app, orlibrary. - •Use existing files (
vite.config.*, framework deps, publish fields, entry points) for detection. - •Ask the user when the project kind is unclear.
- •Classify as
- •
Install baseline dependencies
- •Install as dev dependencies:
typescript,@types/node,@biomejs/biome,vitest. - •Use package-manager-specific commands from references/environment-setup.md.
- •Install as dev dependencies:
- •
Apply TypeScript configuration
- •Create or update
tsconfig.jsonwith strict-and-safety defaults. - •Keep ESM defaults.
- •Preserve existing options whenever possible and patch only missing required fields.
- •Reference: references/config-examples.md
- •Template: assets/tsconfig.json.template
- •Create or update
- •
Apply Biome configuration
- •Create or update
biome.json. - •Add
lint,lint:fix, andformatscripts inpackage.jsonif missing. - •Keep existing scripts and merge safely.
- •Reference: references/config-examples.md
- •Template: assets/biome.json.template
- •Create or update
- •
Apply Vitest configuration
- •Create or update
vitest.config.tsand test scripts. - •Use Vitest as the default runner for all project kinds in this skill version.
- •Reference: references/config-examples.md
- •Template: assets/vitest.config.ts.template
- •Create or update
- •
Optional VSCode settings
- •Ask whether to add
.vscode/settings.json. - •Reference: references/vscode-settings.md
- •Template: assets/.vscode-settings.json.template
- •Ask whether to add
- •
Optional Git hooks
- •Ask whether to set up Husky + lint-staged.
- •Configure pre-commit for lint and typecheck (test optional).
- •Reference: references/git-hooks-setup.md
- •Template: assets/.husky-pre-commit.template
- •
Update ignore rules
- •Create or patch
.gitignorefor common TypeScript/Node artifacts. - •Template: assets/.gitignore.template
- •Create or patch
- •
Run smoke validation
- •Run
typecheck,lint, andtestonce after setup. - •Keep commands package-manager-specific.
Principles
- •Config-only: Do not scaffold framework applications by default.
- •Command-first: Prefer commands over manual editing when possible.
- •Idempotent updates: Re-running setup must not duplicate scripts or corrupt config.
- •Preserve existing intent: Merge with current project configuration and patch only required pieces.
Internal Contracts
- •
project_kind:frontend | node-app | library - •
package_manager:pnpm | npm | yarn | bun
References
- •Environment setup: references/environment-setup.md
- •Configuration examples: references/config-examples.md
- •Git hooks setup: references/git-hooks-setup.md
- •VSCode settings: references/vscode-settings.md