feat: Make Grok CLI a first-class citizen with full plugin + working governance hooks#91
Merged
Merged
Conversation
…hooks - Full plugin payload under .grok/plugins/strray-ai/ (hooks + .mcp.json) - PreToolUse hook that actually invokes applyDecisionMatrix (Dynamo Solar SSOT) - Real enforcement: bad code patterns → low resonance + REJECT from the matrix - strray-ai grok install CLI command with auto-trust support - Postinstall automatically seeds the plugin (project-level) - Comprehensive E2E (52 passes) validating the packaged artifact end-to-end - Parity with OpenCode/Hermes/OpenClaw integrations The hook now runs real governance decisions inside Grok CLI sessions.
db8a25a to
d1dc009
Compare
…add proper Vitest timeouts to Hermes bridge tests - Fixed path depth in installForGrokCLI for published packages - Added /* noop */ to satisfy no-empty lint rule in pre-tool-use hook - Properly increased both bridgeExec and Vitest test timeouts (previously only bridgeExec was updated, causing 30s Vitest timeouts) This commit is now focused only on Grok + related test stability fixes.
d1dc009 to
9cb6e5e
Compare
… when server unavailable
…tInternal to prevent hang
2b822f1 to
d795492
Compare
…d of calls[0] (per-key debounce change)
- Gate test-pipeline, test-package, and security behind needs-pipeline / ci:full - Gate hermes-plugin.yml behind needs-hermes / ci:full - Add ci-summary job as single required status check (depends on quality, test-unit, enforcement) - This dramatically speeds up normal PR feedback while still allowing full runs when needed Part of Grok CLI first-class citizen PR cleanup
- ci-health now only depends on ci-summary (the required path) and docs-build - Prevents unnecessary coupling to conditionally-run jobs (test-pipeline, test-package, security) - Keeps ci-health as the operational monitor with if: always() Part of Grok CLI first-class citizen CI improvements.
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.
Summary
This PR makes Grok CLI a first-class citizen in StringRay, at the same depth as the existing OpenCode integration.
What’s Included
Full Grok plugin architecture
.grok/plugins/strray-ai/(hooks +.mcp.json)PreToolUse+SessionStarthooks registeredReal governance enforcement in the hook
pre-tool-use.jshandler now robustly locates and callsapplyDecisionMatrixfrom the Dynamo Solar SSOT core.Installation paths
npx strray-ai grok install(with--forceand dry-run support + auto-trust)postinstall(project-level.grok/plugins/strray-ai/)MCP registration
.mcp.jsonregistersstrray-governanceandstrray-skills(including researcher)Comprehensive E2E validation
test-grok-cli-e2e.mjsArchitecture (ASCII overview printed by the E2E)
Testing
This brings Grok CLI to the same level as OpenCode for using the full power of 0xRay (researcher + governance) natively.