Skip to content

[Feature Request] Multi-repository / microservice spec management #725

@alfred-openspec

Description

@alfred-openspec

Problem

Teams working with microservice architectures maintain separate repositories for frontend, backend, and other services. A single feature or change often spans multiple repos, creating several challenges:

  1. Where should specs live? When a spec cannot be mapped to a specific repo, there is no clear home for it.
  2. Agent awareness: If specs live in an independent "pure" spec repository, agents need to know which code repositories are relevant to each change spec.
  3. Cross-repo consistency: Specs may differ per repo, so centralizing them does not fully solve the problem.

User Story

"To a significant degree, we work with microservice-based projects and usually maintain separate repositories for frontend and backend. This makes it difficult for us to map a feature / change to one specific repository."

"Where should the spec be maintained when it can't be mapped to a specific repo?"

"If the specs live in an independent, 'pure' spec repository, how do we teach the agent which repositories are relevant should this be part of the change spec?"

— Martin.KvL (Discord, team at rio.cloud using OpenSpec in production across greenfield + brownfield projects)

Current Workarounds

  • Create a separate repo or workspace that teams work out of
  • Use custom research skills within teams, included in the top-level project repo, to point agents at relevant code repos

Proposed Considerations

  • First-class support for a centralized spec repo that references multiple code repos
  • Spec-level metadata linking to relevant repositories
  • Agent tooling that can resolve cross-repo references and apply changes across repos from a single spec
  • Support for per-repo spec variants when a feature manifests differently across services

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions