CheddarBooks Repo Extraction
This is the concrete extraction plan for the first CheddarBooks repo.
Goal
Create the first concrete product/app repo for the CheddarBooks line, beginning with LaundryLog and leaving room for later PerDiemLog and broader CheddarBooks applications.
Preconditions
Do not extract CheddarBooks until FnTools is already extracted and usable as a downstream dependency.
At minimum:
- the
FnToolsrepo exists FnTools.FnHCI.UIis buildable outsideNEXUS- a consumption mode is chosen for
FnToolspackages or source dependencies
Current Owned Inventory In NEXUS
Code Projects
NEXUS-Code/src/Nexus.CheddarBooks.LaundryLog/NEXUS-Code/src/Nexus.CheddarBooks.LaundryLog.UI/
The code namespaces now use:
CheddarBooks.LaundryLogCheddarBooks.LaundryLog.UI
Tests
NEXUS-Code/tests/CheddarBooks.Tests/
Docs That Move
- application-domains/cheddarbooks-foundation.md
- application-domains/cheddarbooks/README.md
- application-domains/cheddarbooks/laundrylog/README.md
- application-domains/cheddarbooks/laundrylog/introduction.md
- application-domains/cheddarbooks/laundrylog/requirements.md
- application-domains/cheddarbooks/laundrylog/product.md
- application-domains/cheddarbooks/laundrylog/domain-model.md
- application-domains/cheddarbooks/laundrylog/privacy-and-ownership.md
- application-domains/cheddarbooks/laundrylog/delivery.md
- application-domains/cheddarbooks/laundrylog/convergence.md
- application-domains/cheddarbooks/laundrylog/data-sync-boundaries.md
- application-domains/cheddarbooks/laundrylog/view-contracts.md
- application-domains/cheddarbooks/laundrylog/screens.md
- application-domains/cheddarbooks/laundrylog/workflows.md
Docs That Stay In NEXUS
- application-domains/cheddar/README.md umbrella portfolio and brand context
- decisions/0018-namespace-and-repo-boundaries-by-line.md this is still the umbrella boundary decision
- cross-line concept and doctrine notes
Recommended New Repo Root Shape
CheddarBooks/
README.md
CheddarBooks.slnx
src/
CheddarBooks.LaundryLog/
CheddarBooks.LaundryLog.UI/
tests/
CheddarBooks.Tests/
docs/
foundation.md
laundrylog/
introduction.md
requirements.md
product.md
domain-model.md
privacy-and-ownership.md
delivery.md
convergence.md
data-sync-boundaries.md
view-contracts.md
screens.md
workflows.md
Extraction Steps
- Create the new
CheddarBooksrepo from theNEXUSbaselinebb87d037or later updated baseline after theFnToolsextraction is stable. - Use the bootstrap runbook and script to stage the owned projects, tests, and docs into the new repo root.
- Rename project folders and project files:
Nexus.CheddarBooks.LaundryLog->CheddarBooks.LaundryLogNexus.CheddarBooks.LaundryLog.UI->CheddarBooks.LaundryLog.UI- Replace the in-repo project reference to
Nexus.FnHCI.UIwith the chosenFnTools.FnHCI.UIdependency form. - Add a bootstrap README section that says this repo was extracted from
NEXUS-EMERGINGand notes the source baseline commit. - Build and run
CheddarBooks.Testsfrom the new repo root. - Tag the first clean extraction baseline in the new repo.
Immediate Success Criteria
- repo-local
dotnet buildsucceeds - repo-local
CheddarBooks.Testssucceeds - no project reference points back into
NEXUS-EMERGING - no project reference points to old
Nexus.CheddarBooks.*names - the app line is documented as
CheddarBooks, not as a NEXUS subsystem
Dependency Direction After Extraction
Expected direction:
CheddarBooks.LaundryLoghas no required dependency onNexus.*CheddarBooks.LaundryLog.UIdepends onFnTools.FnHCI.UICheddarBooksmay later depend on other stable reusable libraries, but should not depend onNEXUSdoctrine repos directly for ordinary app runtime code
Immediate Follow-Up After Extraction
After the repo exists and builds cleanly:
- create the first app shell and event-modeling path docs in the new repo
- move active LaundryLog implementation work there
- leave NEXUS with outward links instead of continuing to host the app code