← ClaudeAtlas

graphify-wrapper-synclisted

Use when a worktree's domain graphs need building or refreshing - "sync the index", "rebuild the graph", "refresh graphify" - AST-only by default, --semantic for the full extract.
yoelgal/agent-tools · ★ 1 · AI & Automation · score 68
Install: claude install-skill yoelgal/agent-tools
# /graphify-wrapper-sync This is the only thing that builds graphs. ```bash . .better-dev/bin/bd-gfx 2>/dev/null || . "${CLAUDE_PLUGIN_ROOT}/scripts/bd-gfx" reg=$(gfx_registry) [ -f "$reg" ] || { echo "run /graphify-wrapper-setup first"; exit 1; } this=$(gfx_this_worktree) sem=false; case "$*" in *--semantic*) sem=true;; esac target="${1:-}"; case "$target" in --*) target="";; esac # ignore flags as name names=$(if [ -n "$target" ]; then echo "$target"; else gfx_index_names; fi) [ -n "$names" ] || { echo "no indexes registered - run /graphify-wrapper-index"; exit 1; } ``` ## Per-index loop For each name, resolve its subtree and its output dir, then build. The rule: - **Refresh** if a graph already exists at `gfx_out_dir <name>`. - **Build from scratch** otherwise. Output never lands in the tree being indexed: `gfx_out_dir` returns an absolute path under this repo's central home, keyed per worktree and per domain, and it is exported as `GRAPHIFY_OUT` **on each build command**. An absolute `GRAPHIFY_OUT` is a single global destination, so exporting it once for the shell would collapse every domain and every repo into one dir. Never set it outside the loop. ```bash backend=$(gfx_backend) # Image/asset files graphify would otherwise read as text "docs" - token noise # with no architectural signal, and the source of oversized chunks that time out. exc_args=(); while IFS= read -r p; do [ -n "$p" ] && exc_args+=(--exclude "$p"); done < <(gfx_extract_excludes) for name in $n