← ClaudeAtlas

dev-env-setuplisted

Audit a repo against an opinionated dev-environment standard (mise pinning tools, an hk pre-commit hook running linters/tests + gitleaks, a GitHub Actions workflow that mirrors those checks, and project docs — README.md + CLAUDE.md recording pinned package versions) and set it up or upgrade it. Use when a repo is missing the standard setup, when the dev-env-reminder hook flags a gap, when the user mentions hk/mise/gitleaks/"my dev setup", when starting a new repo, or to backfill every standard-tracking repo after a version bump (fleet mode). Tracks a standard version via DEV_ENV_VERSION in mise.toml and upgrades behind repos using references/upgrade-guide.md.
mickzijdel/dev-hooks · ★ 0 · Code & Development · score 69
Install: claude install-skill mickzijdel/dev-hooks
# dev-env-setup Bring a repo up to **an opinionated dev-environment standard** and keep it there. It covers both Python and Rails (Ruby) project types. ## The standard (v25) A repo is **compliant at v25** when it has all of: - **`mise.toml`** — tools pinned (`hk`, `pkl`, stack tool, `gitleaks`, `zizmor`, `actionlint`, `node` for jscpd), `[settings] lockfile = true` and `minimum_release_age = "4d"`, and the `[env]` version stamp `DEV_ENV_VERSION = "25"`. - **`mise.lock`** (committed) — reproducible, checksum-verified tool installs. See "Lockfile & supply-chain verification". - **`.jscpd.json`** — duplication config (`minTokens 70`, `threshold 0`, path excludes under `ignore` — never `ignorePattern`, inert in jscpd v5). - **`scripts/run-jscpd.sh`** (added in v14) — the shared jscpd runner holding the version-cooldown policy; both the hk step and CI's audit job call it (CI with `--require`) so the two gates can't drift. Copied verbatim from the template (repo formatters may re-indent it; never hand-edit the logic). - **`scripts/check_version_sync.sh`** (added in v23) — the shared version-pin agreement gate: every file naming a toolchain or service version (`mise.toml`, the `.<lang>-version` files, the Dockerfile `ARG`s, `package.json`'s `packageManager`, and the compose/deploy/CI `image:` tags) must name the same one. Both the hk `versions` step and CI's `versions` job run it. It checks only the files that exist and prints what it skipped, reports rather