Releases: grovetools/core
v0.6.3
This release focuses heavily on enriching the JSON schema with metadata to drive user interfaces and documentation. A new system of x-* extensions has been implemented to provide hints about configuration layering, priority, and field importance (cf0cc36, 7e1c1e0), alongside structural improvements to ensure logging configuration nests correctly within the schema (1b0ce18).
Several improvements target the schema generation process itself. Fixes include adding the schema composer to the generation chain (787298a) and implementing post-processing logic to ensure x-status fields are correctly injected into nested structures (067a584). Additionally, a new gear icon has been added to the theme system to support settings interfaces (fdc336e).
Features
- Add x-* extensions for config UI metadata including layer and priority hints (cf0cc36)
- Add logging to base config schema for proper nesting structure (1b0ce18)
- Mark key notebook configuration fields as important in schema (8bca276)
- Add metadata tags to logging and TUI configuration fields (7e1c1e0)
- Mark grove source fields with wizard steps metadata (bba2cf8)
- Add IconGear to theme icons for settings UIs (fdc336e)
Bug Fixes
- Add schema-composer to go generate chain to ensure distributed schema updates (787298a)
- Use JSON-level post-processing for x-status extras to fix nested struct marshaling (067a584)
- Migrate search_paths from legacy x-deprecated to standard x-status fields (9203ddd)
Refactoring
- Rename x-wizard schema extension to x-important (8055f56)
File Changes
config/schema.go | 144 +++++++++-
config/schema/definitions/base.schema.json | 414 +++++++++++++++++++----------
config/types.go | 20 +-
logging.schema.json | 114 ++++++--
logging/config.go | 36 +--
pkg/docs/docs.json | 19 +-
schema/definitions/base.schema.json | 411 ++++++++++++++++++----------
schema/grove.embedded.schema.json | 187 +++++++++++--
tui/theme/icons.go | 18 ++
9 files changed, 1002 insertions(+), 361 deletions(-)
v0.6.2
This release introduces the grove-daemon (groved), shifting state management to a centralized background process. This includes the new core groved subcommand for lifecycle management (d75b602), a robust client infrastructure enabling local/remote fallback (891966f), and a collector engine (42df574) that gathers git, session, and workspace data in the background.
The daemon now supports SSE streaming for real-time state updates (1f766b0) and uses fsnotify for instant session detection (d5a9b52). Performance has been significantly optimized by reusing cached workspace data and reducing CPU-intensive IO operations (3d82b8d), alongside dynamic scan intervals that adapt based on the number of focused workspaces (2484832).
Workspace discovery has been centralized and enhanced to support generic note groups and full worktree resolution (4f5419f). The enrichment system now includes release information, binary status, and context statistics (30347a9), providing comprehensive data for consumer tools like nav.
Features
- Add
core grovedsubcommand for daemon management (d75b602) - Add daemon client infrastructure with local/remote fallback (891966f)
- Implement Phase 4 collector engine for background state aggregation (42df574)
- Add RemoteClient and SSE streaming support (1f766b0)
- Add monitoring, config inspection, and focus-based scanning (b9b3c71)
- Implement dynamic scan intervals based on focus count (2484832)
- Implement Phase 2 session collector with fsnotify support (d5a9b52)
- Implement Phase 3 session registry with full discovery (4f5419f)
- Add Release, Binary, and CX stats enrichment support (30347a9)
Bug Fixes
- Reduce CPU usage by reusing cached workspace data (3d82b8d)
File Changes
cmd/core/main.go | 1 +
cmd/groved.go | 395 +++++++++++++++++
config/config.go | 1 +
config/types.go | 12 +
internal/daemon/collector/git.go | 170 ++++++++
internal/daemon/collector/interface.go | 19 +
internal/daemon/collector/note.go | 114 +++++
internal/daemon/collector/plan.go | 110 +++++
internal/daemon/collector/session.go | 614 +++++++++++++++++++++++++++
internal/daemon/collector/workspace.go | 94 +++++
internal/daemon/engine/engine.go | 70 ++++
internal/daemon/pidfile/pidfile.go | 67 +++
internal/daemon/server/server.go | 319 ++++++++++++++
internal/daemon/store/store.go | 152 +++++++
internal/daemon/store/types.go | 30 ++
pkg/daemon/client.go | 75 ++++
pkg/daemon/factory.go | 60 +++
pkg/daemon/local.go | 95 +++++
pkg/daemon/remote.go | 313 ++++++++++++++
pkg/enrichment/enrich.go | 151 +++++++
pkg/enrichment/notes.go | 67 +++
pkg/enrichment/plans.go | 197 +++++++++
pkg/enrichment/tools.go | 191 +++++++++
pkg/enrichment/types.go | 67 +++
pkg/paths/xdg.go | 24 ++
pkg/sessions/discovery.go | 744 +++++++++++++++++++++++++++++++++
pkg/workspace/provider.go | 17 +-
util/frontmatter/parser.go | 98 +++++
28 files changed, 4263 insertions(+), 4 deletions(-)
v0.6.1
Configuration capabilities have been expanded with support for TOML files (31f9a44), a new GROVE_CONFIG_OVERLAY mechanism for isolated environments (876b799), and integrated hooks configuration within the main grove.yml schema (fca2cdb). Path resolution has been overhauled to adhere to XDG standards (f6483cb), accompanied by a new paths command for discovery (7e5ea37) and support for binary path overrides via GROVE_BIN (c8e50d0).
Workspace management improvements include configurable cx repository locations (c79f801) and better organization of docgen assets (a7359d8). The CLI help system now supports styled examples (0b337f4), while tmux integration received updates for socket-aware command execution (6d7fd1a) and server-level environment variable management (ac2f07e).
Features
- Add TOML configuration file support (31f9a44)
- Support cmd.Example in styled help (0b337f4)
- Add hooks configuration to grove.yml schema (fca2cdb)
- Add GROVE_BIN env var for binary path override (c8e50d0)
- Add paths command for XDG directory discovery (7e5ea37)
- Add XDG-compliant path resolution package (f6483cb)
- Add context.repos_dir to configure cx repo location (c79f801)
- Add GetDocgenDir method to NotebookLocator (534c1b7)
- Add GROVE_CONFIG_OVERLAY for isolated environments (876b799)
- Add SetGlobalEnvironment for server-level env vars (ac2f07e)
- Add Command() helper for socket-aware exec.Cmd (6d7fd1a)
- Organize docgen prompts in prompts/ subdirectory (a7359d8)
- Add descriptions to choices (b1427e7)
Bug Fixes
- Make version field optional in config schema (ee30a6e)
- Add Hooks to config merge logic (a28d7d8)
- Use XDG paths for repo manager and workspace discovery (28e07ad)
- Remove common paths from nb resolver (3afc381)
- Get actual window name instead of assuming session name (ff9ccc8)
- Dont bold status text e.g. success, error, warning etc (65fbb00)
- Update VERSION_PKG to grovetools/core path (c727ade)
Code Refactoring
- Use extensions for hooks config instead of struct field (4d897d4)
- Update docgen title to match package name (32ef41c)
Chores
- Add MIT License (fee40be)
- Update schemas, readme, makefile, cli ref, docs (3fd1819)
- Add concept lookup instructions to CLAUDE.md (30f3410)
- Update readme/overview (594ffd7)
- Move README template to notebook (7e25ad3)
- Remove docgen files from repo (75fddb7)
- Move docs.rules to .cx/ directory (8ad28fd)
- Update go.mod for grovetools migration (0627935)
File Changes
.cx/docs.rules | 10 +
CLAUDE.md | 13 ++
LICENSE | 21 ++
Makefile | 2 +-
README.md | 131 +++++-------
cli/help.go | 47 ++++-
cmd/core/main.go | 1 +
cmd/paths.go | 54 +++++
config/config.go | 322 ++++++++++++++++++++++++-----
config/merge.go | 13 +-
config/schema.go | 14 +-
config/schema/definitions/base.schema.json | 166 +++++++++++----
config/types.go | 163 +++++++--------
docs/01-overview.md | 172 ++++-----------
docs/02-cli-reference.md | 282 +++++++++++++++++++++++++
docs/03-configuration.md | 193 +++++++++++++++++
docs/README.md.tpl | 7 -
docs/docgen.config.yml | 22 --
docs/docs.rules | 1 -
go.mod | 10 +-
go.sum | 38 +++-
grove.toml | 13 ++
grove.yml | 13 --
logging.schema.json | 2 +-
logging/config.go | 36 ++--
notebook.schema.json | 57 +++--
pkg/docs/docs.json | 55 ++++-
pkg/models/hooks.go | 15 --
pkg/paths/xdg.go | 146 +++++++++++++
pkg/repo/manager.go | 22 +-
pkg/sessions/registry.go | 7 +-
pkg/tmux/client.go | 11 +
pkg/tmux/launch.go | 10 +-
pkg/tmux/session.go | 13 ++
pkg/workspace/discover.go | 9 +-
pkg/workspace/discover_test.go | 10 +
pkg/workspace/notebook_locator.go | 36 +++-
pkg/workspace/notebook_resolver.go | 24 +--
schema/definitions/base.schema.json | 253 ++++++++++++++++++++---
schema/grove.embedded.schema.json | 237 ++++++++++++++++++---
tests/e2e/main.go | 1 +
tests/e2e/scenarios_config.go | 79 +++++++
tui/theme/theme.go | 21 +-
43 files changed, 2120 insertions(+), 632 deletions(-)