Architecture: How should platform builder libraries be organized to separa...
Documentation for Sessions
🏗️ Architecture: How should platform builder libraries be organized to separa...
📋 Decision Context
Question:
How should platform builder libraries be organized to separate Space vs Universe level components?
Task: Library reorganization into Space vs Universe hierarchy (Session 28.2)
🎯 Decision Made
Chosen:
Create libs-universe with re-exports (non-breaking)
Options Considered:
- Move all files to new folders (breaking changes)
- Create libs-universe with re-exports (non-breaking)
- Keep everything in libs-structural
- Merge libs-space and libs-structural
💭 Reasoning
Created libs-universe as a new NX library that re-exports universe-level components from their current locations (libs-space/universe-* and libs-structural/*). This non-breaking approach: 1) Provides clear semantic separation between Space (global/company) and Universe (project) level components, 2) Follows SCSS-like inheritance where Space settings cascade down and Universe settings take precedence, 3) Maintains backward compatibility since original imports still work, 4) Allows gradual migration to the new @libs-universe import path. The hierarchy now mirrors the actual platform building experience: Space → Universe.
📁 Files Involved
libs/libs-universe/src/index.tslibs/libs-universe/project.jsonlibs/libs-universe/README.mdtsconfig.base.jsonlibs/libs-space/README.mddocs/english/GoGrab-Space/modules/modules-architechture.md
🔗 Related
- Decision ID:
dev_1767799139658_laxobxe - Session: 22
- Workspace: editor2
Auto-generated by MCP Smart Consolidation