setuplisted
Install: claude install-skill broneq/bdk
> Relies on BDK foundation (STARTUP_INSTRUCTIONS.md). Assumes environment discovery has already run (language, test runner, build tool are known).
# BDK Setup
Initializes `.bdk/settings.json` for this project. Probes project files to detect languages, test commands, lint commands, and build commands, then confirms with the user before writing.
## Workflow
### Phase 1: Check existing config
If `.bdk/settings.json` already exists and `--force` was not passed:
- Read the file and show current values
- Ask user: "Settings already exist. Overwrite?" — if no, stop
### Phase 2: Probe project files
Read the following files if they exist and extract command/tool hints:
**Command resolution priority** — always prefer running tools via the package manager over direct binary invocation:
- `package.json` scripts → `npm run <script>` / `yarn <script>` / `pnpm <script>` (detect manager by lockfile: `package-lock.json` → npm, `yarn.lock` → yarn, `pnpm-lock.yaml` → pnpm)
- Python with `pyproject.toml` → `poetry run <tool>` if `poetry.lock` exists, else direct
- Ruby → `bundle exec <tool>` always
- Direct binary only as last resort (no package manager detected)
**JavaScript/TypeScript** (`package.json`):
- Scan `scripts` for keys: `test`, `test:unit`, `test:e2e`, `test:integration`, `lint`, `lint:fix`, `build`, `typecheck`, `compile`
- Emit as `npm run <key>` (or yarn/pnpm equivalent per lockfile)
- Check `devDependencies`/`dependencies` for: `vitest`, `jest`, `@playwright/test`, `cyp