skills/wibaek/skills/ts-starter

ts-starter

SKILL.md

TypeScript Starter

Automatically configure linting, formatting, testing, and compiler defaults for TypeScript projects.

Workflow

  1. Detect package manager

    • Prefer pnpm when no lockfile exists.
    • If lockfile exists, keep the existing manager.
    • Detection order:
      1. pnpm-lock.yaml -> pnpm
      2. package-lock.json -> npm
      3. yarn.lock -> yarn
      4. bun.lock or bun.lockb -> bun
    • Ask the user only when detection is ambiguous.
  2. Detect project kind

    • Classify as frontend, node-app, or library.
    • Use existing files (vite.config.*, framework deps, publish fields, entry points) for detection.
    • Ask the user when the project kind is unclear.
  3. Install baseline dependencies

    • Install as dev dependencies: typescript, @types/node, @biomejs/biome, vitest.
    • Use package-manager-specific commands from references/environment-setup.md.
  4. Apply TypeScript configuration

  5. Apply Biome configuration

  6. Apply Vitest configuration

  7. Optional VSCode settings

  8. Optional Git hooks

  9. Update ignore rules

  10. Run smoke validation

  • Run typecheck, lint, and test once 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

Weekly Installs
4
Repository
wibaek/skills
First Seen
Feb 15, 2026
Installed on
amp4
github-copilot4
codex4
kimi-cli4
gemini-cli4
cursor4