feat(repo): introduce workspace packages and Forge State Hub - #5
Merged
Conversation
Add state, starship and zsh to the allowed scope list so subsequent feature commits can use them.
Extract expandHome and manifest sync-entry loading into a reusable workspace package so configuration packages and root scripts can share the same implementation.
Add a Unix-socket state hub with get/set/watch operations and a forge-state CLI. Runtime packages can now read shared state (e.g. swatch.theme) from a single source instead of invoking each other.
Replace the private ~/.local/state/swatch/current.json store with the shared State Hub. swatch.theme holds the validated Theme object and swatch.selection keeps the Theme ID for recovery. Remove the WezTerm adapter from Swatch; consumers now read swatch.theme directly.
Move Starship, WezTerm and Zsh from configs/ into workspace packages that own their sync plans. Update forge.config.yaml to register packages by name and type rather than standalone manifests. Root sync now delegates to enabled package sync scripts and reuses the shared manifest loader from @forge/shared.
Reflect the migration from configs/ to workspace packages, the new Forge State Hub, and the removal of Swatch's WezTerm adapter.
Build-first workspace packages (@forge/shared and @forge/state) export from dist/, so check and test need the built artifacts. Run pnpm build after install and before pnpm check.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.