llm-to-agent/docs/source-layout.md
2026-08-21 16:34:59 +08:00

47 lines
1.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 源码目录
项目保持一个 TypeScript package
```text
llm-to-agent/
├── src/
│ ├── kernel/
│ ├── extensions/
│ │ ├── catalog.ts
│ │ ├── shared/
│ │ ├── cli/
│ │ ├── web/
│ │ └── desktop/
│ ├── products/
│ ├── config.ts
│ └── 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不写业务逻辑
- `config.ts`:读取并合并全局与 Workspace Extension 配置;
- `tests/`:跨 Extension、跨进程或跨版本测试
- `tooling/`:构建、开发和发布辅助。
Extension 的最终职责见 [Extension 规划](extensions.md)。
## 放置规则
- 源码目录只在对应能力开始实现时创建;
- Extension 内部文件和目录不设统一模板;
- 业务概念和流程进入 Extension不进入 Kernel
- 产品私有实现不能互相依赖;
- Provider 只通过公开契约和扩展点接入能力所有者;
- 普通复用代码不因此升级为 Extension
- 当前保持单包,只有独立构建、发布或进程隔离时才拆包。