docs: establish module versioning boundaries #4
No files matched your search
@@ -30,7 +30,7 @@ Go module `go.auvem.com/corestack`.
|
||||
|
||||
- Docs format (the spec `docs check` implements): `docs/docs-format.md`.
|
||||
- Decisions live in `docs/adr/`, plans in `docs/plans/`. Records are permanent; never rename them.
|
||||
- Add dependencies only to the module that needs them; heavy dependencies go in nested modules (see the [proposed module-boundary ADR](/docs/adr/20261025T214616275Z-version-light-core-packages-in-the-root-module-and-nest-heavy-dependency-modules.md)).
|
||||
- Add dependencies only to the module that needs them; heavy dependencies go in nested modules (see the [module-boundary ADR](/docs/adr/20261025T214616275Z-version-light-core-packages-in-the-root-module-and-nest-heavy-dependency-modules.md)).
|
||||
|
||||
## Go
|
||||
- Default backend language is Go; follow existing package boundaries.
|
||||
|
||||
+5
-4
@@ -1,8 +1,8 @@
|
||||
---
|
||||
title: "Version light core packages in the root module and nest heavy-dependency modules"
|
||||
date: 2026-10-25
|
||||
status: proposed
|
||||
implementation: not-started
|
||||
status: accepted
|
||||
implementation: implemented
|
||||
summary: Keep light core packages on root-module versions and isolate heavy or independently versioned packages in nested modules from their first commit.
|
||||
tags:
|
||||
- modules
|
||||
@@ -12,7 +12,8 @@ superseded_by: []
|
||||
related: []
|
||||
tracking:
|
||||
- https://gitea.auvem.com/corestack/go/issues/2
|
||||
implemented_by: []
|
||||
implemented_by:
|
||||
- https://gitea.auvem.com/corestack/go/pulls/4
|
||||
---
|
||||
|
||||
# Version light core packages in the root module and nest heavy-dependency modules
|
||||
@@ -40,7 +41,7 @@ Choose the mixed boundary: light core packages share the root module; heavy-depe
|
||||
* Add dependencies only to the module that needs them. The named core packages remain in the root module; heavy dependencies belong in the relevant nested module.
|
||||
* Keep `cmd/docs` in the root module. The [release workflow](/.gitea/workflows/release.yml) listens only for plain `v*` tags, and [GoReleaser](/.goreleaser.yaml) builds `./cmd/docs`, so only root-module tags publish binaries. Prefixed library tags never publish binaries.
|
||||
|
||||
This proposal records the boundary before the planned packages are added; it does not create empty modules or change the current release configuration.
|
||||
This decision establishes the boundary before the planned packages are added. The rule is implemented in [AGENTS.md](/AGENTS.md), and the existing release configuration already follows it. Future packages apply the rule when introduced; no empty modules are needed.
|
||||
|
||||
### Consequences
|
||||
|
||||
|
||||
Reference in new issue
Block a user