Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/lsp-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@
- name: Setup PHP for phpactor
uses: shivammathur/setup-php@v2
with:
php-version: '8.1'
php-version: '8.2'

Check notice on line 69 in .github/workflows/lsp-tests.yml

View check run for this annotation

probelabs / Visor: security

security Issue

PHP version updated from 8.1 to 8.2 without security justification. While PHP 8.2 is more recent, the change should be documented with security rationale, especially if this is a test environment dependency.
Raw output
Document the security reasoning for PHP version updates in commit messages or PR description. Ensure compatibility with existing PHP test fixtures.
tools: composer

- name: Install phpactor (PHP language server)
Expand Down
1 change: 1 addition & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@
tree-sitter-md = "0.3.2"
tree-sitter-yaml = "0.6.1"
tree-sitter-solidity = "=1.2.10"
tree-sitter-crystal = { git = "https://github.com/crystal-lang-tools/tree-sitter-crystal", rev = "f71f4ca62ac0" }

Check warning on line 47 in Cargo.toml

View check run for this annotation

probelabs / Visor: security

security Issue

Git dependency uses commit hash pinning without integrity verification. The tree-sitter-crystal dependency is pinned to commit f71f4ca62ac0 but lacks checksum verification or provenance attestation, making the supply chain vulnerable to commit replacement attacks.
Raw output
Add cargo-lock integrity verification or consider publishing to crates.io with signed releases. Document the security audit process for the pinned commit.

Check warning on line 47 in Cargo.toml

View check run for this annotation

probelabs / Visor: quality

documentation Issue

The tree-sitter-crystal dependency uses a pinned git commit (f71f4ca62ac0) without a comment explaining why this specific commit was chosen. The plan document mentions ABI compatibility issues, but this isn't documented in Cargo.toml.
Raw output
Add a comment above the dependency explaining the pinning reason: '# Pinned to commit f71f4ca62ac0 for ABI 14 compatibility with tree-sitter 0.24.5. Newer commits use ABI 15 and fail at runtime.'
ast-grep-core = "0.36.1"
ast-grep-language = "0.36.1"
clap = { version = "4.3", features = ["derive"] }
Expand Down
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,7 @@ npx -y @probelabs/probe@latest agent "Refactor the login function" --allow-edit
- **Smart Ranking**: BM25, TF-IDF, and hybrid algorithms with optional BERT reranking
- **Token-Aware**: `--max-tokens` budget, session-based dedup to avoid repeating context
- **Built-in Agent**: Multi-provider (Anthropic, OpenAI, Google, Bedrock) with retry, fallback, and context compaction
- **Multi-Language**: Rust, Python, JavaScript, TypeScript, Go, C/C++, Java, Ruby, PHP, Swift, Solidity, C#, and more
- **Multi-Language**: Rust, Python, JavaScript, TypeScript, Go, C/C++, Java, Ruby, PHP, Swift, Solidity, Crystal, C#, and more

---

Expand Down Expand Up @@ -469,6 +469,7 @@ cargo install --path .
| PHP | `.php` |
| Swift | `.swift` |
| Solidity | `.sol` |
| Crystal | `.cr` |
| C# | `.cs` |
| Markdown | `.md` |

Expand Down
7 changes: 5 additions & 2 deletions docs/reference/adding-languages.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,13 @@
# Adding Support for New Languages

This guide lists the exact files you must modify to add a new language to Probe.
This guide lists the main files you must audit to add a new language to Probe.

## Required File Modifications

Adding a new language requires modifying exactly **11 files**. Missing any of these will result in incomplete language support.
Adding a new language requires auditing every language map that affects parsing,
search, extraction, query, CLI validation, docs, and LSP/indexing behavior.
The list below covers the core Probe CLI path; LSP daemon support adds
additional maps under `lsp-daemon/src`.

### Step 1: Core Language Implementation (4 files)
### Step 2: Search & Extract Integration (4 files)
Expand Down
Loading
Loading