ts-starter
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->pnpmpackage-lock.json->npmyarn.lock->yarnbun.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 | librarypackage_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
More from wibaek/skills
python-starter
Automatically configures formatter and linter settings when initializing Python projects. Installs ruff by default and uses pyproject.toml for configuration. Detects or asks the user about venv/poetry/uv environments and installs as dev dependencies. Optionally configures pre-commit and ty. Suggests VSCode workspace settings when using VSCode. Use this skill when starting Python projects ("Start a Python project", "Create a FastAPI project", "Create a data analysis Python project", etc.).
8rest-api-guidelines
Design, review, and draft consistent HTTP+JSON REST APIs using resource-oriented design and long-term compatibility rules. Use when Codex needs to define or critique REST endpoints, OpenAPI contracts, URI and resource naming, HTTP method and PATCH semantics, status codes, pagination, versioning, error formats, or backward and forward compatibility policies.
3github-pr-writer
Draft GitHub pull request titles and structured PR bodies from branch history, diffs, and validation results. Use when Codex needs to write a PR description, summarize a branch for review, choose a base branch, prepare `gh pr create`, or open a pull request that follows the repository template.
2git-commit-writer
Draft Conventional Commit messages and execute a safe git commit workflow from staged or changed files. Use when Codex needs to create a commit, suggest a commit message, inspect git diff before committing, split changes into sensible commits, or run `git commit` without including unrelated work.
2