From 657a531f402d539bcbfdaed33c269c2743f6f423 Mon Sep 17 00:00:00 2001 From: Dominik Jain Date: Sat, 13 Dec 2025 17:11:51 +0100 Subject: [PATCH 01/15] Enable banners --- src/serena/resources/dashboard/dashboard.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/serena/resources/dashboard/dashboard.js b/src/serena/resources/dashboard/dashboard.js index ef8168fa..7a3da322 100644 --- a/src/serena/resources/dashboard/dashboard.js +++ b/src/serena/resources/dashboard/dashboard.js @@ -361,7 +361,7 @@ class Dashboard { this.initializeTheme(); // Initialize sponsor rotation - //this.sponsorRotation = new SponsorRotation(); + this.sponsorRotation = new SponsorRotation(); // Add ESC key handler for closing modals $(document).keydown(function (e) { From 77003b54d15524ba1a6d1ed71778cffb8e2fe45c Mon Sep 17 00:00:00 2001 From: Dominik Jain Date: Sat, 13 Dec 2025 17:12:07 +0100 Subject: [PATCH 02/15] Reduce Serena logo size --- src/serena/resources/dashboard/dashboard.css | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/serena/resources/dashboard/dashboard.css b/src/serena/resources/dashboard/dashboard.css index 8795b895..75196dd3 100644 --- a/src/serena/resources/dashboard/dashboard.css +++ b/src/serena/resources/dashboard/dashboard.css @@ -97,10 +97,17 @@ body { } .logo-container { + height: var(--header-height); order: 1; flex-shrink: 0; } +.logo-container img { + height: calc(var(--header-height) - 20px); + margin-top: 10px; + display: block; +} + .header-sponsor { position: relative; top: 0; @@ -109,11 +116,6 @@ body { max-height: var(--header-height); } -.logo-container img { - height: var(--header-height); - display: block; -} - .header-nav { position: relative; display: flex; From 8ffa94abfb3a6ceda18fae8c5486b559a5afe2bb Mon Sep 17 00:00:00 2001 From: Dominik Jain Date: Sat, 13 Dec 2025 17:38:22 +0100 Subject: [PATCH 03/15] Increase banner rotation to 15s and change class name --- src/serena/resources/dashboard/dashboard.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/serena/resources/dashboard/dashboard.js b/src/serena/resources/dashboard/dashboard.js index 7a3da322..ccf8c80c 100644 --- a/src/serena/resources/dashboard/dashboard.js +++ b/src/serena/resources/dashboard/dashboard.js @@ -40,14 +40,14 @@ class LogMessage { }; } -class SponsorRotation { +class BannerRotation { constructor() { this.platinumIndex = 0; this.goldIndex = 0; this.platinumTimer = null; this.goldTimer = null; - this.platinumInterval = 5000; - this.goldInterval = 5000; + this.platinumInterval = 15000; + this.goldInterval = 15000; this.init(); } @@ -361,7 +361,7 @@ class Dashboard { this.initializeTheme(); // Initialize sponsor rotation - this.sponsorRotation = new SponsorRotation(); + this.sponsorRotation = new BannerRotation(); // Add ESC key handler for closing modals $(document).keydown(function (e) { From 7d1cdaff480c70eb9b4ced80908512a53cca67f4 Mon Sep 17 00:00:00 2001 From: Dominik Jain Date: Sat, 13 Dec 2025 17:57:39 +0100 Subject: [PATCH 04/15] Fix click issue in 'gold' banners --- src/serena/resources/dashboard/dashboard.css | 1 + 1 file changed, 1 insertion(+) diff --git a/src/serena/resources/dashboard/dashboard.css b/src/serena/resources/dashboard/dashboard.css index 75196dd3..fae3ef19 100644 --- a/src/serena/resources/dashboard/dashboard.css +++ b/src/serena/resources/dashboard/dashboard.css @@ -227,6 +227,7 @@ body { .gold-sponsor-slide { position: absolute; + pointer-events: none; opacity: 0; transition: opacity 0.5s ease-in-out; } From d81ecfbc73cd039b0e083514938733571cbea25c Mon Sep 17 00:00:00 2001 From: Dominik Jain Date: Sat, 13 Dec 2025 21:33:33 +0100 Subject: [PATCH 05/15] Introduce theme-aware img tags and support dark mode variants of banner images --- src/serena/resources/dashboard/dashboard.js | 39 ++++++++++++++------- src/serena/resources/dashboard/index.html | 2 +- 2 files changed, 27 insertions(+), 14 deletions(-) diff --git a/src/serena/resources/dashboard/dashboard.js b/src/serena/resources/dashboard/dashboard.js index ccf8c80c..689fda4c 100644 --- a/src/serena/resources/dashboard/dashboard.js +++ b/src/serena/resources/dashboard/dashboard.js @@ -40,6 +40,18 @@ class LogMessage { }; } +function updateThemeAwareImage($img, theme=null) { + if (!theme) { + const isDarkMode = $('html').data("theme") == 'dark'; + theme = isDarkMode ? 'dark' : 'light'; + } + console.log("updating theme-aware image to theme:", theme); + const newSrc = $img.data('src-' + theme); + if (newSrc) { + $img.attr('src', newSrc); + } +} + class BannerRotation { constructor() { this.platinumIndex = 0; @@ -70,6 +82,12 @@ class BannerRotation { function fillSponsors($container, sponsors, className) { $.each(sponsors, function (index, sponsor) { let $img = $(''); + if (sponsor.image_dark) { + $img.addClass('theme-aware-img'); + $img.attr('data-src-dark', sponsor.image_dark); + $img.attr('data-src-light', sponsor.image); + updateThemeAwareImage($img); + } let $anchor = $(''); $anchor.append($img); let $sponsor = $('
'); @@ -1463,6 +1481,9 @@ class Dashboard { this.setTheme(newTheme); } + /** + * @param theme {'light' | 'dark'} + */ setTheme(theme) { // Set the theme on the document element document.documentElement.setAttribute('data-theme', theme); @@ -1476,8 +1497,11 @@ class Dashboard { this.$themeText.text('Dark'); } - // Update the logo based on theme - this.updateLogo(theme); + // Update theme-aware images + $(".theme-aware-img").each(function() { + const $img = $(this); + updateThemeAwareImage($img, theme); + }); // Save to localStorage localStorage.setItem('serena-theme', theme); @@ -1486,17 +1510,6 @@ class Dashboard { this.updateChartsTheme(); } - updateLogo(theme) { - const logoElement = document.getElementById('serena-logo'); - if (logoElement) { - if (theme === 'dark') { - logoElement.src = 'serena-logo-dark-mode.svg'; - } else { - logoElement.src = 'serena-logo.svg'; - } - } - } - updateChartsTheme() { const isDark = document.documentElement.getAttribute('data-theme') === 'dark'; const textColor = isDark ? '#ffffff' : '#000000'; diff --git a/src/serena/resources/dashboard/index.html b/src/serena/resources/dashboard/index.html index 8937051e..009263d8 100644 --- a/src/serena/resources/dashboard/index.html +++ b/src/serena/resources/dashboard/index.html @@ -21,7 +21,7 @@
- +
From e4d80a330f2ab36d1852267436f24a8d5739377e Mon Sep 17 00:00:00 2001 From: Michael Panchenko Date: Tue, 16 Dec 2025 22:45:35 +0700 Subject: [PATCH 06/15] Documentation on the jetbrains plugin --- README.md | 2 ++ docs/02-usage/020_running.md | 7 ++++ docs/02-usage/025_jetbrains_plugin.md | 32 +++++++++++++++++++ .../resources/serena_config.template.yml | 4 +-- 4 files changed, 43 insertions(+), 2 deletions(-) create mode 100644 docs/02-usage/025_jetbrains_plugin.md diff --git a/README.md b/README.md index 49c715be..028be352 100644 --- a/README.md +++ b/README.md @@ -22,6 +22,8 @@ Instead, it can use code-centric tools like `find_symbol`, `find_referencing_sym Lessons Learned

+> NEWS: Serena 1.0.0 and Serena JetBrains plugin have been released! Check out [the documentation](https://oraios.github.io/serena/02-usage/025_jetbrains_plugin.html). + ## LLM Integration Serena provides the necessary [tools](https://oraios.github.io/serena/01-about/035_tools.html) for coding workflows, but an LLM is required to do the actual work, diff --git a/docs/02-usage/020_running.md b/docs/02-usage/020_running.md index 231dd70c..e6126b32 100644 --- a/docs/02-usage/020_running.md +++ b/docs/02-usage/020_running.md @@ -11,6 +11,13 @@ This section describes In the following, we will refer to the command used to run Serena as ``, which you should replace with the appropriate command based on your chosen method. +:::{note} +By default, Serena will use language servers for code understanding and analysis. +We provide a powerful alternative to that through the [Serena JetBrains Plugin](025_jetbrains_plugin), +which has several advantages over the language server approach. +Note that you don't have to use a JetBrains IDE as your editor to take advantage of this solution. +::: + ### Using uvx `uvx` is part of `uv`. It can be used to run the latest version of Serena directly from the repository, without an explicit local installation. diff --git a/docs/02-usage/025_jetbrains_plugin.md b/docs/02-usage/025_jetbrains_plugin.md new file mode 100644 index 00000000..05a1693f --- /dev/null +++ b/docs/02-usage/025_jetbrains_plugin.md @@ -0,0 +1,32 @@ +# The Serena JetBrains Plugin + +The [JetBrains Plugin](https://plugins.jetbrains.com/plugin/28946-serena/) allows Serena to +leverage the powerful code analysis capabilities of JetBrains IDEs, +which offers several advantages over the default language server approach. + +The proceeds from the plugin also allow us to dedicate more resources to further developing and improving Serena. +We recommend the JetBrains plugin as the preferred way of using Serena, regardless of your choice of code editor. + +After purchasing and installing the plugin, you need to configure `jetbrains: True` in your `serena_config.yml`. +Then Serena will automatically connect to an open JetBrains IDE instance. + +## Advantages of the JetBrains Plugin + +There are multiple features that are only available when using the JetBrains plugin: + +- External libraries are indexed and can be referenced by Serena. +- No additional runtime resources or downloads are needed for language servers. +- Faster performance of tools. +- First-class support for multiple languages and frameworks in a single project. + +We are also working on additional features like a `move_symbol` tool and debugging related capabilities that +will be available exclusively through the JetBrains plugin at first. + + +## Usage with Other Editors + +We realize that not everyone uses a JetBrains IDE as their main code editor. +You can still take advantage of the JetBrains plugin by running a JetBrains IDE instance alongside your +preferred editor. Most JetBrains IDEs have a free community edition that you can use for this purpose. +You just need to make sure that the project you are working on is open and indexed in the JetBrains IDE, +so that Serena can connect to it. diff --git a/src/serena/resources/serena_config.template.yml b/src/serena/resources/serena_config.template.yml index 974fe7e5..5a5d587e 100644 --- a/src/serena/resources/serena_config.template.yml +++ b/src/serena/resources/serena_config.template.yml @@ -55,8 +55,8 @@ included_optional_tools: [] jetbrains: False # whether to enable JetBrains mode and use tools based on the Serena JetBrains IDE plugin -# instead of language server-based tools -# NOTE: The plugin is yet unreleased. This is for Serena developers only. +# instead of language-server-based tools. Requires the Serena JetBrains plugin to be installed and +# a JetBrains IDE instance to be running with an open project. default_max_tool_answer_chars: 150000 From 4674a8cec8d34822c97e52a4e6b8d929cd67a2f1 Mon Sep 17 00:00:00 2001 From: Dominik Jain Date: Wed, 17 Dec 2025 15:56:43 +0100 Subject: [PATCH 07/15] Adapt section on "Language Support" to include the JetBrains backend --- docs/01-about/020_programming-languages.md | 61 +++++++++++++++++++--- 1 file changed, 54 insertions(+), 7 deletions(-) diff --git a/docs/01-about/020_programming-languages.md b/docs/01-about/020_programming-languages.md index c456e724..de1ef5df 100644 --- a/docs/01-about/020_programming-languages.md +++ b/docs/01-about/020_programming-languages.md @@ -1,16 +1,30 @@ # Language Support -Serena's semantic code analysis capabilities build on **language servers** using the widely implemented -language server protocol (LSP). The LSP provides a set of versatile code querying -and editing functionalities based on symbolic understanding of the code. +Serena's semantic code analysis and editing capabilities are powered by two +main technologies: + +* **Language servers** implementing the language server Protocol (LSP). +* **The Serena JetBrains Plugin**, which leverages the powerful code analysis and editing + capabilities of your JetBrains IDE. + +Both backends provide a set of versatile code querying and editing functionalities +based on symbolic understanding of the code. Equipped with these capabilities, Serena discovers and edits code just like a seasoned developer making use of an IDE's capabilities would. Serena can efficiently find the right context and do the right thing even in very large and -complex projects! So not only is it free and open-source, it frequently achieves better results -than existing solutions that charge a premium. +complex projects! -Language servers provide support for a wide range of programming languages. -With Serena, we provide direct, out-of-the-box support for: +## Language Servers + +Serena incorporates a powerful abstraction layer for the integration of language servers +that implement the language server protocol (LSP). +It even supports multiple language servers in parallel to support polyglot projects. + +The language servers themselves are typically open-source projects (like Serena) +or at least freely available for use. + +We currently provide direct, out-of-the-box support for the programming languages listed below. +Some languages require additional installations or setup steps, as noted. * **AL** * **Bash** @@ -68,3 +82,36 @@ With Serena, we provide direct, out-of-the-box support for: Support for further languages can easily be added by providing a shallow adapter for a new language server implementation, see Serena's [memory on that](https://github.com/oraios/serena/blob/main/.serena/memories/adding_new_language_support_guide.md). + +## The Serena JetBrains Plugin + +As an alternative to language servers, the [Serena JetBrains Plugin](https://plugins.jetbrains.com/plugin/28946-serena/) +leverages the powerful code analysis capabilities of JetBrains IDEs. +The plugin naturally supports all programming languages and frameworks that are supported by JetBrains IDEs, +including IntelliJ IDEA, PyCharm, Android Studio, AppCode, WebStorm, PhpStorm, RubyMine, GoLand, AppCode, CLion, Rider, and others. + +When using the plugin, Serena connects to an instance of your JetBrains IDE via the plugin. For users who already +work in a JetBrains IDE, this means Serena seamlessly integrates with the IDE instance you typically have open anyway, +requiring no additional setup or configuration beyond the plugin itself. This approach offers several key advantages: + +* **External library indexing**: Dependencies and libraries are fully indexed and accessible to Serena +* **No additional setup**: No need to download or configure separate language servers +* **Enhanced performance**: Faster tool execution thanks to optimized IDE integration +* **Multi-language excellence**: First-class support for polyglot projects with multiple languages and frameworks + +Even if you prefer to work in a different code editor, you can still benefit from the JetBrains plugin by running +a JetBrains IDE instance (most have free community editions) alongside your preferred editor with your project +opened and indexed. Serena will connect to the IDE for code analysis while you continue working in your editor +of choice. + +```{raw} html +

+

- -
+ +
From f8da77bbd8d6140c856409828bb75a0fb237adcf Mon Sep 17 00:00:00 2001 From: Dominik Jain Date: Thu, 18 Dec 2025 16:00:42 +0100 Subject: [PATCH 10/15] Updated README to reflect the release of the JetBrains plugin, including enhancements to the programming language support section. --- README.md | 35 +++++++++++++++++++++++++++-------- 1 file changed, 27 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 028be352..6a2590fa 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,8 @@ Instead, it can use code-centric tools like `find_symbol`, `find_referencing_sym Lessons Learned

-> NEWS: Serena 1.0.0 and Serena JetBrains plugin have been released! Check out [the documentation](https://oraios.github.io/serena/02-usage/025_jetbrains_plugin.html). +> [!TIP] +> The [**Serena JetBrains plugin**](#the-serena-jetbrains-plugin) has been released! ## LLM Integration @@ -57,23 +58,41 @@ Note how Serena's tools enable Claude to find and edit the right symbols. https://github.com/user-attachments/assets/6eaa9aa1-610d-4723-a2d6-bf1e487ba753 -### Programming Language Support & Semantic Analysis Capabilities +## Programming Language Support & Semantic Analysis Capabilities -Serena's semantic code analysis capabilities build on **language servers** using the widely implemented -language server protocol (LSP). The LSP provides a set of versatile code querying -and editing functionalities based on symbolic understanding of the code. +There are two backends for Serena's semantic code analysis and editing capabilities: + +* **Language servers** implementing the language server Protocol (LSP) — the free/open-source alternative. +* **The Serena JetBrains Plugin**, which leverages the powerful code analysis and editing + capabilities of your JetBrains IDE. + +Both backends provide a set of versatile code querying and editing functionalities +based on symbolic understanding of the code. Equipped with these capabilities, Serena discovers and edits code just like a seasoned developer making use of an IDE's capabilities would. Serena can efficiently find the right context and do the right thing even in very large and -complex projects! So not only is it free and open-source, it frequently achieves better results -than existing solutions that charge a premium. +complex projects! + +### Language Servers Language servers provide support for a wide range of programming languages. With Serena's LSP library, we provide **support for over 30 programming languages**, including AL, Bash, C#, C/C++, Clojure, Dart, Elixir, Elm, Erlang, Fortran, Go, Groovy (partial support), Haskell, Java, Javascript, Julia, Kotlin, Lua, Markdown, Nix, Perl, PHP, PowerShell, Python, R, Ruby, Rust, Scala, Swift, TOML, TypeScript, YAML, and Zig. > [!IMPORTANT] -> Some languages require additional dependencies to be installed; see the [Language Support](https://oraios.github.io/serena/01-about/020_programming-languages.html) page for details. +> Some language servers require additional dependencies to be installed; see the [Language Support](https://oraios.github.io/serena/01-about/020_programming-languages.html) page for details. + +### The Serena JetBrains Plugin + +As an alternative to language servers, the [Serena JetBrains Plugin](https://plugins.jetbrains.com/plugin/28946-serena/) +leverages the powerful code analysis capabilities of JetBrains IDEs. +The plugin naturally supports all programming languages and frameworks that are supported by JetBrains IDEs, +including IntelliJ IDEA, PyCharm, Android Studio, AppCode, WebStorm, PhpStorm, RubyMine, GoLand, AppCode, CLion, Rider, and others. + +**[Get the Serena plugin from the JetBrains marketplace](https://plugins.jetbrains.com/plugin/28946-serena/)** + +The plugin offers the most robust and most powerful Serena experience. +See our [documentation page](https://oraios.github.io/serena/02-usage/025_jetbrains_plugin.html) for further details and instructions. ## Quick Start From 807226ddf82bb10be4128c4de35c210ba487b15f Mon Sep 17 00:00:00 2001 From: Dominik Jain Date: Thu, 18 Dec 2025 17:56:42 +0100 Subject: [PATCH 11/15] Improve wording/presentation of language support --- README.md | 23 +++++++++++++--------- docs/01-about/020_programming-languages.md | 19 +++++++++--------- 2 files changed, 24 insertions(+), 18 deletions(-) diff --git a/README.md b/README.md index 6a2590fa..b143714d 100644 --- a/README.md +++ b/README.md @@ -60,22 +60,27 @@ https://github.com/user-attachments/assets/6eaa9aa1-610d-4723-a2d6-bf1e487ba753 ## Programming Language Support & Semantic Analysis Capabilities -There are two backends for Serena's semantic code analysis and editing capabilities: +Serena provides a set of versatile code querying and editing functionalities +based on symbolic understanding of the code. +Equipped with these capabilities, Serena discovers and edits code just like a seasoned developer +making use of an IDE's capabilities would. +Serena can efficiently find the right context and do the right thing even in very large and +complex projects! + +There are two alternative technologies powering these capabilities: * **Language servers** implementing the language server Protocol (LSP) — the free/open-source alternative. * **The Serena JetBrains Plugin**, which leverages the powerful code analysis and editing capabilities of your JetBrains IDE. -Both backends provide a set of versatile code querying and editing functionalities -based on symbolic understanding of the code. -Equipped with these capabilities, Serena discovers and edits code just like a seasoned developer -making use of an IDE's capabilities would. -Serena can efficiently find the right context and do the right thing even in very large and -complex projects! +You can choose either of these backends depending on your preferences and requirements. ### Language Servers -Language servers provide support for a wide range of programming languages. +Serena incorporates a powerful abstraction layer for the integration of language servers +that implement the language server protocol (LSP). +The underlying language servers are typically open-source projects (like Serena) or at least freely available for use. + With Serena's LSP library, we provide **support for over 30 programming languages**, including AL, Bash, C#, C/C++, Clojure, Dart, Elixir, Elm, Erlang, Fortran, Go, Groovy (partial support), Haskell, Java, Javascript, Julia, Kotlin, Lua, Markdown, Nix, Perl, PHP, PowerShell, Python, R, Ruby, Rust, Scala, Swift, TOML, TypeScript, YAML, and Zig. @@ -85,7 +90,7 @@ AL, Bash, C#, C/C++, Clojure, Dart, Elixir, Elm, Erlang, Fortran, Go, Groovy (pa ### The Serena JetBrains Plugin As an alternative to language servers, the [Serena JetBrains Plugin](https://plugins.jetbrains.com/plugin/28946-serena/) -leverages the powerful code analysis capabilities of JetBrains IDEs. +leverages the powerful code analysis capabilities of your JetBrains IDE. The plugin naturally supports all programming languages and frameworks that are supported by JetBrains IDEs, including IntelliJ IDEA, PyCharm, Android Studio, AppCode, WebStorm, PhpStorm, RubyMine, GoLand, AppCode, CLion, Rider, and others. diff --git a/docs/01-about/020_programming-languages.md b/docs/01-about/020_programming-languages.md index de1ef5df..10502a0b 100644 --- a/docs/01-about/020_programming-languages.md +++ b/docs/01-about/020_programming-languages.md @@ -1,18 +1,19 @@ # Language Support -Serena's semantic code analysis and editing capabilities are powered by two -main technologies: - -* **Language servers** implementing the language server Protocol (LSP). -* **The Serena JetBrains Plugin**, which leverages the powerful code analysis and editing - capabilities of your JetBrains IDE. - -Both backends provide a set of versatile code querying and editing functionalities +Serena provides a set of versatile code querying and editing functionalities based on symbolic understanding of the code. Equipped with these capabilities, Serena discovers and edits code just like a seasoned developer making use of an IDE's capabilities would. Serena can efficiently find the right context and do the right thing even in very large and -complex projects! +complex projects! + +There are two alternative technologies powering these capabilities: + +* **Language servers** implementing the language server Protocol (LSP) — the free/open-source alternative. +* **The Serena JetBrains Plugin**, which leverages the powerful code analysis and editing + capabilities of your JetBrains IDE. + +You can choose either of these backends depending on your preferences and requirements. ## Language Servers From ff2423fde7db37d07e6366fab4c374ae20a07fd8 Mon Sep 17 00:00:00 2001 From: Dominik Jain Date: Thu, 18 Dec 2025 18:12:17 +0100 Subject: [PATCH 12/15] Improve instructions for Running Serena, adding a pointer to the option --language-backend and improving the description of --project-from-cwd --- docs/02-usage/020_running.md | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/docs/02-usage/020_running.md b/docs/02-usage/020_running.md index 91b804e6..a31362f6 100644 --- a/docs/02-usage/020_running.md +++ b/docs/02-usage/020_running.md @@ -6,18 +6,17 @@ This section describes * how to run and configure the most important command, i.e. starting the MCP server * other useful commands. +:::{tip} +By default, Serena will use language servers for code understanding and analysis. +With the [Serena JetBrains Plugin](025_jetbrains_plugin), we recently introduced a powerful alternative, +which has several advantages over the language server-based approach. +::: + ## Ways of Running Serena In the following, we will refer to the command used to run Serena as ``, which you should replace with the appropriate command based on your chosen method. -:::{note} -By default, Serena will use language servers for code understanding and analysis. -We provide a powerful alternative to that through the [Serena JetBrains Plugin](025_jetbrains_plugin), -which has several advantages over the language server approach. -Note that you don't have to use a JetBrains IDE as your editor to take advantage of this solution. -::: - ### Using uvx `uvx` is part of `uv`. It can be used to run the latest version of Serena directly from the repository, without an explicit local installation. @@ -157,7 +156,11 @@ to get a list of all available options. Some useful options include: * `--project `: specify the project to work on by name or path. - * `--project-from-cwd`: auto-detect project from current working directory (searches up for `.serena/project.yml` or `.git`, falls back to CWD). Intended only for CLI-based agents like Claude Code, Gemini and Codex. + * `--project-from-cwd`: auto-detect the project from current working directory + (looking for a directory containing `.serena/project.yml` or `.git` in parent directories, activating the current directory if none is found); + This option is intended for CLI-based agents like Claude Code, Gemini and Codex, which are typically started from within the project directory + and which do not change directories during their operation. + * `--language-backend JetBrains`: use the Serena JetBrains Plugin as the language backend (overriding the default backend configured in the central configuration) * `--context `: specify the operation [context](contexts) in which Serena shall operate * `--mode `: specify one or more [modes](modes) to enable (can be passed several times) * `--enable-web-dashboard `: enable or disable the web dashboard (enabled by default) From 42849576bde846f38ef2755e53fd18ca0b7ce652 Mon Sep 17 00:00:00 2001 From: Dominik Jain Date: Thu, 18 Dec 2025 17:32:16 +0100 Subject: [PATCH 13/15] Add custom JetBrains marketplace button image (works in both light & dark modes) --- README.md | 2 +- docs/01-about/020_programming-languages.md | 8 +++----- docs/02-usage/025_jetbrains_plugin.md | 8 +++----- .../images/jetbrains-marketplace-button.png | Bin 0 -> 7661 bytes resources/jetbrains-marketplace-button.cdr | Bin 0 -> 30233 bytes 5 files changed, 7 insertions(+), 11 deletions(-) create mode 100644 docs/_static/images/jetbrains-marketplace-button.png create mode 100644 resources/jetbrains-marketplace-button.cdr diff --git a/README.md b/README.md index b143714d..84e15b9e 100644 --- a/README.md +++ b/README.md @@ -94,7 +94,7 @@ leverages the powerful code analysis capabilities of your JetBrains IDE. The plugin naturally supports all programming languages and frameworks that are supported by JetBrains IDEs, including IntelliJ IDEA, PyCharm, Android Studio, AppCode, WebStorm, PhpStorm, RubyMine, GoLand, AppCode, CLion, Rider, and others. -**[Get the Serena plugin from the JetBrains marketplace](https://plugins.jetbrains.com/plugin/28946-serena/)** + The plugin offers the most robust and most powerful Serena experience. See our [documentation page](https://oraios.github.io/serena/02-usage/025_jetbrains_plugin.html) for further details and instructions. diff --git a/docs/01-about/020_programming-languages.md b/docs/01-about/020_programming-languages.md index 10502a0b..a748505e 100644 --- a/docs/01-about/020_programming-languages.md +++ b/docs/01-about/020_programming-languages.md @@ -107,11 +107,9 @@ of choice. ```{raw} html

-