# ci: reject unused SSH exports with Knip · PR \#10145 · pingdotgg/t3code

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

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

Visibility: public

State: merged

Source repository: pingdotgg/t3code

Source branch: cleanup-ssh/knip-gate

Target branch: cleanup-ssh/private-exports

Head commit: 2cf079217af5f88e88af236a8e917ca0327490b1

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

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

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

## Description

---

SSH's unused exports are now cleaned up in the preceding layer. Add packages/ssh to the existing Knip export check so CI rejects new unused SSH exports and types.

The existing files/dependencies check and other workspace checks stay enabled. No dependencies, suppressions, or entry-point exceptions are added.

Verification: vp run knip:check passes with SSH included. The preceding layer resolves the 17 SSH findings that would otherwise fail this gate. No runtime or UI changes.

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


<!-- Macroscope's pull request summary starts here -->
<!-- Macroscope will only edit the content between these invisible markers, and the markers themselves will not be visible in the GitHub rendered markdown. -->
<!-- If you delete either of the start / end markers from your PR's description, Macroscope will append its summary at the bottom of the description. -->
> [!NOTE]
> ### Add `packages/ssh` to `knip:check` workspace list
> Extends the Knip export analysis to cover the `packages/ssh` workspace so unused SSH exports are caught in CI.
>
> <!-- Macroscope's review summary starts here -->
>
> <sup><a href="https://app.macroscope.com">Macroscope</a> summarized 2cf0792.</sup>
> <!-- Macroscope's review summary ends here -->
>
<!-- Macroscope's pull request summary ends here -->
