diff --git a/.github/workflows/version.yml b/.github/workflows/version.yml index 1f3c87b1..f7d9fd00 100644 --- a/.github/workflows/version.yml +++ b/.github/workflows/version.yml @@ -78,7 +78,7 @@ jobs: pnpm changeset version # Sync version into markdown/MDX files that hardcode it - node scripts/sync-version-in-docs.js "$OLD_CLI_VERSION" + pnpm sync-version -- "$OLD_CLI_VERSION" # Get new CLI version after changesets CLI_VERSION=$(node -e "console.log(require('./apps/pair-cli/package.json').version)") diff --git a/package.json b/package.json index 827e95be..8acaabe8 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,8 @@ "clean": "pnpm -w -r turbo prune && turbo clean && find . -type d \\( -name node_modules -o -name .turbo -o -name dist -o -name coverage \\) -exec rm -rf {} + 2>/dev/null || true; find . -type d -path './scripts/workflows/release' -prune -o -type d -name release -exec rm -rf {} + 2>/dev/null || true; find . -type f -name \"*tsbuildinfo\" -exec rm -f {} + 2>/dev/null || true", "a11y:report": "turbo a11y:report", "a11y:report:html": "turbo a11y:report:html", - "hygiene:check": "node scripts/code-hygiene-check.js", + "hygiene:check": "pnpm --filter @pair/dev-tools code-hygiene:check", + "sync-version": "pnpm --filter @pair/dev-tools sync-version", "docs:staleness": "pnpm --filter @pair/website docs:staleness", "skills:conformance": "pnpm --filter @pair/knowledge-hub skills:conformance", "dup:check": "jscpd apps packages", diff --git a/packages/dev-tools/README.md b/packages/dev-tools/README.md new file mode 100644 index 00000000..163a13b6 --- /dev/null +++ b/packages/dev-tools/README.md @@ -0,0 +1,20 @@ +# @pair/dev-tools + +Pair's own gate/tooling scripts, as tested TypeScript modules — the reference pattern for repo quality gates (per [ADL 2026-07-13-gate-tooling-code-in-tested-modules](../../.pair/adoption/decision-log/2026-07-13-gate-tooling-code-in-tested-modules.md)). + +## Tools + +| Script | Module | Purpose | +| --------------------- | ----------------------------- | ------------------------------------------------------------------------ | +| `code-hygiene:check` | `src/code-hygiene-check.ts` | Fails if suppression markers (`@ts-ignore`, `eslint-disable`, `.skip`) are committed | +| `sync-version` | `src/sync-version-in-docs.ts` | Detects/rewrites hardcoded CLI version strings across `.md`/`.mdx` docs | + +Both are runnable via the repo-root scripts (`pnpm hygiene:check`, `pnpm sync-version -- `), which delegate here (`pnpm --filter @pair/dev-tools