11 Commits
Author SHA1 Message Date
Dominik Jain d645bbb0e1 Update AGENTS.md and CLAUDE.md
Add instructions that allow agents not using Serena to get at
least the most essential information
2026-09-08 11:32:56 +02:00
Michael Panchenko fe2e2ce0cc Stripped CLAUDE.md of details 2026-04-08 13:17:09 +02:00
Michael Panchenko 45cd8ca12e Pinned all dependencies, removed black, addressed dependabot warnings 2026-03-23 21:10:41 +01:00
Michael Leone 032493972c Add PowerShell language support
Implement PowerShell language server integration using PowerShell Editor
Services (PSES). The implementation includes:

- PowerShellLanguageServer class with automatic PSES download and setup
- Support for PowerShell file extensions: .ps1, .psm1, .psd1
- Symbol detection using PSES format: "function FuncName ()"
- 7 basic tests + 2 integration tests covering:
  - Document symbols and function detection
  - Within-file references
  - Cross-file go-to-definition
  - SerenaAgent find_symbol and find_references

Requires: pwsh (PowerShell 7+) in PATH. PSES auto-downloads on first use.
2025-12-10 16:11:27 +00:00
9f5b8e792e Add Vue Language Support (#784)
* Adds full Vue.js language support to Serena using the official @vue/language-server.
    * Integrates @vue/language-server for Vue SFC (.vue) file support
    * Manages a companion TypeScript server for cross-file references between Vue components and TypeScript modules

* Implemenet logic for tie-breaks when languages match the same number of files
(adding priority to the Language enum, deprioritising languages that are supersets of others)

---------

Co-authored-by: Michael Panchenko <michael.panchenko@oraios-ai.de>
Co-authored-by: Dominik Jain <dominik.jain@oraios-ai.de>
2025-12-09 19:03:06 +01:00
Ryuhei Nakano 9b622bcfd5 added support for Perl via Perl::LanguageServer (#656) 2025-10-12 16:07:34 +02:00
Akira TSURUDAandClaude fd4c3e3ac4 Add Ruby dual language server support with ruby-lsp as primary and Solargraph as experimental (#540)
* Implement Ruby dual language server support with ruby-lsp and Solargraph

- Add ruby-lsp as primary Ruby language server with modern LSP features
- Mark Solargraph as experimental legacy option (ruby_solargraph enum)
- Implement Bundler-first installation strategy for ruby-lsp
- Add Rails project detection and performance optimizations
- Fix LSP protocol compliance for Solargraph (languageId: "ruby")
- Support both .rb and .erb files for ruby-lsp, .rb only for Solargraph
- Address reviewer feedback on dependency management and error handling
- Update test compatibility for dual language server behavior

Co-authored-by: Claude <noreply@anthropic.com>
2025-08-26 12:22:17 +02:00
Vladimir 807ff1f56e refactor: use rustup-managed rust-analyzer instead of bundling (#495)
rust-analyzer now requires rustup to be installed

## Motivation

The previous implementation bundled rust-analyzer binaries that quickly
became outdated and required manual updates to Serena's codebase. This
caused version mismatches between the bundled rust-analyzer and users'
actual Rust toolchain versions.

## Changes

- Remove RuntimeDependency-based binary bundling for rust-analyzer
- Use rustup-managed rust-analyzer from the user's toolchain
- Add automatic installation of rust-analyzer component if missing
- Install rustup with minimal profile in Docker images

## Rationale

Rust development universally relies on rustup for toolchain management.
Unlike some other languages where system packages or bundled binaries
make sense, Rust developers already have rustup installed and expect
tools to use their toolchain's versions.

This approach ensures:
- rust-analyzer always matches the user's Rust version
- No outdated binaries shipped with Serena
- Automatic updates via `rustup update`
- Consistency with Rust ecosystem expectations

The LSP API of rust-analyzer is stable enough that version differences
are not a concern. If users don't have rustup, they'll get a clear error
message - this is acceptable since you cannot meaningfully develop Rust
without rustup.

## Docker Support

Added rustup installation to Docker images to ensure Rust support works
in containerized environments. Uses minimal profile to reduce image size
while still providing full rust-analyzer functionality.
2025-08-20 17:03:16 +02:00
Michael Panchenko 7be56f0c82 Added claude.md [ci skip] 2025-07-19 18:18:30 +02:00
Michael Panchenko dd101ada6d New memories, with claude code and serena
Tokens (ccusage 15.5.0): 1,676,097
Claude version: 1.0.56
Prompt (after reading instructions):
Explore the repository and write memories explaining the structure and the core concepts. Also write a memory specifically with instructions on how to add support for a new programming language - including how to    │
│   test it. Have a look at how existing languages are tested, e.g. csharp, to understand how this can be done.
2025-07-19 17:37:25 +02:00
Michael Panchenko bdaedfd3e5 Added Claude.md 2025-06-12 15:09:38 +02:00