llm-to-agent/docs/source-layout.md

1.4 KiB
Raw Blame History

源码目录

项目保持一个 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
  • 当前保持单包,只有独立构建、发布或进程隔离时才拆包。