The kit now ships with dependency-cruiser at the root. Boundaries that used to live in reviewer memory are now mechanical rules.
What's enforced (errors)
packages/**may not importapps/**β apps depend on packages, never the inverse.apps/webandapps/dev-toolare separate deploy units β no code cross-import.apps/e2eis sealed β nothing outside it may import from it.@kit/sharedand@kit/cryptoare foundation β zero@kit/*deps.- Social-stack layering β
social-coreat the bottom;social-metaandsocial-tiktokare isolated siblings;jobs-*andcryptocannot import anysocial-*.
How to run
pnpm depcruise # interactive pnpm depcruise:check # CI-style pnpm depcruise:graph # writes .dependency-cruiser/graph.dot
Hooked into pnpm healthcheck and a new CI job.
Where to learn more
docs/development-guide/dependency-cruiser.mdoc covers reading violations, authoring new rules, and the V1 follow-on bucket.