mirror of
https://github.com/Kaelio/ktx.git
synced 2026-06-25 08:48:08 +02:00
chore: add TypeScript dead-code checks (#60)
* chore: add TypeScript dead-code checks * chore: trim stale Knip ignores * Fix CI smoke and artifact checks
This commit is contained in:
parent
721f1a998f
commit
bcb0d2f8f7
29 changed files with 818 additions and 220 deletions
19
AGENTS.md
19
AGENTS.md
|
|
@ -86,6 +86,7 @@ pnpm run build
|
|||
pnpm run type-check
|
||||
pnpm run test
|
||||
pnpm run check
|
||||
pnpm run dead-code
|
||||
pnpm --filter @ktx/cli run smoke
|
||||
pnpm --filter './packages/*' run build
|
||||
pnpm --filter './packages/*' run test
|
||||
|
|
@ -127,6 +128,7 @@ shared contracts or package exports are affected.
|
|||
- Build/export changes: `pnpm run build`
|
||||
- Workspace scripts: `node --test scripts/*.test.mjs` or the specific script
|
||||
test file
|
||||
- TypeScript dead-code tooling/config changes: `pnpm run dead-code`
|
||||
- Python semantic layer: `uv run pytest python/ktx-sl/tests -q`
|
||||
- Python daemon: `uv run pytest python/ktx-daemon/tests -q`
|
||||
- Python files: also run `uv run pre-commit run --files [FILES]` when
|
||||
|
|
@ -156,6 +158,23 @@ pnpm run test 2>&1 | tee /tmp/ktx-test-output.log
|
|||
- Do not manually edit generated or built output under `dist/`; edit source and
|
||||
rebuild.
|
||||
|
||||
### Dead TypeScript Code Checks
|
||||
|
||||
KTX uses Biome for local unused-code linting and Knip for workspace graph
|
||||
analysis. These checks are intentionally part of CI and pre-commit because the
|
||||
normal development workflow is agent-based.
|
||||
|
||||
- Run `pnpm run dead-code` after TypeScript changes.
|
||||
- Treat Knip findings as investigation prompts, not automatic deletion orders.
|
||||
- Remove private dead code when you confirm there are no imports, dynamic
|
||||
references, generated references, or tests that still need it.
|
||||
- Preserve public package exports unless the task explicitly includes API
|
||||
pruning.
|
||||
- Add narrow `knip.json` ignores only for intentional dynamic or public cases.
|
||||
Do not add broad package-level ignores to silence unrelated findings.
|
||||
- Update `knip.json` when adding dynamic entrypoints, generated files, package
|
||||
exports, CLI bins, or framework files that Knip cannot infer.
|
||||
|
||||
### CLI Standards
|
||||
|
||||
- Use Commander for CLI command trees, arguments, options, help text, custom
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue