README improvements

This commit is contained in:
Dominik Jain
2025-03-31 18:43:53 +02:00
parent b1f84ffac8
commit cd35fd1f45
+26 -30
View File
@@ -135,48 +135,43 @@ Here a brief comparison with other tools:
### Subscription-Based Coding Agents
The most prominent subscription-based coding agents are parts of IDE's like
The most prominent subscription-based coding agents are parts of IDEs like
Windsurf, Cursor and VSCode.
The functionality of Serena is similar to Cursor's Agent, Windsurf's Cascade or
Serena's functionality is similar to Cursor's Agent, Windsurf's Cascade or
VSCode's
upcoming [agent mode](https://code.visualstudio.com/blogs/2025/02/24/introducing-copilot-agent-mode).
The main positive difference is that Serena does not require a subscription, and
the negative difference is that Serena
Serena has the advantage of not requiring a subscription.
A potential disadvantage is that it
is not directly integrated into an IDE, so the inspection of newly written code
is not as seamless.
More technical differences are:
* Serena is an MCP server, so it can be used with any MCP client and is not
bound to a specific IDE.
* Serena is not bound to a specific IDE.
Serena's MCP server can be used with any MCP client (including some IDEs),
and the Agno-based agent provides additional ways of applying its functionality.
* Serena is not bound to a specific large language model or API.
* Serena navigates and edits code using a language server, so it has a symbolic
understanding of the code.
IDE-based tools usually use a RAG and text-matching approach, which is often
less powerful, especially for large codebases.
understanding of the code.
IDE-based tools often use a RAG-based or purely text-based approach, which is often
less powerful, especially for large codebases.
* Serena is open-source and has a small codebase, so it can be easily extended
and modified.
* Serena is not limited to a specific model or API, but can be used with any LLM
that supports the MCP.
Note that Serena **can be used with any IDE** that supports including MCP
Servers (Cursor and Windsurf both do that).
Then, of course, you are back to paying for the IDE subscription. You might
still want to use Serena because it's way of parsing code
may be more efficient than the (usually RAG-based) parsing of the IDE's agent.
and modified.
### API-Based Coding Agents
An alternative to subscription-based agents are API-based agents like Claude
Code, Cline, Aider, Roo Code and others.
Code, Cline, Aider, Roo Code and others, where the usage costs map directly
to the API costs of the underlying LLM.
Some of them (like Cline) can even be included in IDEs as an extension.
They are often very powerful and their main downside is the (potentially very
large) API costs.
They are often very powerful and their main downside are the (potentially very
high) API costs.
Serena itself can be used as an API-based agent, see the section on Agno above.
Serena itself can be used as an API-based agent (see the section on Agno above).
We have not yet written a CLI tool or a
dedicated IDE extension for Serena (there is probably no need for the latter, as
you can use Serena with any IDE that supports MCP servers).
If there is a large demand for Serena as a CLI tool like Claude Code, we will
dedicated IDE extension for Serena (and there is probably no need for the latter, as
Serena can already be used with any IDE that supports MCP servers).
If there is demand for a Serena as a CLI tool like Claude Code, we will
consider writing one.
The main difference between Serena and other API-based agents is that Serena can
@@ -188,14 +183,15 @@ an API key and bypassing the API costs. This is a unique feature of Serena.
There are other MCP servers meant for coding, like for
example [DesktopCommander](https://github.com/wonderwhy-er/DesktopCommanderMCP) and
[codemcp](https://github.com/ezyang/codemcp).
However, to our knowledge, none of them use a language server for code
navigation and editing, and are thus limited to just text-based analysis.
It is the integration of language servers and the MCP that makes Serena unique and so powerful for hard coding
tasks on large codebases.
However, to the best of our knowledge, none of them provide semantic code
retrieval and editing tools; they rely purely on text-based analysis.
It is the integration of language servers and the MCP that makes Serena unique
and so powerful for challenging coding tasks, especially in the context of
larger codebases.
## Developer Environment Setup
You can have a local setup via `uv` or a docker interpeter-based setup.
You can have a local setup via `uv` or a docker interpreter-based setup.
The repository is also configured to seamlessly work within a GitHub Codespace. See the instructions
for the various setup scenarios below.