Skip to content

Releases: sshaaf/rgctl

rgctl v0.4.9

Choose a tag to compare

@github-actions github-actions released this 01 Sep 02:17
32399d6

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 upgrade

Highlights

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-kantra and 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)

  1. Daemon and MCP removed — see migration above; run rgctl migrate-cache if you still have ~/.rgctl/cache/.
  2. Artifacts in repo — add .rgctl/ to .gitignore; expect {repo}/.rgctl/ after discover.
  3. MCP configs obsolete — remove .cursor/mcp.json / Claude MCP entries for serve --mode mcp; use CLI subprocesses or HTTP serve.
  4. Refresh agent skillrgctl 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

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

Choose a tag to compare

@github-actions github-actions released this 27 Aug 23:33
53b2b79

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-daemon for in-repo {repo}/.rgctl/
  • Discover target — do not use rgctl -r PATH discover . (the . indexes shell cwd, not -r)
  • Retired legacy socketserve --daemon is the HTTP+MCP background daemon, not the old query.sock blast 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 --force

User-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

Choose a tag to compare

@github-actions github-actions released this 27 Aug 23:09
68d0235

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 --skill

Highlights

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).

  • discover writes to ~/.rgctl/cache/{reponame}/.rgctl/ — not into your source tree.
  • gql, blast-radius, metrics, and check (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 on 0.0.0.0:8080 with per-repo URLs under /{reponame}/ and optional /mcp HTTP 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.bin

Also: --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):

  1. Basic — index + analysis (snapshot ready for gql)
  2. Deep--with-cfg --with-dashboard --with-harmonic
  3. 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 discover

Docs

Merged PRs

  • #67 — rgctl rename, daemon, MCP service, discover --full, integration tests
  • #68 — Windows windows-sys fix, user-guide harness, doc/command corrections, VHS tape

Compare

v0.4.6...v0.4.7

Upgrade from v0.4.6

  1. Replace rg-build with rgctl on your PATH.
  2. Existing .rgbuilder/ dirs migrate to .rgctl/ on first use.
  3. Re-run rgctl install --skill for the renamed skill bundle.
  4. Update MCP configs: tool names rgctl_*, args serve --mode mcp (not rgbuilder_*).
  5. If you relied on in-repo .rgctl/, either use --no-daemon or 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

Choose a tag to compare

@github-actions github-actions released this 21 Aug 01:36
8206faa

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 --skill

No git checkout of rgBuilder is required — a GitHub Release binary is enough.

Semantic search: vocab by default, parallel index

  • rg-build semantic index uses the compiled vocab embedder unless you pass --embedder code-daemon or --embedder hash.
  • Index build is parallel on CPU/I/O-bound stages (batched embed, body reads, ONNX session.run with 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. Public DominatorTree maps stay HashMap<BlockId, …>.
  • No CFG/PDG deep clone into the archive: FunctionAnalysis / CfgPdgRecord share Arc<ControlFlowGraph> and Arc<ProgramDependenceGraph>. Wire format is unchanged (serde rc).

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:

  • f706150 Default semantic index embedder is vocab (opt in to code-daemon / hash).
  • ac9826e Vocab matrix / code-daemon distill path.
  • ba4a6e9 Parallel semantic index build (embed, bodies, batched ONNX).
  • 4014bd0 CFG: one parse per file, faster dominators, Arc-shared CFG/PDG.
  • be94837 Dashboard export optimization.
  • 18b7bf2 rg-build install --skill.
  • f51b7b8 / 72c52c8 Feature guides + agent skill guide.
  • 2b0e988 Contributor 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 --skill

See Install and User Guide §1.

What's Changed

Full Changelog: v0.4.5...v0.4.6

rgBuilder v0.4.5

Choose a tag to compare

@sshaaf sshaaf released this 19 Aug 19:35
7ba5780

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:
    • d444b79 Add markdown context graph plugin with tree-sitter extraction and GQL integration
    • 0e335e0 Add Obsidian vault export, content store, and doc semantic index for markdown graph
    • 51f7625 Optimize community neighbor projection for lower cold-profile overhead
    • 385ca17 Add code-graph fast path in community neighbor list construction
    • fe858f0 Harden extraction reliability and profiling; add PR review template
    • d8cc106 Add streaming and async to export
    • a194599 Fix 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

Choose a tag to compare

@github-actions github-actions released this 13 Aug 23:05
368fe24

What's Changed

  • perf: graph backend, analysis hot paths, and index_extract wins by @sshaaf in #54

Full Changelog: v0.4.3...v0.4.4

rg universe design mockup (issue #61)

Pre-release

Choose a tag to compare

@sshaaf sshaaf released this 18 Aug 17:30
368fe24

Visual design concept for #61. Not a product release — hosting mockup for issue attachment.

rgBuilder v0.4.3

Choose a tag to compare

@github-actions github-actions released this 07 Aug 21:01
efd9773

What's Changed

New Contributors

Full Changelog: v0.4.2...v0.4.3

rBuilder v0.4.2

Choose a tag to compare

@github-actions github-actions released this 22 Jul 00:39
6c1d12d

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

Choose a tag to compare

@github-actions github-actions released this 21 Jul 11:50
720cd7c

Full Changelog: v0.4.0...v0.4.1