Commit Graph
124 Commits
Author SHA1 Message Date
mengdehong b8d88023a5 fix(dashboard): optimize pan/zoom interaction performance
- Widen transition to [box-shadow,outline,opacity,filter] to exclude
  transform (the pan/zoom culprit) while preserving ring animations
  (Tailwind v4 outline) and diff-fade opacity/filter transitions
- Replace inline boxShadow with Tailwind shadow-[] utility so
  .node-glow/.diff-*-glow CSS classes compose correctly
- Disable nodesDraggable, nodesConnectable, edgesFocusable,
  edgesReconnectable, elementsSelectable for read-only visualization
2026-03-24 20:30:56 +08:00
Yuxiang LinandGitHub ed16da7e12 Merge pull request #18 from AnnulusLabs/fix/large-graph-dashboard-perf
fix: move dagre layout to Web Worker for large graphs
2026-03-24 20:15:43 +08:00
Lum1104andClaude Opus 4.6 01d7ece81d chore: add large graph generator script for perf testing
Generates fake knowledge-graph.json with configurable node count
for testing Web Worker layout performance. Forward-only edges to
avoid dagre stack overflow on cyclic graphs.

Usage: node scripts/generate-large-graph.mjs [nodeCount]

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-24 20:12:50 +08:00
Lum1104andClaude Opus 4.6 bc9ab3f090 docs: add Gemini CLI and Pi Agent platform support
Add INSTALL.md for Gemini CLI and Pi Agent, and update all four
READMEs (EN, ZH, JA, TR) with install instructions and compatibility
table entries.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-24 18:43:53 +08:00
Yuxiang LinandGitHub 007344e797 Merge pull request #30 from berkcangumusisik/feat/keyboard-shortcuts-and-contributing
Feat/keyboard shortcuts and contributing
2026-03-24 10:19:54 +08:00
Lum1104andClaude Opus 4.6 cd8cd0fb5c fix: keyboard shortcuts bugs and add shortcut hint
- Fix ? shortcut: add shiftKey: true so it matches on standard keyboards
- Fix Escape: keep hook always enabled so ESC closes the modal
  (remove dead showKeyboardHelp branch, read all state at invocation time)
- Fix formatShortcutKey: don't show redundant ⇧ for shifted punctuation
- Remove stale showKeyboardHelp from useMemo deps
- Add "Press ? for keyboard shortcuts" hint in graph area

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-24 10:19:31 +08:00
Berkcan Gümüşışık dbd761d72d Merge branch 'feat/keyboard-shortcuts-and-contributing' of https://github.com/berkcangumusisik/Understand-Anything into feat/keyboard-shortcuts-and-contributing 2026-03-23 19:58:34 +03:00
Berkcan Gümüşışık 6723ff3ea5 Refactor keyboard shortcuts; add Turkish README
Use dashboard store state at handler runtime and simplify shortcut wiring to avoid stale closures. App.tsx: replace many useDashboardStore selectors with runtime getState() calls inside keyboard shortcut actions and reduce useMemo dependencies to showKeyboardHelp. KeyboardShortcutsHelp.tsx: remove local Escape key effect (handled globally). useKeyboardShortcuts.ts: ignore shortcuts while typing in inputs/textareas/contentEditable (allow Escape), and improve Mac detection via userAgentData.platform fallback; use the same isMac flag in formatShortcutKey. README (zh-CN & ja-JP): add link to Turkish README (README.tr-TR.md).
2026-03-23 19:58:29 +03:00
AnnulusLabsandClaude Opus 4.6 7bfcba677b fix: move dagre layout to Web Worker for large graphs
Fixes #14 — dashboard becomes unusable with large knowledge graphs (2,700+ nodes).

- Web Worker for dagre layout: graphs above 200 nodes compute layout off the
  main thread via a dedicated Web Worker, keeping the UI responsive
- Request ID correlation: concurrent layout calls are routed by incrementing
  request ID, preventing race conditions where results cross-wire
- Worker error handling: onerror rejects pending promises; GraphView catches
  errors and clears the loading spinner
- Cancellation cleanup: effect cleanup clears layouting state to prevent
  stuck spinners when the graph switches below the async threshold
- Topology/visual split: dagre only re-runs when graph structure changes;
  node selection, tour highlights, and search results are applied as a
  cheap O(n) overlay without triggering relayout
- React.memo on CustomNode: prevents O(n) re-renders when selecting
  individual nodes in large graphs
- Zero overhead for small graphs: below 200 nodes, the original synchronous
  layout path is used unchanged

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-23 10:37:12 -06:00
Berkcan GümüşışıkandGitHub 59b755ca46 Merge branch 'Lum1104:main' into feat/keyboard-shortcuts-and-contributing 2026-03-23 15:59:03 +03:00
Berkcan Gümüşışık 5f23a45e3d Update OpenCode instructions in Turkish README
Replace the previous opencode.json example with a directive to fetch and follow the INSTALL.md from the Understand-Anything repo's .opencode path. Also update the OpenCode table entry to indicate "AI güdümlü kurulum" (AI-guided installation). Changes apply to README.tr-TR.md to streamline installation instructions.
2026-03-23 15:54:26 +03:00
Yuxiang LinandGitHub 9805f9fcb3 Merge pull request #13 from Lum1104/feat/language-agnostic-support
feat: language-agnostic support for 12 languages
2026-03-23 20:43:55 +08:00
Yuxiang LinandGitHub b3af2c97b7 Merge pull request #26 from Lum1104/refactor/unify-skills-install
refactor: unify skills install method across all platforms
2026-03-23 20:30:20 +08:00
Berkcan Gümüşışık b0cb17793a Add keyboard shortcuts UI and CONTRIBUTING.md
Introduce keyboard shortcuts to the dashboard and add contributor docs. Adds a reusable useKeyboardShortcuts hook (with formatShortcutKey), a KeyboardShortcutsHelp modal component, and integrates shortcuts into App.tsx (registering keys like ?, Escape, /, ArrowLeft/Right, l, d and wiring store actions). Adds related styles (.glass-heavy, .kbd) to index.css. Also adds a comprehensive CONTRIBUTING.md with setup, workflow, testing, and PR guidelines.
2026-03-23 12:04:02 +03:00
Berkcan Gümüşışık 25ebf6d950 Add Turkish README and update language links
Add a new Turkish translation file README.tr-TR.md with the full localized documentation and quickstart instructions. Update README.md to include a link to the Turkish README in the language selector so Turkish-speaking users can access the translated docs.
2026-03-23 11:57:23 +03:00
Lum1104andClaude Sonnet 4.6 c8d92444e2 refactor: unify skills install method across all platforms
Replace platform-specific install approaches with a consistent
per-skill symlink pattern for OpenCode and Codex (both share
~/.agents/skills/), matching the OpenCode docs requirement of
<name>/SKILL.md discovery.

Changes:
- OpenCode: migrate from opencode.json plugin config to direct
  skill symlinks in ~/.agents/skills/<name>/
- Codex: replace broken bundle symlink (understand-anything/ had
  no SKILL.md at root) with individual per-skill symlinks, matching
  OpenCode exactly
- All platforms: add universal ~/.understand-anything-plugin symlink
  so understand-dashboard SKILL.md can reliably find packages/dashboard/
- All platforms: use idempotent [ -e ] || [ -L ] || ln -s guard to
  handle multi-platform installs on the same machine
- All platforms: use ln -sf and rm -f for robust re-installs and
  partial uninstalls
- understand-dashboard/SKILL.md: replace fragile dirname-based path
  resolution with a prioritized candidate loop with explicit error
  guard
- Remove orphaned .opencode/plugins/understand-anything.js and its
  build scaffolding
- Update all three README variants (en, zh-CN, ja-JP) to reflect
  new OpenCode AI-driven install method

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-23 16:41:29 +08:00
Yuxiang LinandGitHub d539fd45ba Merge pull request #24 from eltociear/add-ja-doc
docs: add Japanese README
2026-03-23 11:38:54 +08:00
Ikko Ashimine 1aa29897b2 docs: add Japanese README 2026-03-23 12:33:59 +09:00
Yuxiang LinandGitHub d8e95e1b82 Merge pull request #17 from Lum1104/fix/opencode-plugin-discovery
fix: OpenCode plugin not discovering skills
2026-03-23 08:15:43 +08:00
Lum1104andClaude Opus 4.6 c7f564a60e fix: OpenCode plugin not discovering skills (#16)
OpenCode installs the repo via git and looks at the root for the plugin
entry point. Our skills/agents live inside understand-anything-plugin/,
so OpenCode couldn't find them.

- Add .opencode/plugins/understand-anything.js that uses the config hook
  to inject understand-anything-plugin/skills/ into skills.paths
- Add "main" field to root package.json pointing to the plugin entry
- Update INSTALL.md with version pinning and troubleshooting sections

Closes #16

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-22 23:10:23 +08:00
Lum1104andClaude Opus 4.6 87c07a61d8 docs: add language-agnostic implementation plan
15-task TDD plan covering LanguageConfig types, LanguageRegistry,
12 language configs, GenericTreeSitterPlugin, prompt snippets,
and migration from TS-only TreeSitterPlugin.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-21 23:38:40 +08:00
Lum1104andClaude Opus 4.6 d7d3925463 docs: add language-agnostic support design document
Design for making Understand-Anything language-agnostic instead of
TypeScript-heavy. Covers LanguageConfig registry, GenericTreeSitterPlugin,
language-aware prompts, and support for 12 languages.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-21 23:38:40 +08:00
Lum1104andClaude Opus 4.6 8134bb95ca chore: bump version to 1.1.1
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-21 23:08:56 +08:00
Lum1104andClaude Opus 4.6 7c638603c0 fix: add zoom limits and auto-center for large graphs
- Set minZoom to 0.01 so fit-view works on graphs with hundreds of nodes
- Add TourFitView to pan/zoom to highlighted nodes during guided tours
- Add SelectedNodeFitView to center graph on node selected via search
- Wrap GraphView in ReactFlowProvider to enable useReactFlow() hooks

Thanks to @blackboxaicode for the insight on these improvements.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-21 23:07:58 +08:00
Lum1104andClaude Opus 4.6 b8e605eafb fix: consolidate triple normalization into ordered Phase 4/5 steps
The original commit 9fe003a introduced normalization logic in three
separate places (Phase 4 inline, Phase 5 inline, Phase 5.5), creating
an ordering conflict where "do not use field X" rules appeared before
"convert field X to field Y" rules. An LLM following instructions
sequentially could drop legacy fields before converting them.

- Consolidate all layer normalization into Phase 4 as ordered steps
- Consolidate all tour normalization into Phase 5 as ordered steps
- Remove redundant Phase 5.5 entirely
- Fix misleading "from current prompt" comments about envelope format
- Add defensive handling for nodes-as-objects edge case
- Wrap JSON examples in arrays for visual consistency with prompts

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-21 22:59:36 +08:00
Lum1104andClaude Opus 4.6 de66bb7d76 fix: ensure core is built before launching dashboard in /understand-dashboard
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-21 22:25:21 +08:00
Lum1104andClaude Opus 4.6 922cc32a13 docs: improve CLAUDE.md with prerequisites, lint command, and gotchas
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-21 22:23:48 +08:00
Lum1104 54fc8d44c2 fix: update Antigravity skills install path to ~/.gemini/antigravity/skills/ 2026-03-21 22:15:39 +08:00
Yuxiang LinandGitHub dfac994497 Merge pull request #12 from longvv/main
feat: add Antigravity installation guide and update README with compa…
2026-03-21 20:49:37 +08:00
longvv 18c0fcd9eb feat: add Antigravity installation guide and update README with compatibility information. 2026-03-21 16:33:07 +07:00
Lum1104 9866fccae9 docs: thanks 2026-03-20 19:16:47 +08:00
Yuxiang LinandGitHub 17d796309d Merge pull request #9 from Jamie-HM/docs/add-zh-cn-readme
Add Chinese language support
2026-03-20 12:58:29 +08:00
Jamie-HM 366c0b9403 Add Chinese language support V1.1 2026-03-20 12:49:03 +08:00
Jamie-HM a38843d57e Add Chinese language support 2026-03-20 12:23:51 +08:00
Yuxiang LinandGitHub f0264e6ec2 Merge pull request #6 from Lum1104/feature/multi-platform-simple
feat: add multi-platform support for Understand-Anything
2026-03-20 00:14:51 +08:00
Lum1104 9fe003a977 feat: Align understand skill outputs with dashboard graph schema better 2026-03-20 00:14:23 +08:00
Lum1104 54259f3b86 docs: add star history and bump version to 1.1.0 2026-03-19 23:48:26 +08:00
Lum1104andClaude Opus 4.6 e237eba20c docs: add Windows PowerShell instructions to OpenClaw INSTALL.md
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-19 23:30:43 +08:00
Lum1104andClaude Opus 4.6 fb46373cef docs: update multi-platform URLs after moving configs to root
Update raw GitHub URLs in README to remove understand-anything-plugin/
prefix for Codex and OpenClaw INSTALL.md paths. Replace Cursor section
with auto-discovery via .cursor-plugin/plugin.json.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-19 23:18:42 +08:00
Lum1104andClaude Opus 4.6 8b5499e8db feat: add Cursor and Claude plugin descriptors for auto-discovery
Add .cursor-plugin/plugin.json with skills/agents paths pointing into
understand-anything-plugin/. Add .claude-plugin/plugin.json alongside
existing marketplace.json.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-19 23:16:43 +08:00
Lum1104andClaude Opus 4.6 0f2b710992 refactor: move platform config directories to repo root for discovery
Move .codex/, .opencode/, .openclaw/ from understand-anything-plugin/ to
repo root so each AI coding platform discovers its config at the standard
location. Delete .cursor/ (replaced by .cursor-plugin/plugin.json in next
commit). Plugin source code stays inside understand-anything-plugin/.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-19 23:15:00 +08:00
Lum1104andClaude Opus 4.6 2779408569 docs: revise implementation plan — minimal restructure, move platform configs to root
Replace full flatten approach with minimal restructure: only move platform
config directories (.codex, .opencode, .openclaw) to repo root for discovery.
Add Cursor/Claude plugin descriptors. Remove Gemini extension. Keep all
plugin source code inside understand-anything-plugin/.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-19 23:10:23 +08:00
Lum1104andClaude Opus 4.6 4ea55cd6fc fix: address code review feedback — terminology consistency and URL path
- Replace "agent" with "subagent" in SKILL.md dispatch references (5 locations)
- Add node_modules/.git/dist exclusions to Phase 0 find command
- Fix design doc URL to include understand-anything-plugin/ prefix

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 11:18:39 +08:00
Lum1104andClaude Opus 4.6 aa4df6e987 feat: add per-platform INSTALL.md for AI-driven installation
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 10:51:43 +08:00
Lum1104andClaude Opus 4.6 8e3c0660c9 docs: add multi-platform installation instructions to README
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 10:51:25 +08:00
Lum1104andClaude Opus 4.6 2a01d3cc77 refactor: update SKILL.md to dispatch subagents with context injection
Replace all named agent dispatches (project-scanner, file-analyzer,
architecture-analyzer, tour-builder, graph-reviewer) with subagent
dispatches using prompt template files. Add context injection for each
phase including README content, package manifest, directory tree,
framework-specific guidance, and cross-validation data.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 10:35:38 +08:00
Lum1104andClaude Opus 4.6 84d0462e20 feat: add knowledge-graph-guide agent for graph navigation and querying
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 10:32:03 +08:00
Lum1104andClaude Opus 4.6 5e85a23aa2 refactor: move pipeline agents into skills/understand/ as prompt templates
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 10:31:22 +08:00
Lum1104andClaude Opus 4.6 4ff36e3dae docs: add context injection to implementation plan
Each subagent dispatch now injects relevant context from the main session:
- Scanner: README + package manifest
- File Analyzer: framework info + project description from Phase 1
- Architecture Analyzer: framework layer hints + directory tree
- Tour Builder: README + entry point
- Graph Reviewer: scan inventory for cross-validation + phase warnings

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 22:55:18 +08:00
Lum1104andClaude Opus 4.6 6346972ee5 docs: add simplified multi-platform implementation plan
6 tasks: move agents to prompt templates, update SKILL.md dispatch,
create knowledge-graph-guide agent, add platform INSTALL.md files,
update README, verify.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 22:49:49 +08:00