setup-ts-deep-modules
Installation
SKILL.md
Setup TS Deep Modules
让本仓库的每个包成为深模块(deep module):大量行为藏在小组接口后面。一个包的公开面是它的入口——包根目录下的文件——子目录里的一切都是隐藏的。本 skill 安装 dependency-cruiser 和让入口成为唯一进入方式的规则,然后证明规则能咬人。
术语词汇(深模块、接口、接缝、深度)跑 /codebase-design skill——全程用它的语言。
强制的形状
src/packages/
<name>/
index.ts ← 一个入口(公开)。从外部 import 它。
client.ts ← 另一个入口。一个包可以暴露多个。
lib/ ← 实现:对外部隐藏,互相自由 import。
tests/ ← 同位测试 + fixture(子目录,所以私有)。
公开面是包的根文件——不是某个指定的 index.ts。按约定,实现放在 lib/,测试放在 tests/,让每个包有相同的两目录形状。但规则本身是通用的:任何子目录里的任何东西都是私有的,所以你永远不需要改配置来加目录。