Skip to content

feat: add codebase knowledge graphs for all 20 stacks (#029)#304

Open
WhatIfWeDigDeeper wants to merge 10 commits into
mainfrom
feat/understand-codebase-graphs
Open

feat: add codebase knowledge graphs for all 20 stacks (#029)#304
WhatIfWeDigDeeper wants to merge 10 commits into
mainfrom
feat/understand-codebase-graphs

Conversation

@WhatIfWeDigDeeper
Copy link
Copy Markdown
Owner

@WhatIfWeDigDeeper WhatIfWeDigDeeper commented May 5, 2026

Summary

  • Add knowledge graphs for all 20 stacks using the understand-anything plugin — each stack directory gets its own .understand-anything/knowledge-graph.json with architectural layers, node relationships, and a guided tour
  • Add a root domain graph mapping 5 business domains, 11 flows, and 52 steps across the shared job application tracking model (unified merge graph removed — too overwhelming in dashboard)
  • Add README section documenting graphs and /understand-anything:understand-domain usage; add .gitignore rules for intermediate build artifacts (using **/.understand-anything/intermediate/ glob to match nested dirs); add README TOC rule to CLAUDE.md and copilot-instructions.md

Test Plan

  • Open dashboard: cd ~/.claude/plugins/cache/understand-anything/understand-anything/2.5.1/packages/dashboard && GRAPH_DIR=/path/to/application-tracker npx vite --host 127.0.0.1 and verify the knowledge graph loads
  • Run /understand-anything:understand-domain in Claude Code from repo root to verify domain graph regeneration works
  • Confirm intermediate/ and tmp/ directories are not tracked by git (git check-ignore -v go-api/.understand-anything/intermediate/assembled-graph.json)

🤖 Generated with Claude Code

Review Guide

Areas identified by automated analysis as needing human judgment.
This is not a complete review checklist — it highlights where your attention matters most.

Novel Patterns

- Run understand-anything analysis on every stack directory
- Add unified monorepo-root merge graph (533 nodes, 1032 edges)
- Add domain graph with 5 business domains, 11 flows, 52 steps
- Add README section with stack table and domain analysis commands
- Add .gitignore rules for intermediate/tmp build artifacts
- Add README TOC rule to CLAUDE.md and copilot-instructions.md

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings May 5, 2026 11:47
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot wasn't able to review this pull request because it exceeds the maximum number of lines (20,000). Try reducing the number of changed lines and requesting a review from Copilot again.

WhatIfWeDigDeeper and others added 3 commits May 5, 2026 07:49
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add bash write loop sandbox gotcha to CLAUDE.md and copilot-instructions
- Add reciprocal mirror-rule to copilot-instructions header
- Add missing cspell words: subdirs, shutil, mktemp, EBADPLATFORM, libexec

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Dashboard is too overwhelming at the unified level and doesn't
distinguish API vs UI stacks. Per-directory graphs remain intact.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 69 out of 70 changed files in this pull request and generated 17 comments.

Comment thread angular-ui/.understand-anything/meta.json Outdated
Comment thread fastapi/.understand-anything/meta.json Outdated
Comment thread go-api/.understand-anything/meta.json Outdated
Comment thread hono-api/.understand-anything/meta.json Outdated
Comment thread nest-api/.understand-anything/meta.json Outdated
Comment thread specs/029-understand-codebase-graphs/spec.md Outdated
Comment thread .github/copilot-instructions.md
Comment thread spring-api/.understand-anything/meta.json Outdated
Comment thread README.md Outdated
Comment thread specs/029-understand-codebase-graphs/spec.md Outdated
- Remove projectRoot and outputPath absolute paths from 10 meta.json
  files (angular-ui, fastapi, go-api, hono-api, nest-api,
  nest-history-api, rails-api, react-apollo-ui, spring-api,
  tanstack-start-ui) — machine-specific paths leak local fs layout and
  cause noisy diffs on regeneration
- Fix spring-api meta.json description: "angular-ui" → "angular-spring-ui"
  (spring-api pairs with angular-spring-ui on port 3070, not angular-ui)
- Fix spec: remove absolute /Users/greg/… paths from Dashboard Usage and
  Notes sections; replace with portable placeholders
- Fix spec: Angular 19 → Angular 21 for angular-ui stack row
- Fix spec: angular-spring-ui is a full stack with source, not a pointer dir
- Fix spec: Goal section still mentioned unified monorepo merge (removed)
- Mirror gitignore slash-anchoring rule to copilot-instructions.md
- Clarify README domain analysis section: domain graphs are generated
  on demand, not committed alongside knowledge graphs

Co-authored-by: Copilot <copilot-pull-request-reviewer[bot]@users.noreply.github.com>
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 69 out of 70 changed files in this pull request and generated 4 comments.

Comment thread specs/029-understand-codebase-graphs/spec.md Outdated
Comment thread README.md
Comment thread nuxt-api/.understand-anything/.understandignore Outdated
Comment thread api/.understand-anything/.understandignore Outdated
- Spec: soften Goal language and update Status to acknowledge
  angular-spring-ui as deferred (resolves contradiction with the
  "Not analyzed" stack-table row)
- README: add a note to the Codebase Knowledge Graphs section
  acknowledging angular-spring-ui is not yet covered
- nuxt-api/.understandignore: drop tests/ exclusion (the committed
  knowledge-graph.json already includes a tests/ node, so the
  exclusion would cause drift on regeneration)
- api/.understandignore: drop tests/ exclusion (graph contains 7
  tests/** nodes that would silently disappear next regeneration)

Co-authored-by: Copilot <copilot-pull-request-reviewer[bot]@users.noreply.github.com>
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 69 out of 70 changed files in this pull request and generated 2 comments.

Comments suppressed due to low confidence (1)

.github/copilot-instructions.md:12

  • The “Keep CLAUDE.md in sync” instruction is stated twice (once as a standalone line near the top and again in the How to Use section). Duplicating cross-cutting rules increases the chance they drift over time; consider keeping this guidance in just one place in this file.
**Scope:** Repo-wide guardrails and navigation for GitHub Copilot Chat. Keep changes within this monorepo; respect existing workflows and Claude skills.

Keep `CLAUDE.md` in sync: mirror cross-cutting rule changes back to `CLAUDE.md`.

## How to Use This Guide
- Start here, then jump to the focused partials in `.github/agents/` for on-demand detail.
- For automation recipes, see `.github/agents/skills-index.md` to leverage existing `.claude/skills` instead of duplicating them.
- Honor CLAUDE.md rules: no new docs at repo root; prefer exact version pins; use worktrees for complex work.
- Keep `CLAUDE.md` and `.github/copilot-instructions.md` in sync for cross-cutting rule changes.

Comment thread README.md Outdated
Comment thread README.md
WhatIfWeDigDeeper and others added 2 commits May 6, 2026 08:06
Resolves the high-severity Remote Code Execution advisory by bumping
the transitive simple-git from 3.35.2 to 3.36.0 (via npm audit fix).
Pulled in via nuxt → @nuxt/devtools → simple-git. Other packages in
the monorepo do not depend on simple-git, so no other lockfiles change.

CI's audit:ci:all step was failing on this advisory.
- Replace `/Users/<you>/...` macOS-style PLUGIN path with `~/...` so
  the dashboard launch snippet is cross-platform
- Clarify that `/understand-anything:understand-domain` accepts either
  a stack-directory argument (when run from repo root) or no argument
  (when run inside a stack), matching the existing skill behaviour
  rather than implying just one invocation form

Co-authored-by: Copilot <copilot-pull-request-reviewer[bot]@users.noreply.github.com>
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 69 out of 71 changed files in this pull request and generated 2 comments.

Files not reviewed (1)
  • nuxt-api/package-lock.json: Language not supported

Comment thread README.md

### Domain Analysis (Business Flows)

Run `/understand-anything:understand-domain` in Claude Code to generate a `domain-graph.json` that maps business flows and their steps. Domain graphs are generated on demand and are not committed alongside the knowledge graphs.
Comment on lines 4058 to 4072
"node_modules/@simple-git/args-pathspec": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/@simple-git/args-pathspec/-/args-pathspec-1.0.2.tgz",
"integrity": "sha512-nEFVejViHUoL8wU8GTcwqrvqfUG40S5ts6S4fr1u1Ki5CklXlRDYThPVA/qurTmCYFGnaX3XpVUmICLHdvhLaA==",
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/@simple-git/args-pathspec/-/args-pathspec-1.0.3.tgz",
"integrity": "sha512-ngJMaHlsWDTfjyq9F3VIQ8b7NXbBLq5j9i5bJ6XLYtD6qlDXT7fdKY2KscWWUF8t18xx052Y/PUO1K1TRc9yKA==",
"license": "MIT"
},
"node_modules/@simple-git/argv-parser": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/@simple-git/argv-parser/-/argv-parser-1.0.3.tgz",
"integrity": "sha512-NMKv9sJcSN2VvnPT9Ja7eKfGy8Q8mMFLwPTCcuZMtv3+mYcLIZflg31S/tp2XCCyiY7YAx6cgBHQ0fwA2fWHpQ==",
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/@simple-git/argv-parser/-/argv-parser-1.1.1.tgz",
"integrity": "sha512-Q9lBcfQ+VQCpQqGJFHe5yooOS5hGdLFFbJ5R+R5aDsnkPCahtn1hSkMcORX65J2Z5lxSkD0lQorMsncuBQxYUw==",
"license": "MIT",
"dependencies": {
"@simple-git/args-pathspec": "^1.0.2"
"@simple-git/args-pathspec": "^1.0.3"
}
},
CI's `Install npm packages` step was failing in tanstack-start-ui with
EUSAGE: lockfile out of sync with package.json. The committed
package-lock.json was missing fields for many transitive deps
(`change <pkg> undefined => <ver>` from `npm ci --dry-run`), so npm
refused to use it. Regenerated via `npm install --package-lock-only`;
verified with `npm ci`, `audit-ci`, and `npm run build`.

Direct deps in package.json are unchanged — only the lockfile is
rewritten to a complete, internally consistent v3 lockfile.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants