# ci: reject unused files and dependencies with Knip · PR \#9962 · pingdotgg/t3code

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

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

Visibility: public

State: merged

Source repository: pingdotgg/t3code

Source branch: t3code/knip-ci

Target branch: t3code/knip-prune-root-dependencies

Head commit: 1f344a043335b7364e8ff13ec79924cc1abd473b

[Discussion and reviews](https://git.cafe/pingdotgg/t3code/pull/9962)

[Commits](https://git.cafe/pingdotgg/t3code/pull/9962/commits?format=markdown)

[Files changed](https://git.cafe/pingdotgg/t3code/pull/9962/diffs?format=markdown)

## Description

---

Unused files and dependency declarations can otherwise accumulate again after this cleanup.

Run knip:check in the existing CI Check job. It enforces zero unused files and dependencies, including development dependencies. Add concise workspace and production-audit instructions to the development runbook.

The export/type backlog remains visible through the full audit but is not yet a CI gate. This does not introduce an issue-count baseline or suppress the remaining exports.

Verification: the exact CI command passes. Temporarily adding an orphan TypeScript file made it exit 1 and identify that file; removing the probe restored a passing result. Formatting and diff checks passed. No runtime or visual behavior changed, so screenshots do not apply.

Leave this stack unmerged for maintainer review.

Model: gpt-6 astra. Harness: Codex in T3 Code.

## Closes discussions
- https://github.com/pingdotgg/t3code/discussions/7042

