# Setup Toolkit

> Install ESLint, Prettier, Cursor/VS Code workspace files, and principle quality-gate tests into the current JavaScript or TypeScript repo from this pack's templates. Also starts docs/design.md capture when that file is missing. Use when the user wants linting, formatting, ESLint, Prettier, a formatter, recommended extensions, a complexity test, test:quality, dead code, Knip, mutants, Stryker, test:mutants, design.md, or to add the engineering toolkit to an app. Bans em dashes. Not for rewriting an existing lint stack.

- Skill: `beskars-code/setup-toolkit` (Agent Skill, multi-file: 19 files)
- Install (CLI): `npx skillmds@latest add beskars-code/setup-toolkit`
- Raw SKILL.md: https://api.skillmd.com/api/skills/beskars-code/setup-toolkit/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: beskars-code (https://skillmd.com/u/beskars-code)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/beskars-code/setup-toolkit

---


# Setup toolkit

**Must read:** [../pack-shared/standards.md](../pack-shared/standards.md). Read `/taste` and `/architecture` doctrines this turn. Do not skip.

This skill is a user start. Do not nest it under `/task`.

**Read:** [doctrine.md](doctrine.md) · [reference.md](reference.md) · **Ask style:** [../pack-shared/asking.md](../pack-shared/asking.md) · **Plain language:** [../pack-shared/plain-language.md](../pack-shared/plain-language.md)

Add **ESLint**, **Prettier**, Cursor/VS Code workspace files, and **quality-gate tests** (`test:quality`: cyclomatic complexity (McCabe) plus principle and dead-code gates; `test:mutants`: Stryker mutant check) to the **current app repo**. Templates live in [templates/](templates/). Do not invent a different stack.

The ESLint templates include a no-emdash rule (em dash, en dash, horizontal bar) and a cyclomatic cap of 5. Knip reports unused files, exports, and dependencies. Stryker proves behavior locks bite. Workspace files recommend the ESLint and Prettier extensions. Gate failures use **plain (Classic)**: `keep this simple (KISS)`.

If `docs/design.md` is missing at the workspace root, run `/design` Initialization after the lint/format work. That skill owns the code-derived route inventory. Do not write a fake design file from this skill.

This pack’s Cursor **plugin rules** already apply when the plugin is installed. This skill does not copy those rules into `.cursor/rules` unless the user asks to pin them in the app repo.

