Commit Graph

7 Commits

  • feat(core): add 12 custom parsers for non-code file types
    Add regex/parser-based analyzers for: Markdown, YAML, JSON, TOML, Env,
    Dockerfile, SQL, GraphQL, Protobuf, Terraform, Makefile, Shell.
    
    Each implements AnalyzerPlugin with analyzeFile() and optional
    extractReferences(). Uses `yaml` npm package for YAML parsing,
    built-in JSON.parse for JSON, regex for all others.
    
    Add registerAllParsers() helper to register all parsers at once.
    Add comprehensive test suite with 35 tests covering all parsers.
    
    Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
  • Expand core tests and add vitest coverage dep
    Add several unit tests to improve robustness and coverage across the core package: plugin-discovery (handle missing/invalid plugins field and add serializePluginConfig tests), plugin-registry (unregister behavior, language detection, and import resolution delegation), persistence (invalid graph validation and option to skip validation), and tree-sitter-plugin (export aliases and arrow functions without params). Also add @vitest/coverage-v8 as a devDependency to enable V8-based coverage reporting.
  • feat: language-agnostic analysis with config-driven registry and framework detection
    Replace the TypeScript/JavaScript-biased analysis pipeline with a truly
    language-agnostic system. The core architecture was already language-neutral
    (graph schema, dashboard, search) — the bias lived in agent prompts,
    tree-sitter plugin, and language-lesson system.
    
    Core changes:
    - LanguageConfig + FrameworkConfig types with Zod validation
    - LanguageRegistry (12 languages) and FrameworkRegistry (10 frameworks)
    - Config-driven TreeSitterPlugin replacing hardcoded TS/JS grammars
    - PluginRegistry now delegates to LanguageRegistry for extension mapping
    - Language-lesson system uses config for display names and concepts
    
    Prompt system:
    - SKILL.md generalized: dynamic injection of language snippets and
      framework addendums instead of hardcoded if/else conditionals
    - 12 language prompt snippets (languages/*.md) with concepts, patterns,
      frameworks per language
    - 10 framework addendums (frameworks/*.md) with canonical file roles,
      edge patterns, architectural layers — Django/FastAPI/Flask preserved
      and split, plus React/Next.js/Express/Vue/Spring/Rails/Gin added
    - Extended entry points, directory patterns, and test patterns across
      all 12 language ecosystems in base prompts
  • feat: redesign dashboard with dark luxury theme, improve agent pipeline
    - Remove ChatPanel and @anthropic-ai/sdk dependency (redundant with /understand-chat)
    - Replace Monaco editor with styled summary code viewer
    - New graph-first layout: 75% graph + 360px right sidebar
    - Dark luxury aesthetic: deep blacks, gold/amber accents, DM Serif Display typography
    - Add ProjectOverview component for sidebar default state
    - Learn persona now shows tour panel directly in sidebar
    - Add schema validation on graph load with error banner
    - Defensive null checks in store for tour methods
    - Agent pipeline: write intermediate results to disk instead of context
    - Agent models: sonnet for simple tasks, opus for complex (no haiku)
    - Prompt-engineer all 5 agent prompts and SKILL.md
    - Auto-trigger /understand-dashboard after /understand completes
    - Add dashboard screenshot to README
    - Bump version to 1.0.1
    
    Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
  • refactor: restructure monorepo into Claude Code plugin layout
    Move packages/{core,dashboard,skill} into understand-anything-plugin/ to
    conform to the Claude Code plugin format. Add .claude-plugin/marketplace.json
    for plugin discovery. Update workspace config and docs accordingly.
    
    Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>