diff --git a/docs/01-about/.gitignore b/docs/01-about/.gitignore index 463af074..11bfb993 100644 --- a/docs/01-about/.gitignore +++ b/docs/01-about/.gitignore @@ -1,4 +1,4 @@ # auto-generated files /000_intro.md -/005_features.md +/025_features.md /035_tools.md diff --git a/docs/01-about/010_llm-integration.md b/docs/01-about/010_llm-integration.md deleted file mode 100644 index 0f9c75aa..00000000 --- a/docs/01-about/010_llm-integration.md +++ /dev/null @@ -1,17 +0,0 @@ -# LLM Integration - -Serena provides the necessary [tools](035_tools) for coding workflows, but an LLM is required to do the actual work, -orchestrating tool use. - -In general, Serena can be integrated with an LLM in several ways: - -* by using the **model context protocol (MCP)**. - Serena provides an MCP server which integrates with - * Claude Code and Claude Desktop, - * Terminal-based clients like Codex, Gemini-CLI, Qwen3-Coder, rovodev, OpenHands CLI and others, - * IDEs like VSCode, Cursor or IntelliJ, - * Extensions like Cline or Roo Code - * Local clients like [OpenWebUI](https://docs.openwebui.com/openapi-servers/mcp), [Jan](https://jan.ai/docs/mcp-examples/browser/browserbase#enable-mcp), [Agno](https://docs.agno.com/introduction/playground) and others -* by using [mcpo to connect it to ChatGPT](../03-special-guides/serena_on_chatgpt.md) or other clients that don't support MCP but do support tool calling via OpenAPI. -* by incorporating Serena's tools into an agent framework of your choice, as illustrated [here](../03-special-guides/custom_agent). - Serena's tool implementation is decoupled from the framework-specific code and can thus easily be adapted to any agent framework. diff --git a/docs/01-about/020_programming-languages.md b/docs/01-about/020_programming-languages.md index 11585ea6..ceb1f86d 100644 --- a/docs/01-about/020_programming-languages.md +++ b/docs/01-about/020_programming-languages.md @@ -13,7 +13,7 @@ There are two alternative technologies powering these capabilities: * **The Serena JetBrains Plugin**, which leverages the powerful code analysis and editing capabilities of your JetBrains IDE. -See the [Features](005_features) section for a detailed comparison of the capabilities provided by the JetBrains Plugin vs. language servers. +See the [Features](025_features) section for a detailed comparison of the capabilities provided by the JetBrains Plugin vs. language servers. ## Language Servers @@ -121,7 +121,7 @@ work in a JetBrains IDE, this means Serena seamlessly integrates with the IDE in requiring no additional setup or configuration beyond the plugin itself. * See the [JetBrains Plugin documentation](../02-usage/025_jetbrains_plugin) for a high-level overview of its benefits and usage details. -* See the [Features](005_features) section for a detailed comparison of the capabilities provided by the JetBrains Plugin vs. language servers. +* See the [Features](025_features) section for a detailed comparison of the capabilities provided by the JetBrains Plugin vs. language servers. ```{raw} html

diff --git a/docs/autogen_docs.py b/docs/autogen_docs.py index 6dfd37f0..5e1dae72 100644 --- a/docs/autogen_docs.py +++ b/docs/autogen_docs.py @@ -181,7 +181,7 @@ def autogen_about_intro_features(): with open(readme_path, "r", encoding="utf-8") as f: readme_contents = f.read() - match = re.search(r"(.*?)(.*?)^(## Features.*?)^## ", readme_contents, re.DOTALL | re.MULTILINE) + match = re.search(r"(.*?)(.*?)^## Programming.*?^(## Features.*?)^## ", readme_contents, re.DOTALL | re.MULTILINE) assert match, f"Failed to extract about texts from README.md. {__file__} probably needs to be updated." tagline = match.group(1).strip() @@ -194,6 +194,8 @@ def autogen_about_intro_features(): f.write(autogen_info) f.write("# About Serena\n\n") f.write(f"**{tagline}**\n\n") + about_text = about_text.replace("resources/serena-block-diagram.png", "https://raw.githubusercontent.com/oraios/serena/main/resources/serena-block-diagram.svg") + about_text = re.subn(r"^See the \[Quick Start.*?$", r"", about_text, flags=re.MULTILINE)[0] f.write(f"{about_text}\n\n") jetbrains_marketplace_link = ('```{raw} html\n' @@ -201,9 +203,11 @@ def autogen_about_intro_features(): '' '

\n```') - with open(Path(__file__).parent / "01-about" / "005_features.md", "w", encoding="utf-8") as f: + with open(Path(__file__).parent / "01-about" / "025_features.md", "w", encoding="utf-8") as f: f.write(autogen_info) features_text = re.subn(r"^#", r"", features_text, flags=re.MULTILINE)[0] + features_text = re.subn(r"", "", features_text, flags=re.MULTILINE)[0] + features_text = re.subn(r".*?", "", features_text, flags=re.MULTILINE)[0] features_text = re.sub(r'