# Files changed · PR \#10012 · pingdotgg/t3code

[View on GitCafe](https://git.cafe/pingdotgg/t3code/pull/10012/diffs)

Repository: [pingdotgg/t3code](https://git.cafe/pingdotgg/t3code)

Visibility: public

[ci: reject unused tailscale exports with Knip](https://git.cafe/pingdotgg/t3code/pull/10012.md)

Version: 2

Head commit: 7ccaaf0727aa68ed029b847f28b4730a981e7241

Base commit: ec9cd419b49ea02f83bfc3c9414356aa1e9d5197

Comparison base: ec9cd419b49ea02f83bfc3c9414356aa1e9d5197

Showing up to 20 entries from this revision. If the pull request changes, reopen the first page before continuing.

## \.github/workflows/ci.yml

Status: modified; +2; −2

```diff
@@ -45,8 +45,8 @@
       - name: Ensure Electron runtime is installed
         run: vp run --filter @t3tools/desktop ensure:electron
 
-      # Export cleanup is still a manual audit; files and dependencies have no baseline.
-      - name: Check unused files and dependencies
+      # Files/dependencies are repo-wide; export checks cover clean workspaces only.
+      - name: Check unused code
         run: vp run knip:check
 
       - name: Check
```

## docs/operations/development.md

Status: modified; +4; −2

```diff
@@ -71,10 +71,12 @@
 
 ### Unused code
 
+`vp run knip:check` checks unused files and dependencies across the repo, then
+unused exports and types in `packages/tailscale`. CI enforces both checks.
-`vp run knip:check` runs the unused-file and dependency check enforced by CI.
 Use `vp run knip --workspace apps/web` to audit one workspace, including exports,
 or `vp run knip:production --workspace apps/web` to find code kept alive only by tests.
+The full export audit still has findings and is not a repo-wide CI gate. Extend the
+export check's workspace selectors as more workspaces become clean. Review callers before
-The full export audit still has findings and is not a CI gate. Review callers before
 deleting code; production mode can also report development scripts and test fixtures.
 Runtime-discovered entrypoints and dependency exceptions belong in [knip.jsonc](../../knip.jsonc).
 
```

## package.json

Status: modified; +1; −1

```diff
@@ -26,7 +26,7 @@
     "tc": "vp run -r --concurrency-limit 2 typecheck",
     "lint": "vp lint --report-unused-disable-directives",
     "knip": "knip",
-    "knip:check": "knip --include files,dependencies --no-config-hints",
+    "knip:check": "knip --include files,dependencies --no-config-hints && knip --workspace packages/tailscale --exports --no-config-hints",
     "knip:production": "knip --production",
     "lint:mobile": "node scripts/mobile-native-static-check.ts",
     "test": "vp run -r test",
```
