Rationale
Packaging regressions (broken exports map, types that do not resolve under node16/bundler, dead files/exports) are currently only caught by hand. Three standard tools cover this: publint (package.json correctness), @arethetypeswrong/cli (type resolution), knip (dead exports/files/deps). All are devDependencies only — zero runtime footprint, conforming to the dependency policy.
Scope
- New
package-health CI job: publint + attw against the packed tarball, knip over the repo.
- Triage initial knip findings; allowlist intentional public surface.
Documentation
- CONTRIBUTING note (how to run locally).
Acceptance
- Job green on develop; failures block PRs like the test job.
Relates
Improvement program M3. #256 (type-assertion debt audit), subpath-exports + sideEffects issues.
Rationale
Packaging regressions (broken exports map, types that do not resolve under node16/bundler, dead files/exports) are currently only caught by hand. Three standard tools cover this:
publint(package.json correctness),@arethetypeswrong/cli(type resolution),knip(dead exports/files/deps). All are devDependencies only — zero runtime footprint, conforming to the dependency policy.Scope
package-healthCI job:publint+attwagainst the packed tarball,knipover the repo.Documentation
Acceptance
Relates
Improvement program M3. #256 (type-assertion debt audit), subpath-exports + sideEffects issues.