1.4 KiB
1.4 KiB
源码目录
项目保持一个 TypeScript package:
llm-to-agent/
├── src/
│ ├── kernel/
│ ├── extensions/
│ │ ├── catalog.ts
│ │ ├── shared/
│ │ ├── cli/
│ │ ├── web/
│ │ └── desktop/
│ ├── products/
│ └── main.ts
├── docs/
├── tests/
├── tooling/
├── package.json
└── tsconfig.json
目录职责
kernel/:Extension 生命周期、能力注册和事实事件;extensions/catalog.ts:已经实现的跨 Extension ID、Hook 和 Event;extensions/shared/:跨产品使用的能力和 Provider;extensions/cli|web|desktop/:产品输入、展示和平台集成;products/:静态选择产品启用的 Extension,不写业务逻辑;tests/:跨 Extension、跨进程或跨版本测试;tooling/:构建、开发和发布辅助。
Extension 的最终职责见 Extension 规划。
放置规则
- 源码目录只在对应能力开始实现时创建;
- Extension 内部文件和目录不设统一模板;
- 业务概念和流程进入 Extension,不进入 Kernel;
- 产品私有实现不能互相依赖;
- Provider 只通过公开契约和扩展点接入能力所有者;
- 普通复用代码不因此升级为 Extension;
- 当前保持单包,只有独立构建、发布或进程隔离时才拆包。