# Implementation Plan: Tree-Sitter Lua MCP Tools

## Phase 1: Grammar Integration & Base Parser
- [ ] Task: Update project dependencies (e.g., `requirements.txt` or `pyproject.toml`) to include `tree-sitter-lua` or equivalent.
- [ ] Task: Write Tests: Verify the tree-sitter parser can successfully initialize the Lua language and parse a simple `local function test() end` string.
- [ ] Task: Implement: Create `src/lua_parser.py` (or extend existing AST parsers) to handle the base Lua tree-sitter initialization and generic node walking.
- [ ] Task: Conductor - User Manual Verification 'Phase 1: Grammar Integration & Base Parser' (Protocol in workflow.md)

## Phase 2: Structural & Context Tools
- [ ] Task: Write Tests: Verify `lua_get_skeleton` and `lua_get_code_outline` against a complex Lua file containing nested functions, tables, and block comments.
- [ ] Task: Implement: Add `lua_get_skeleton` logic to extract signatures, table assignments (e.g., `Module.func = function()`), and replace bodies with `...`.
- [ ] Task: Implement: Add `lua_get_code_outline` and `lua_get_docstring` logic to traverse the AST and map line numbers and comments.
- [ ] Task: Conductor - User Manual Verification 'Phase 2: Structural & Context Tools' (Protocol in workflow.md)

## Phase 3: Surgical Editing Tools
- [ ] Task: Write Tests: Verify `lua_get_definition` returns the exact source text of a targeted function, and `lua_update_definition` replaces it accurately within a larger file.
- [ ] Task: Implement: Add `lua_get_definition` logic using AST line/byte ranges.
- [ ] Task: Implement: Add `lua_update_definition` and `lua_set_signature` logic to perform string replacement based on strict AST node boundaries.
- [ ] Task: Conductor - User Manual Verification 'Phase 3: Surgical Editing Tools' (Protocol in workflow.md)

## Phase 4: MCP Client Integration & Polish
- [ ] Task: Write Tests: Verify the new tools are successfully registered and invokable via the `mcp_client.py` unified interface.
- [ ] Task: Implement: Register the new `lua_*` functions as official tools in `src/mcp_client.py`.
- [ ] Task: Implement: Ensure the caching layer (mtime invalidation) is correctly applied to the new Lua parsing operations.
- [ ] Task: Conductor - User Manual Verification 'Phase 4: MCP Client Integration & Polish' (Protocol in workflow.md)
