Feature design documents
Audience: contributors / maintainers — not the default agent reading path. Start at docs/README.md (For contributors).
Engineering designs for rgBuilder capabilities. Each doc follows the migration planner pattern: goals, architecture, implementation map, CLI, testing, and optional dashboard screenshots.
Index
| Feature | Design doc | Dashboard tab |
|---|---|---|
| Semantic search | semantic-search-design.md | Search |
| Blast radius | blast-radius-design.md | Blast Radius |
| Program slicing | program-slicing-design.md | Program Slicing |
| Taint analysis | taint-analysis-design.md | Taint Analysis |
| CFG | cfg-design.md | CFG / PDG Analysis |
| PDG | pdg-design.md | Dataflow |
| Dominance | dominance-design.md | Dataflow → Dominator Tree |
| GQL | gql-design.md | Graph Visualization (+ Query Guide) |
| Community query & naming | community-query-and-naming-plan.md | Graph Visualization (legend) + GQL |
| Hybrid CPG (two-resolution) | hybrid-cpg-plan.md | CLI/HTTP agent-first (cpg); dashboard optional later |
| Graph metrics | graph-metrics-design.md | Functions |
| Migration planner | migration-planner-design.md | Migration |
| CI policy checks | ci-policy-checks-design.md | CLI-first (blast scores in dashboard) |
Screenshots
PNG assets live under docs/images/design/ per feature subdirectory.
Regenerate after UI changes:
cd dashboard && npm run build
cargo build --release
rg-build -r /path/to/gbuilder discover . --with-cfg --with-security --with-taint
rg-build -r /path/to/gbuilder serve --port 8080
DASHBOARD_URL=http://127.0.0.1:8080/ node dashboard/scripts/capture-design-screenshots.mjs
The capture script selects functions from the sidebar and triggers the right action per tab (Load CFG, Compute slice, dominator view, etc.). Override symbols for other repos:
CAPTURE_FN_BLAST=MyService \
CAPTURE_FN_CFG=MyService \
CAPTURE_FN_DATAFLOW=MyService \
CAPTURE_FN_SLICE=MyService \
CAPTURE_SLICE_LINE=42 \
CAPTURE_SLICE_VAR=orderId \
CAPTURE_FN_TAINT=handleRequest \
DASHBOARD_URL=http://127.0.0.1:8080/ node dashboard/scripts/capture-design-screenshots.mjs
Migration-only extras (preset/tooltip shots):
DASHBOARD_URL=http://127.0.0.1:8080/ node dashboard/scripts/capture-migration-screenshots.mjs
Set DESIGN_DOCS_SCREENSHOT_DIR or MIGRATION_DOCS_SCREENSHOT_DIR to override output paths.
User-facing companions
| Audience | Doc |
|---|---|
| Concepts | Introduction.md |
| Commands | user-guide.md |
| Dashboard walkthrough | dashboard-user-guide.md |
| Migration workflow | building-migration-plan.md |