From 598e89d1e8c72e72b77de4f6175ddde2a0f81ccf Mon Sep 17 00:00:00 2001 From: "Claude (Opus 4.7)" Date: Thu, 21 May 2026 23:47:20 +0530 Subject: [PATCH] =?UTF-8?q?ci:=20install=20knip=20(Tier-2=20=E2=80=94=20de?= =?UTF-8?q?ad=20code=20+=20unused=20deps)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Finds unused exports, unreferenced files, and uninstalled deps in TypeScript codebases. Replaces ts-prune (unmaintained). Warn-only initially. Co-Authored-By: Claude Opus 4.7 (1M context) --- .github/workflows/knip.yml | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 .github/workflows/knip.yml diff --git a/.github/workflows/knip.yml b/.github/workflows/knip.yml new file mode 100644 index 0000000..7dfb03c --- /dev/null +++ b/.github/workflows/knip.yml @@ -0,0 +1,23 @@ +name: knip (dead code + unused deps) + +on: + push: + branches: [master, main] + pull_request: + branches: [master, main] + +permissions: + contents: read + +jobs: + knip: + runs-on: ubuntu-latest + timeout-minutes: 5 + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: 20 + cache: npm + - run: npm ci + - run: npx knip --no-exit-code # warn-only initially; remove --no-exit-code once baseline is clean