- 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.
instead of creating new low-level data structures.
This enables uniform handling of required conversions in our
higher-level Serena data structures
Fixes#432