- Check if directory exists before calling validate_relative_path
- Return structured JSON error with project_root context when directory not found
- Helps LLMs understand the current working directory context in MCP
Similar to fix in commit 8464f25 for CreateTextFileTool
Previously, when a subdirectory .gitignore file contained patterns starting
with "**/", these patterns were incorrectly applied globally instead of being
scoped to that subdirectory's tree.
For example, if foo/.gitignore contained "**/test.txt", it would incorrectly
ignore test.txt files everywhere in the repository, including at the root
level and in other subdirectories like bar/test.txt.
The bug was in _parse_gitignore_content() where patterns starting with "**/"
were left unchanged (line 228: adjusted_pattern = line), making them global
instead of scoped.
Fixed by ensuring that even "**/pattern" gets the subdirectory prefix:
- Before: "**/test.txt" → "**/test.txt" (global)
- After: "**/test.txt" → "foo/**/test.txt" (scoped to foo/ subtree)
Added comprehensive test cases covering all gitignore pattern scenarios:
- Non-anchored patterns (foo.txt) - already worked correctly
- Anchored patterns (/foo.txt) - already worked correctly
- Double-star patterns (**/foo.txt) - was broken, now fixed
- Anchored double-star (/**/foo.txt) - already worked correctly
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* Add optional Intelephense license key support via INTELEPHENSE_LICENSE_KEY environment variable
- Add initializationOptions support to Intelephense LSP server
- Pass license key via licenceKey property when environment variable is set
- Update README.md and DOCKER.md documentation with new environment variable
- Fix docstring comment in _get_initialize_params method
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* Fix formatting
---------
Co-authored-by: Claude <noreply@anthropic.com>
Codex can't deal with them, I suspect ChatGPT will also have problems.
This leads to slightly less expressive python code, but it isn't a large problem and is worth
the extension in usability for serena.
* Fix an error that occurred when trying to scan an inaccessible directory
for example, when the directory permissions were set to 700.
* Fix redundant error handling
* Fix format
---------
Co-authored-by: tsukumi <tsukumijima@users.noreply.github.com>
I noticed that models often use `get_symbols_overview` on a directory only to get an error because the tool does not support directories. The issue was that the description and usage instructions for the tool incorrectly mentioned support for directories.