Releases: sshaaf/rgctl
Release list
rgctl v0.4.9
rgctl v0.4.9
Major simplification release: CLI-first workflow (in-repo .rgctl/ artifacts), Konveyor Kantra migration rules built in, and daemon + MCP removed. Download rgctl from the assets below and verify with rgctl --version.
rgctl --version
rgctl install --skill --force # refresh agent playbook after upgradeHighlights
Konveyor Kantra migration rules (--with-kantra)
Native Kantra rule evaluation against the indexed graph and source cache — no Kantra CLI, LSP, or containers.
| Capability | Detail |
|---|---|
| Embedded catalog | Release binaries ship Konveyor stable/java (~2.6k rules) as compiled RBKC blob (rgctl-kantra) |
| CLI | discover --with-kantra, --kantra-target, --kantra-rules, --kantra-catalog, --kantra-index-only |
| Artifacts | .rgctl/kantra_findings.json (violations + skipped rules) |
| Graph | KantraRule / KantraRuleset nodes; VIOLATES edges to matched code nodes after full eval |
| GQL | Filter by r.`konveyor.io/target`; traverse VIOLATES to code nodes |
| Dashboard | Migration Rules tab — category + Konveyor target filters, syntax-highlighted violation snippets (kantra_index.json + per-file shards) |
rgctl discover . -l java -e target --with-kantra
rgctl discover . --with-kantra --kantra-target quarkus
rgctl -f json gql "MATCH (r:KantraRule)-[:VIOLATES]->(n) RETURN r, n LIMIT 10"Does not require --with-cfg. Source builds need the rulesets submodule — see crates/rgctl-kantra/README.md.
CLI-first artifacts (daemon removed)
Background daemon mode and all daemon routing are removed. Every command runs in-process; artifacts live at {repo}/.rgctl/.
| Removed | Replacement |
|---|---|
rgctl daemon start|stop|status|list |
N/A — no background process |
--no-daemon, --daemon-home, --fail-if-no-daemon |
Default is always in-repo artifacts |
serve --daemon, serve --mode mcp |
rgctl serve (foreground HTTP + dashboard on one repo) |
MCP tools (rgctl_status, rgctl_query, …) |
rgctl -f json <command> subprocesses (AGENTS.md) |
~/.rgctl/cache/{name}/.rgctl/ daemon cache |
rgctl migrate-cache copies legacy cache into the repo |
Agent workflow: discover once → spawn rgctl -f json gql|blast-radius|… (or long-lived rgctl serve for HTTP). Re-run rgctl install --skill --force for updated skill + AGENTS.md.
discover repo root fix
rgctl -r PATH discover . no longer ignores -r — the explicit repo root wins when both are given.
Markdown context graph guide
New step-by-step guide: Markdown Context Graph — index docs with discover -l markdown, GQL on headings, Obsidian export, kubernetes/website walkthrough (PR #66).
Documentation and demos
- User guide, installation, HTTP API, agent skill, and integration-test docs updated for CLI-first workflow
- MCP Server guide removed (
docs/guides/mcp-server.md) - CLI and dashboard VHS demos re-recorded with
--with-kantraand Migration Rules tab segment - Website docs hub and demo pages aligned
Dashboard / WASM fix
Restored scripts/build-dashboard.sh and rgctl_wasm_* asset naming; bundle test ensures worker ↔ WASM filenames stay in sync (fixes dashboard WASM 404).
Breaking changes (upgrade from v0.4.8)
- Daemon and MCP removed — see migration above; run
rgctl migrate-cacheif you still have~/.rgctl/cache/. - Artifacts in repo — add
.rgctl/to.gitignore; expect{repo}/.rgctl/afterdiscover. - MCP configs obsolete — remove
.cursor/mcp.json/ Claude MCP entries forserve --mode mcp; use CLI subprocesses or HTTPserve. - Refresh agent skill —
rgctl install --skill --force.
Unchanged: semantic index --embedder code-daemon (ONNX embedder name — not related to removed daemon mode).
Performance
Linux kernel cold discover gate (example/linux, default discover, release build) passes at 145 s wall on reference M3 Pro hardware (baseline unchanged).
Install
| Platform | Asset |
|---|---|
| Linux x86_64 | rgctl-0.4.9-x86_64-unknown-linux-gnu.tar.gz |
| macOS Apple Silicon | rgctl-0.4.9-aarch64-apple-darwin.tar.gz |
| macOS Intel | rgctl-0.4.9-x86_64-apple-darwin.tar.gz |
| Windows x86_64 | rgctl-0.4.9-x86_64-pc-windows-msvc.zip |
Verify: shasum -a 256 -c SHA256SUMS.txt
Docs
- User Guide — Kantra, discover, full CLI
- Kantra crate README — embedded catalog, submodule
- Dashboard — Migration Rules
- AGENTS.md · Install
Merged PRs
- #72 — Kantra migration rules, daemon/MCP removal, dashboard WASM fix
- #66 — Markdown context graph guide
Compare
v0.4.8...v0.4.9
What's Changed
- Add markdown context graph guide with kubernetes/website walkthrough by @savitharaghunathan in #66
- Kantra migration rules + remove daemon/MCP; fix dashboard WASM by @sshaaf in #72
Full Changelog: v0.4.8...v0.4.9
rgctl v0.4.8
rgctl v0.4.8
Patch release: documentation and agent guidance only — no CLI behavior changes since v0.4.7. Binaries are rebuilt for semver consistency.
Download rgctl from the assets below and verify with rgctl --version.
Highlights
Agent docs: AGENTS.md and rgctl skill
Minor updates to the bundled agent playbook and AGENTS.md so they match v0.4.7 runtime behavior:
- Default daemon — artifacts under
~/.rgctl/cache/{reponame}/.rgctl/;--no-daemonfor in-repo{repo}/.rgctl/ - Discover target — do not use
rgctl -r PATH discover .(the.indexes shell cwd, not-r) - Retired legacy socket —
serve --daemonis the HTTP+MCP background daemon, not the oldquery.sockblast path - On-disk artifact table — paths relative to artifact root (daemon cache vs
--no-daemon) - Failure playbook — “no
.rgctl/in repo” is expected with default daemon
Refresh the project copy after upgrading:
rgctl install --skill --forceUser-facing documentation
Aligned README, User Guide, Installation, FAQ, Introduction, HTTP API, dashboard user guide, and website agent examples with the same daemon / discover / MCP semantics. Fixed stale unreleased links and broken README anchor links.
Install
| Platform | Asset |
|---|---|
| Linux x86_64 | rgctl-0.4.8-x86_64-unknown-linux-gnu.tar.gz |
| macOS Apple Silicon | rgctl-0.4.8-aarch64-apple-darwin.tar.gz |
| macOS Intel | rgctl-0.4.8-x86_64-apple-darwin.tar.gz |
| Windows x86_64 | rgctl-0.4.8-x86_64-pc-windows-msvc.zip |
Verify: shasum -a 256 -c SHA256SUMS.txt
Upgrade from v0.4.7
Optional — same CLI as v0.4.7. Re-run rgctl install --skill --force if you want the updated skill and AGENTS.md guidance in your repo.
Compare
v0.4.7...v0.4.8
Full Changelog: v0.4.7...v0.4.8
rgctl v0.4.7
rgctl v0.4.7
rgBuilder is now rgctl. This release is the product rename plus a background HTTP+MCP daemon, stdio MCP for IDEs, and explicit --no-daemon mode for in-repo artifacts and CI.
Download rgctl from the assets below (not rg-build). Put it on your PATH, then:
rgctl --version
rgctl install --skillHighlights
CLI rename: rgBuilder → rgctl
| Before (v0.4.6) | Now (v0.4.7) |
|---|---|
Binary rg-build |
Binary rgctl |
Crates rgbuilder-* |
Crates rgctl-* |
Artifacts .rgbuilder/ |
Artifacts .rgctl/ (auto-migrated from .rgbuilder/ / .rbuilder/) |
Env RGBUILDER_* |
Env RGCTL_* (legacy names still read for one release) |
MCP tools rgbuilder_* |
MCP tools rgctl_* |
Agent skill .claude/skills/rgbuilder/ |
Agent skill .claude/skills/rgctl/ (and .cursor/skills/rgctl/) |
Background daemon (default)
Most CLI commands auto-start a daemon on first use (stderr: no daemon found; starting). State lives under ~/.rgctl/ by default (override with --daemon-home or RGCTL_HOME).
discoverwrites to~/.rgctl/cache/{reponame}/.rgctl/— not into your source tree.gql,blast-radius,metrics, andcheck(with-f json) route through the daemon when it is running.rgctl daemon start|stop|status|list— lifecycle and catalog.rgctl serve --daemon— background HTTP on0.0.0.0:8080with per-repo URLs under/{reponame}/and optional/mcpHTTP endpoint.
The legacy blast-radius query.sock auto-connect path is retired (query_daemon.rs is quarantined).
--no-daemon mode
Opt out of the daemon when you want artifacts in the repo or need deterministic CI:
rgctl --no-daemon discover --languages java
# → writes {repo}/.rgctl/graph.snapshot.binAlso: --fail-if-no-daemon (fail closed if the daemon is not already running) and RGCTL_NO_DAEMON=1.
Discover pitfall (fixed in docs): rgctl -r PATH discover . does not index PATH — the . uses shell cwd. Use cd repo && rgctl discover . or rgctl -r PATH discover (no trailing .).
MCP server (IDE integration)
Seven tools for agents in Cursor / Claude Code — shared service layer in rgctl-service, MCP crate rgctl-mcp:
| Tool | Purpose |
|---|---|
rgctl_status |
Pipeline / artifact readiness |
rgctl_query |
GQL |
rgctl_search |
Semantic search |
rgctl_impact |
Blast radius |
rgctl_metrics |
PageRank / betweenness / communities |
rgctl_cpg |
Hybrid CPG (status, calls, pdg, slice, …) |
rgctl_check |
CI policy gate |
Stdio (IDE): rgctl serve --mode mcp — JSON-RPC on stdin/stdout; auto-runs discover --full unless --no-pipeline.
HTTP (daemon): POST /mcp on the background daemon when MCP is enabled in config.
Guide: MCP Server
discover --full staged pipeline
One command runs three stages in process (queryable after stage 1):
- Basic — index + analysis (snapshot ready for
gql) - Deep —
--with-cfg --with-dashboard --with-harmonic - Semantic — vocab semantic index
Status: GET /api/status and .rgctl/pipeline_status.json.
rgctl serve (foreground HTTP) no longer fails when the dashboard is missing — it binds, starts the full pipeline, and serves a preparing page until ready. Use serve --no-pipeline for the old fail-fast behavior.
Install
| Platform | Asset |
|---|---|
| Linux x86_64 | rgctl-0.4.7-x86_64-unknown-linux-gnu.tar.gz |
| macOS Apple Silicon | rgctl-0.4.7-aarch64-apple-darwin.tar.gz |
| macOS Intel | rgctl-0.4.7-x86_64-apple-darwin.tar.gz |
| Windows x86_64 | rgctl-0.4.7-x86_64-pc-windows-msvc.zip |
Verify: shasum -a 256 -c SHA256SUMS.txt (after extracting checksums file from the release).
Quick start
# Index (daemon cache by default)
cd your-repo
rgctl discover .
# Or from anywhere
rgctl -r /path/to/repo discover
# IDE MCP (.cursor/mcp.json)
# "args": ["-r", "/abs/path/to/repo", "serve", "--mode", "mcp"]
# CI / in-repo artifacts
rgctl --no-daemon -r /path/to/repo discoverDocs
- Discovering and Indexing —
discover, daemon vs--no-daemon - MCP Server — stdio + HTTP MCP
- User Guide · AGENTS.md · Install
Merged PRs
- #67 — rgctl rename, daemon, MCP service,
discover --full, integration tests - #68 — Windows
windows-sysfix, user-guide harness, doc/command corrections, VHS tape
Compare
v0.4.6...v0.4.7
Upgrade from v0.4.6
- Replace
rg-buildwithrgctlon yourPATH. - Existing
.rgbuilder/dirs migrate to.rgctl/on first use. - Re-run
rgctl install --skillfor the renamed skill bundle. - Update MCP configs: tool names
rgctl_*, argsserve --mode mcp(notrgbuilder_*). - If you relied on in-repo
.rgctl/, either use--no-daemonor point follow-up commands at the daemon cache path from discover JSON.
What's Changed
- MCP server, HTTP daemon, and rgBuilder → rgctl rename (v0.4.7) by @sshaaf in #67
- fixes for 0.4.7 by @sshaaf in #68
Full Changelog: v0.4.6...v0.4.7
rgBuilder v0.4.6
rgBuilder v0.4.6
This release lands the refactor branch: faster CFG and semantic indexing, a first-class agent skill installer, dashboard export work, and a new set of step-by-step guides on the website (CoolStore walkthroughs for every major CLI feature).
Guides on the website
Start here — practical how-tos with a shared CoolStore (konveyor-ecosystem/coolstore) example:
https://shaaf.dev/rgBuilder/docs/guides/
| Guide | Command |
|---|---|
| Discovering and Indexing | discover |
| Graph Query Language | gql |
| Blast Radius Analysis | blast-radius |
| Semantic Search | semantic |
| Graph Metrics | metrics |
| Community Detection | communities |
| Program Slicing | slice |
| Hybrid CPG | cpg |
| Inspecting CFG, PDG, and Dominance | inspect |
| Exporting Graphs | export |
| CI Policy Checks | check |
| HTTP Server and Dashboard | serve |
| Migration Planning | discover --export-migration-hints |
| Agent Skill | install --skill |
Also: User Guide · JSON API · Docs hub
Highlights
Agent skill installer
rg-build install --skill copies the bundled skills/rgbuilder/ tree (embedded in the binary at compile time) into the target repo:
<repo>/.claude/skills/rgbuilder/<repo>/.cursor/skills/rgbuilder/
Default --host all; --host claude or --host cursor to limit. Identical files are left unchanged; differing files require --force. -f json reports each write (created / unchanged / overwritten / skipped_exists).
rg-build install --skill
rg-build -r /path/to/repo -f json install --skillNo git checkout of rgBuilder is required — a GitHub Release binary is enough.
Semantic search: vocab by default, parallel index
rg-build semantic indexuses the compiled vocab embedder unless you pass--embedder code-daemonor--embedder hash.- Index build is parallel on CPU/I/O-bound stages (batched embed, body reads, ONNX
session.runwith batch 32 and fallback). The on-disk index is still one bincode write at the end. - Distill / Hamming fusion path is aligned with the vocab matrix (v2).
Faster --with-cfg discover
- One parse per file: CFG work is grouped by source file. Each Rayon task parses that file once, then builds every function’s CFG from the same tree. Cache hits still skip parse.
- Faster dominators: reverse postorder + dense Cooper–Harvey–Kennedy
Vec<u32>idoms. PublicDominatorTreemaps stayHashMap<BlockId, …>. - No CFG/PDG deep clone into the archive:
FunctionAnalysis/CfgPdgRecordshareArc<ControlFlowGraph>andArc<ProgramDependenceGraph>. Wire format is unchanged (serderc).
Linux kernel cold discover (default flags, no CFG) remains inside the 170s +10% gate on the maintainer machine (~146s wall, ~2.66M nodes).
Dashboard export
Streaming/export helpers for analysis, blast, dataflow, function metrics, taint, and source catalog — less overhead when building the optional dashboard bundle.
Contributor checklist
docs/contributor-checklist.md — language, feature, and CI-gate hub (fixes #62, PR #64).
CLI
| Change | Detail |
|---|---|
install --skill |
New subcommand; --host all|claude|cursor; --force |
-f json install |
schema_version 1 — see JSON API § install |
semantic index |
Default embedder vocab |
Docs and site
- New
docs/guides/tree (14 guides) mirrored on the site at/docs/guides/. - Guides use CoolStore from konveyor-ecosystem/coolstore.
- User Guide §1 documents
install --skill; JSON API documents the payload.
Merged PRs
- #65: Refactor — CFG/semantic performance, skills installer, guides, dashboard export.
- #64: Contributor checklist hub (@savitharaghunathan).
Commit range
Compare: v0.4.5...v0.4.6
Notable commits:
f706150Default semantic index embedder is vocab (opt in to code-daemon / hash).ac9826eVocab matrix / code-daemon distill path.ba4a6e9Parallel semantic index build (embed, bodies, batched ONNX).4014bd0CFG: one parse per file, faster dominators, Arc-shared CFG/PDG.be94837Dashboard export optimization.18b7bf2rg-build install --skill.f51b7b8/72c52c8Feature guides + agent skill guide.2b0e988Contributor checklist (fixes #62).
Thanks
Thanks to @savitharaghunathan for the contributor checklist.
Install
Download platform archives from this GitHub Release, put rg-build on your PATH, then:
rg-build --version
rg-build install --skillSee Install and User Guide §1.
What's Changed
- Add contributor checklist hub by @savitharaghunathan in #64
- Refactor by @sshaaf in #65
Full Changelog: v0.4.5...v0.4.6
rgBuilder v0.4.5
rgBuilder v0.4.5
This release focuses on markdown context graph support, Obsidian export, and performance/reliability hardening across discover and profiling workflows.
Highlights
- Added markdown context graph plugin with tree-sitter extraction and GQL integration.
- Added markdown section content payload support and doc-graph dashboard improvements.
- Added Obsidian vault export plus content-store integration for markdown graph workflows.
- Improved Obsidian export with streaming/async processing for better scalability.
- Optimized community neighbor projection and introduced code-graph fast paths to reduce cold-profile overhead.
- Improved markdown file lookup performance and unified k8s cold profile gate behavior.
- Hardened extraction reliability and profiling attribution (including fail-loud extraction accounting and improved timing buckets).
- Expanded markdown integration test coverage and fixed CLI/path resolution edge cases.
Merged PRs
- #57: markdown context graph and related performance/export improvements.
Commit Range
- Compare:
v0.4.4...v0.4.5 - Key commits in this range include:
d444b79Add markdown context graph plugin with tree-sitter extraction and GQL integration0e335e0Add Obsidian vault export, content store, and doc semantic index for markdown graph51f7625Optimize community neighbor projection for lower cold-profile overhead385ca17Add code-graph fast path in community neighbor list constructionfe858f0Harden extraction reliability and profiling; add PR review templated8cc106Add streaming and async to exporta194599Fix follow-up issues and format updates
Thanks
Special thanks to @savitharaghunathan for adding markdown support and the Obsidian exporter.
What's Changed
- Add markdown context graph plugin with tree-sitter extraction and GQL integration by @savitharaghunathan in #57
Full Changelog: v0.4.4...v0.4.5
rgBuilder v0.4.4
What's Changed
Full Changelog: v0.4.3...v0.4.4
rg universe design mockup (issue #61)
rgBuilder v0.4.3
What's Changed
- update docs and verify commands by @sshaaf in #43
- build webpage by @sshaaf in #45
- fix(#46): Go Tier-1 call graph + shared CFG language surfaces by @sshaaf in #48
- Add comprehensive rBuilder agent skill by @savitharaghunathan in #47
- Fix java #50 and #49 by @sshaaf in #51
- initial change to rgbuilder by @sshaaf in #52
New Contributors
- @savitharaghunathan made their first contribution in #47
Full Changelog: v0.4.2...v0.4.3
rBuilder v0.4.2
What's Changed
- fix: communities in search and link to semantic search by @sshaaf in #36
- feat: hybrid CPG facade, Tier 1 Layer F parity, and CoolStore dual-API fixtures by @sshaaf in #38
Full Changelog: v0.4.1...v0.4.2
rBuilder v0.4.1
Full Changelog: v0.4.0...v0.4.1