github / github/spec-kit

[Feature]: support and guidance for multi-repo products (microservices architecture)

未关闭
#4,583 0 条评论 1 个 reaction 已指派 0 人 在 GitHub 查看
enhancement needs-triage triage-can-wait
主要语言
Python
星标
137k
派生
12.3k
平均合并
2 天 12 小时
30 天内合并 PR
159

描述

### Problem Statement

Spec Kit currently provides guidance for monorepo scenarios, but many real-world products are built as multiple repositories (microservices), where each repository serves a different function within the same product.

For many organizations, monorepo is not viable due to constraints such as:

- security boundaries,
- team ownership models,
- compliance requirements,
- independent release cadences,
- operational limitations.

Without a dedicated multi-repo approach, applying Spec-Driven Development consistently at the product level becomes difficult, especially for cross-service changes.

### Proposed Solution

Add official support (feature and/or documentation) for a multi-repo product workflow tailored to microservices architectures.

Suggested scope:

- Define a way to represent a product as a logical grouping of multiple repositories/services.
- Support linking and tracking spec dependencies across repos.
- Provide a recommended workflow for cross-repo changes, including:
- creating/updating specs per service,
- dependency management,
- compatibility validation,
- release coordination.
- Establish conventions for versioning and traceability across repositories.
- Include practical, end-to-end examples for non-monorepo microservices.

### Alternatives Considered

Use monorepo guidance as-is
Not sufficient when monorepo cannot be adopted for organizational or technical reasons.

Keep ad-hoc team conventions per repo
Leads to inconsistent practices, weak traceability, and higher coordination overhead.

Rely only on external tooling/process docs
Helps partially, but lacks first-class, opinionated support within Spec Kit’s own workflow.

### Component

Specify CLI (initialization, commands)

### AI Agent (if applicable)

GitHub Copilot

### Use Cases

1. A product is composed of several microservices, each in its own repository.
2. A product-level feature requires coordinated updates to multiple services/specs.
3. An API contract change in one service affects dependent services in other repos.
4. Teams need clear mapping from product intent/spec to implementation across all involved repositories.
5. Release readiness depends on compatibility and sequencing across multiple repos.

### Acceptance Criteria

- [ ] Documentation clearly describes when and how to use a multi-repo workflow (especially when monorepo is not possible).
- [ ] A product-level model/grouping for multiple repos/services is defined.
- [ ] Cross-repo spec linking/dependency handling is documented (or supported as a feature).
- [ ] A recommended end-to-end flow for cross-repo changes is provided.
- [ ] Versioning and traceability conventions across repos are defined.
- [ ] At least one practical microservices example (non-monorepo) is included.

### Additional Context

_No response_

贡献指南

打开贡献指南

调研方向

No files or tests are named. Start by reviewing the existing monorepo guidance and the CLI initialization and command workflows, then determine where a product-level multi-repository model could fit. Done means documenting or implementing cross-repo linking, dependency handling, versioning, release coordination, and a complete microservices example.

由索引模型根据 Issue 内容生成。

评估

技术栈
python
领域
cli, documentation
Issue 类型
功能
难度
5/5
预计耗时
一周以上
活跃度
活跃
描述清晰度
基本清楚
新手友好度
30/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。