Skip to content

[Epic] Repository Split: go-semrel → 4 Independent Repos #103

@mwaldheim

Description

@mwaldheim

Epic: Split go-semrel from Monorepo → 4 Independent Repositories

Goal: Transform go-semrel from a single monorepo into 4 independently-versioned repositories while maintaining all current features (including end-user monorepo support).

Rationale

See ADR-002. TL;DR: Clearer ownership and versioning, plugin SDK evolves independently, reduced coupling.

Repository Split Plan

Repo Purpose Source Status
go-semrel (main) CLI, release orchestration \cmd/, \internal/\ Base
go-semrel-api gRPC API, Protocol Buffers \�pi/proto/v1/\ PR #101
go-semrel-plugins Plugin SDK \plugins/\ WIP
go-semrel-lib Shared libs \pkg/\ WIP

Blockers

Next Steps (After PRs Merged)

  1. Create new repos ✅ (done: api, plugins, lib created)
  2. Use \git subtree split\ to extract code with history
  3. Setup CI/workflows in new repos
  4. Update go.mod imports in main repo
  5. Tag coordinated v0.1.0 release

Important: Monorepo Support as FEATURE

Issues #40-43 remain fully in scope. Those are USER-FACING features for end-users who want to manage their own monorepos with go-semrel. This split is about go-semrel's internal structure only.

Metadata

Metadata

Assignees

Labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions