Skip to content

Releases: Mbogdan95/unity-indexer

Release list

v0.0.1

Choose a tag to compare

@github-actions github-actions released this 24 Jun 12:38
73a7455

What's Changed

Features

  • include skills, hooks, and mcp.json in npm package
  • add Cursor plugin manifest and MCP server declaration
  • register SessionStart hook in Claude Code plugin manifest
  • add hook registration files for Claude Code and Cursor
  • add hooks/session-start with harness detection and JSON emission
  • rewrite SKILL.md as comprehensive auto-injected guide
  • add token_hint to handleFindUnused error and success returns
  • add handleFindUnused function and register find_unused MCP tool
  • add unused-analyzer core analysis engine
  • export 4 private helpers from relationship-extractor.ts
  • add marketplace.json for Claude Code plugin distribution (#8)
  • add skills/unity-indexer/SKILL.md workflow guide
  • add CLAUDE.md with unity-indexer tool reference
  • add .claude-plugin/plugin.json manifest
  • add .mcp.json for Claude Code plugin auto-registration
  • add batch_get_script_detail MCP tool
  • add include_bodies option to get_script_detail
  • add start_line/end_line to script_members and root_path to project_summary
  • add file_path to script nodes in graph traversal results
  • get_script_detail accepts script:N node ID format
  • enrich get_script_detail with file_path, resolved labels, and used_by
  • add find_implementors MCP tool for interface implementor traversal
  • add resolveNodeLabel to graph tools, enrich node arrays with label field
  • index USES edges from field/param/local type declarations
  • add USES edge type and extractTypeReferences() for high-recall dependency graph
  • add ASSEMBLY_DEPENDS, BELONGS_TO, and VARIANT_OF graph edges
  • enhance get_script_detail with graph relationships
  • add depth parameter to find_references and find_dependencies
  • add 6 new graph-powered MCP tools
  • emit graph edges during indexing and hydrate Graphology on startup
  • extract CALLS and SUBSCRIBES_TO relationships from C# AST
  • add GraphManager with traversal, pathfinding, and cycle detection
  • add graph_edges table and Store CRUD methods
  • add graphology deps and graph edge types
  • wire CLI dispatch into entry point
  • add CLI argument parser with install/uninstall/help/version
  • add uninstallServer for Claude Code settings
  • add installServer for Claude Code settings
  • add settings scope resolution for Claude Code config
  • add per-phase timing to indexer benchmark
  • add synthetic Unity fixture generator for benchmarking
  • add benchmark harness and runner
  • resolve prefab variant GameObjects from base prefab
  • CLI uses discovery, no longer requires exact project path
  • multi-project server with per-project resources and discovery
  • add StoreResolver pattern and project param to all MCP tools
  • add ensureDbDir for .unity-indexer/ directory setup
  • add Unity project discovery module
  • batch indexing with progress logging for large projects
  • add stderr logging for startup progress
  • integration test — full pipeline verification
  • CLI entry point
  • all MCP tool handlers
  • MCP server setup with resources
  • file watcher with debounce and bulk detection
  • indexer orchestration wiring parsers to SQLite database
  • summary generation and importance scoring functions
  • SQLite schema and Store class with full CRUD and cascade delete
  • prefab parser and asset parser
  • scene parser with hierarchy, components, and reference extraction
  • C# script parser with tree-sitter
  • component defaults table for noise stripping
  • meta parser and asmdef parser
  • implement Unity YAML parser with TDD
  • add Unity test fixtures
  • project scaffolding and shared types

Bug Fixes

  • expand Unity class IDs and fix component summary resolution
  • remove explicit hooks declaration from claude-plugin manifest
  • update esbuild and hono to resolve npm audit vulns
  • improve unused-analyzer robustness
  • apply four code-review fixes
  • ship compiled dist/ and use CLAUDE_PLUGIN_ROOT in .mcp.json (#9)
  • downgrade lint-staged to v16 for Node 20 compatibility (#6)
  • absolute paths + accurate find_references total
  • capture singleton CALLS/SUBSCRIBES_TO and multi-term search
  • prefix all returned paths with project subfolder name
  • namespace prefix filter and find_references code callers
  • make indexEssential async with event-loop yields to prevent MCP timeout
  • connect MCP transport before indexing to avoid 30s startup timeout
  • add start_line/end_line to store test member fixtures
  • add summary field to handleFindImplementors response
  • make findPath happy-path test unconditional
  • add getAssemblyById, fix resolveNodeLabel assembly scan, add findPath test
  • remove redundant first-pass edge blocks from indexScript, wire indexScriptCrossEdges into indexFile
  • add ulong to CS_PRIMITIVE_KEYWORDS
  • remove impossible type check flagged by tsc in resolveIdentifier
  • catch parseArgs errors for clean CLI error output
  • correct Statement type in prepared cache and fix missed prepare call
  • place .unity-indexer/ in input root dir, not inside each project
  • use directory check in isUnityProject, add StoreResolver tests
  • add ESLint strict type-checked config and resolve all violations
  • find_components resolves script class names to MonoBehaviour GUIDs
  • use polling mode for file watcher to avoid EMFILE on large projects
  • handle stale DB locks and all exit signals
  • resolve GUID to asset path, fix cross-scene component lookup, populate project summary

Performance

  • incremental graph patch + batch flush on file watch events
  • progressive indexing, mtime pre-check, SQLite write pragmas
  • remove JSON pretty-printing from MCP responses
  • cache parsed JSON to avoid redundant parse calls
  • dynamic token hints based on actual response size
  • omit default values from MCP responses to reduce tokens
  • single-pass hierarchy computation replaces dual tree walks
  • pass content hash to sub-indexers instead of recomputing
  • remove unused goToTransform map from scene parser
  • replace N+1 buildGuidToClassMap with single JOIN query
  • fix missed this.db.prepare in listFiles
  • add prepared statement cache to Store
  • add missing indexes on scripts.file_id and guids.file_id
  • cache guidToClassMap — eliminates ~120M queries on large projects

Documentation

  • remove Cursor quick start for now
  • fix Cursor install command in quick start
  • add Cursor quick start to README
  • remove npm distribution from README
  • add remove-npm-distribution implementation plan
  • add remove-npm-distribution spec
  • add installation redesign implementation plan
  • add installation redesign spec
  • tighten README prose (#11)
  • fix Claude Code plugin install commands in README (#10)
  • center architecture diagram
  • improve architecture ASCII diagram
  • expand How it works section with pipeline, graph, schema detail
  • improve README with richer visuals and structure
  • add README
  • add README design spec
  • add MCP usability fixes implementation plan
  • add implementation plan for unity indexer graph improvements
  • fix find_implementors spec — scripts table has no kind column, drop kind check
  • add design spec for graph improvements (USES edges, find_implementors, node label resolution)
  • add CI/CD publish workflow implementation plan
  • add CI/CD publish workflow design spec
  • add graph layer implementation plan
  • add graph layer design spec
  • add CLI install/uninstall implementation plan
  • add CLI install/uninstall command design spec
  • add performance optimization implementation plan
  • add performance optimization design spec
  • add auto-discovery implementation plan
  • add auto-discovery and DB relocation design spec
  • add project tooling implementation plan
  • add project tooling and code quality design spec

Maintenance

  • remove npm publish steps, compute version from git tags
  • remove duplicate Installation section from README
  • remove stale npm distribution artifacts
  • ignore and untrack docs/ directory
  • remove prepublishOnly script
  • remove npm publish from release workflow
  • add CODEOWNERS requiring owner review on all PRs
  • bump prettier, vitest, and @vitest/coverage-v8
  • bump actions/checkout from 6 to 7 (#1)
  • bump @types/node from 25.9.1 to 26.0.0
  • bump better-sqlite3 from 12.10.0 to 12.11.1
  • bump eslint from 10.4.1 to 10.5.0
  • bump typescript-eslint from 8.60.1 to 8.62.0
  • bump lint-staged from 16.4.0 to 17.0.8
  • tighten .gitignore before making repo public
  • fix fixture and expand unused-analyzer test coverage
  • add Vitest tests for unused-analyzer module
  • create UnusedSymbols.cs fixture for find_unused tool testing
  • add SECURITY.md and harden repo settings (#7)
  • remove superpowers plans and specs docs (#5)
  • bump github/codeql-action from 3 to 4 (#3)
  • bump actions/checkout from 4 to 6 (#2)
  • bump actions/setup-node from 4 to 6 (#1)
  • upgrade npm to v11 and fix native build deps (#4)
  • upgrade npm to v11 and add native build deps
  • add MIT license
  • remove include_bodies from script detail tools, add line numbers to member output
  • add publish workflow with auto version bump and changelog
  • add discovery integration tests
  • add discovery module tests and ProjectSettings fixture
  • add security scanning (npm audit, CodeQL) and Dependabot config
  • add GitHub Actions CI workflow with Node 18/20/22 matrix
  • configure Husky pre-commit (lint-staged) and pre-push (typecheck) hooks
  • add typecheck, coverage, ci, and prepublishOnly scripts
  • configure npm package fields, .gitignore, and .npmignore
  • format codebase with Prettier
  • install linting, formatting, hooks, and coverage dev dependencies
  • add Claude settings and project design docs