Skip to content

feat: nexus-backed CLI/server stores + TUI puppet server#127

Open
windoliver wants to merge 1 commit intomainfrom
fix/cli-bun-shebang
Open

feat: nexus-backed CLI/server stores + TUI puppet server#127
windoliver wants to merge 1 commit intomainfrom
fix/cli-bun-shebang

Conversation

@windoliver
Copy link
Copy Markdown
Owner

Summary

  • When grove.json declares mode: nexus, CLI commands (grove contribute, grove review) and the HTTP server now use Nexus-backed stores instead of local SQLite — all data flows to Nexus VFS at /zones/default/
  • Added TUI puppet server (GROVE_PUPPET_PORT env) for programmatic TUI automation (screen capture + key injection via HTTP)
  • Added agent runner script (scripts/grove-agent.sh) for spawning coder/reviewer agents via acpx codex
  • Fixed checkNexusHealth to include NEXUS_API_KEY auth header (prevents silent fallback to local mode)

Changes

  • src/cli/context.tsinitCliDeps() reads grove.json, returns nexus stores when mode=nexus
  • src/cli/commands/contribute.ts — uses initCliDeps instead of direct SQLite
  • src/cli/commands/review.ts — uses initCliDeps instead of direct createSqliteStores
  • src/server/serve.ts — creates nexus stores alongside local runtime when mode=nexus
  • src/tui/resolve-backend.ts — health check sends Authorization header
  • src/cli/commands/up.tsGROVE_PUPPET_PORT env enables puppet mode
  • src/tui/puppet-server.ts — HTTP server for TUI automation via pty
  • scripts/grove-agent.sh — agent runner for acpx codex (coder/reviewer roles)

Test plan

  • grove init --preset review-loop --nexus-url <url> creates correct grove.json
  • grove contribute with NEXUS_API_KEY writes to nexus VFS
  • grove review with NEXUS_API_KEY writes to nexus VFS
  • HTTP server serves contributions from nexus when mode: nexus
  • GROVE_PUPPET_PORT=5100 grove up starts puppet server, screen capture works
  • TUI shows "nexus (auto: env)" when GROVE_NEXUS_URL is set
  • Ctrl+P → spawn coder/reviewer runs grove-agent.sh in tmux

@windoliver windoliver force-pushed the fix/cli-bun-shebang branch from f2ba1d4 to ed991e4 Compare March 19, 2026 05:05
…runner

When grove.json declares mode "nexus", CLI commands (contribute, review) and
the HTTP server now use NexusContributionStore/NexusClaimStore instead of
local SQLite. This ensures all data flows to Nexus VFS at /zones/default/.

Changes:
- context.ts: initCliDeps reads grove.json, returns nexus stores when mode=nexus
- contribute.ts: uses initCliDeps instead of direct SQLite
- review.ts: uses initCliDeps instead of direct createSqliteStores
- serve.ts: creates nexus stores alongside local runtime when mode=nexus
- resolve-backend.ts: checkNexusHealth includes NEXUS_API_KEY auth header
- up.ts: GROVE_PUPPET_PORT env enables puppet mode for TUI automation
- puppet-server.ts: HTTP server for programmatic TUI control via pty
- grove-agent.sh: agent runner script for acpx codex (coder/reviewer roles)
@windoliver windoliver force-pushed the fix/cli-bun-shebang branch from ed991e4 to 6fe6868 Compare March 19, 2026 06:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant