Qoder平台支持五种Monorepo目录结构:一、DDD平级Domains分层;二、Qoder Harness工程化目录模式;三、MCP扩展优先插件化结构;四、Quest任务导向型结构;五、Domains+Harness+MCP混合式分层,分别面向业务语义、AI可验证性、插件集成、任务闭环与多维协同。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您正在使用Qoder平台构建大型单体仓库(Monorepo),但面临模块复用困难、跨域依赖失控、新成员上手缓慢或CI验证粒度粗放等问题,则很可能是目录结构缺乏面向AI工程化与业务语义双重约束的组织逻辑。以下是Qoder生态原生支持的五种Monorepo目录结构组织方法:
一、DDD平级Domains分层
该方式强调业务语义完整性,将每个核心业务域(如user、payment、notification)作为独立可演进单元,所有相关代码(模型、服务、接口、测试)物理聚拢,避免跨目录跳转,契合Qoder对“项目感知能力”的深度依赖要求。
1、在项目根目录下创建domains/子目录,不使用app/或src/等通用前缀。
2、为每个业务域新建子目录,例如domains/user/、domains/payment/。
3、在domains/user/内放置UserModel.py、UserRegistrationService.py、UserAPI.py、test_user_registration.py等全部关联文件。
4、在Qoder CLI中执行qoderinit --structure domain-driven,自动注入PSR-4兼容的命名空间映射规则及测试路径镜像配置。
5、在domains/__init__.py中声明__all__ = ["user", "payment"],确保Qoder Skills脚本能通过import domains.user自动解析上下文。
二、Qoder Harness工程化目录模式
该模式以AI可验证性为核心,将架构约束、lint规则、测试契约显式编码进目录结构,使Qoder Agent在生成或修改代码时能主动调用本地检查器,而非依赖提示词记忆隐式规范。
1、在项目根目录下建立harness/目录,包含constraints.yaml(定义禁止跨层import规则)、linter-config.json(指定pylint+custom-checks)。
2、创建codebase/目录替代传统src/,其下仅允许存在domains/、shared/、adapters/三级,禁止直接放置.py文件。
3、在shared/中存放types/、errors/、utils/等无业务状态的纯函数模块,并在harness/constraints.yaml中声明"codebase/shared/** must not import codebase/domains/**"。
4、运行qoder harness setup,自动挂载pre-commit hook与CI阶段的qoder validate --policy harness/constraints.yaml。
三、MCP扩展优先插件化结构
该结构专为高频集成外部系统设计,将第三方能力抽象为可热插拔的MCP(Modular Capability Plugin)单元,每个插件自带schema、adapter、mock与e2e测试闭环,便于Qoder Agent动态加载与沙箱验证。
1、在项目根目录下创建mcp-plugins/目录,每个插件以独立子目录存在,例如mcp-plugins/stripe-payments/、mcp-plugins/slack-notifications/。
代码编辑 CLI 工具集合:Cursor CLI(agent)和 Qoder CLI(qodercli),用于代码修改、重构、Code Review 及自动化代码任务。
2、每个插件子目录内必须包含plugin.yaml(声明能力类型、输入输出schema、依赖版本)、adapter/(适配器实现)、mock/(模拟响应)、e2e/(端到端测试用例)。
3、在根目录package.json中添加"mcp": {"registry": "./mcp-plugins"}字段,供Qoder CLI识别插件注册点。
4、执行qoder mcp register stripe-payments,触发自动校验schema兼容性并注入Qoder Runtime插件索引。
四、Quest任务导向型结构
该结构围绕用户任务生命周期组织代码,将完整端到端流程(如“开通企业账号”、“完成跨境支付结算”)封装为独立Quest单元,每个Quest包含前端界面、后端服务、状态机定义与可观测性埋点,便于Qoder Agent按任务上下文精准生成与调试。
1、在项目根目录下创建quests/目录,每个任务对应一个子目录,例如quests/onboard-enterprise/、quests/settle-cross-border/。
2、每个quests/{name}/目录下必须包含flow.yaml(定义状态流转图)、ui/(前端页面与组件)、api/(后端接口与DTO)、state/(状态机定义文件)、telemetry/(埋点配置)。
3、在flow.yaml中使用qoder:task: true标记该Quest为可被Qoder Skills调用的任务入口。
4、运行qoder quest run onboard-enterprise --debug,启动本地任务沙箱并实时渲染执行路径与变量快照。
五、Domains+Harness+MCP混合式分层
该结构适用于超大型协同工程,将DDD语义层、Harness验证层与MCP集成层三者垂直叠加,在同一Monorepo中实现业务内聚、AI可信与生态开放三重目标,各层间通过Qoder Policy Bridge进行策略联动。
1、根目录同时存在domains/、harness/、mcp-plugins/三个顶层目录,且各自独立受控。
2、在harness/policy-bridge.yaml中定义跨层策略,例如"domains/payment/** must depend on mcp-plugins/stripe-payments via adapter interface only"。
3、执行qoder policy check --bridge harness/policy-bridge.yaml,触发全层联合校验,报告违反策略的跨层引用路径。
4、在Qoder Dashboard中启用Layered View Mode,可视化切换查看Domains业务边界、Harness约束覆盖度、MCP插件接入拓扑。

















