Releases: Mbogdan95/unity-indexer
Releases · Mbogdan95/unity-indexer
Release list
v0.0.1
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