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)
- Create new repos ✅ (done: api, plugins, lib created)
- Use \git subtree split\ to extract code with history
- Setup CI/workflows in new repos
- Update go.mod imports in main repo
- 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.
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
Blockers
Next Steps (After PRs Merged)
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.