@@ -3,22 +3,27 @@ project_name: "HomeMatic"
33
44
55# list of languages for which language servers are started; choose from:
6- # al bash clojure cpp csharp
7- # csharp_omnisharp dart elixir elm erlang
8- # fortran fsharp go groovy haskell
9- # haxe java julia kotlin lua
10- # markdown
11- # matlab nix pascal perl php
12- # php_phpactor powershell python python_jedi r
13- # rego ruby ruby_solargraph rust scala
14- # swift terraform toml typescript typescript_vts
15- # vue yaml zig
6+ # al angular ansible bash clojure
7+ # cpp cpp_ccls crystal csharp csharp_omnisharp
8+ # dart elixir elm erlang fortran
9+ # fsharp go groovy haskell haxe
10+ # hlsl html java json julia
11+ # kotlin lean4 lua luau markdown
12+ # matlab msl nix ocaml pascal
13+ # perl php php_phpactor powershell python
14+ # python_jedi python_ty r rego ruby
15+ # ruby_solargraph rust scala scss solidity
16+ # svelte swift systemverilog terraform toml
17+ # typescript typescript_vts vue yaml zig
1618# (This list may be outdated. For the current list, see values of Language enum here:
1719# https://github.com/oraios/serena/blob/main/src/solidlsp/ls_config.py
1820# For some languages, there are alternative language servers, e.g. csharp_omnisharp, ruby_solargraph.)
1921# Note:
2022# - For C, use cpp
2123# - For JavaScript, use typescript
24+ # - For Angular projects, use angular (subsumes typescript+html; requires `npm install` in the project root)
25+ # - For Svelte projects, use svelte (subsumes typescript/javascript for .svelte projects; requires npm)
26+ # - For SCSS / Sass / plain CSS, use scss (some-sass-language-server handles all three)
2227# - For Free Pascal/Lazarus, use pascal
2328# Special requirements:
2429# Some languages require additional setup/installations.
@@ -66,54 +71,17 @@ read_only: false
6671
6772# list of tool names to exclude.
6873# This extends the existing exclusions (e.g. from the global configuration)
69- #
70- # Below is the complete list of tools for convenience.
71- # To make sure you have the latest list of tools, and to view their descriptions,
72- # execute `uv run scripts/print_tool_overview.py`.
73- #
74- # * `activate_project`: Activates a project based on the project name or path.
75- # * `check_onboarding_performed`: Checks whether project onboarding was already performed.
76- # * `create_text_file`: Creates/overwrites a file in the project directory.
77- # * `delete_memory`: Delete a memory file. Should only happen if a user asks for it explicitly,
78- # for example by saying that the information retrieved from a memory file is no longer correct
79- # or no longer relevant for the project.
80- # * `edit_memory`: Replaces content matching a regular expression in a memory.
81- # * `execute_shell_command`: Executes a shell command.
82- # * `find_file`: Finds files in the given relative paths
83- # * `find_referencing_symbols`: Finds symbols that reference the given symbol using the language server backend
84- # * `find_symbol`: Performs a global (or local) search using the language server backend.
85- # * `get_current_config`: Prints the current configuration of the agent, including the active and available projects, tools, contexts, and modes.
86- # * `get_symbols_overview`: Gets an overview of the top-level symbols defined in a given file.
87- # * `initial_instructions`: Provides instructions Serena usage (i.e. the 'Serena Instructions Manual')
88- # for clients that do not read the initial instructions when the MCP server is connected.
89- # * `insert_after_symbol`: Inserts content after the end of the definition of a given symbol.
90- # * `insert_before_symbol`: Inserts content before the beginning of the definition of a given symbol.
91- # * `list_dir`: Lists files and directories in the given directory (optionally with recursion).
92- # * `list_memories`: List available memories. Any memory can be read using the `read_memory` tool.
93- # * `onboarding`: Performs onboarding (identifying the project structure and essential tasks, e.g. for testing or building).
94- # * `read_file`: Reads a file within the project directory.
95- # * `read_memory`: Read the content of a memory file. This tool should only be used if the information
96- # is relevant to the current task. You can infer whether the information
97- # is relevant from the memory file name.
98- # You should not read the same memory file multiple times in the same conversation.
99- # * `rename_memory`: Renames or moves a memory. Moving between project and global scope is supported
100- # (e.g., renaming "global/foo" to "bar" moves it from global to project scope).
101- # * `rename_symbol`: Renames a symbol throughout the codebase using language server refactoring capabilities.
102- # For JB, we use a separate tool.
103- # * `replace_content`: Replaces content in a file (optionally using regular expressions).
104- # * `replace_symbol_body`: Replaces the full definition of a symbol using the language server backend.
105- # * `safe_delete_symbol`:
106- # * `search_for_pattern`: Performs a search for a pattern in the project.
107- # * `write_memory`: Write some information (utf-8-encoded) about this project that can be useful for future tasks to a memory in md format.
108- # The memory name should be meaningful.
74+ # Find the list of tools here: https://oraios.github.io/serena/01-about/035_tools.html
10975excluded_tools : []
11076
11177# list of tools to include that would otherwise be disabled (particularly optional tools that are disabled by default).
11278# This extends the existing inclusions (e.g. from the global configuration).
79+ # Find the list of tools here: https://oraios.github.io/serena/01-about/035_tools.html
11380included_optional_tools : []
11481
11582# fixed set of tools to use as the base tool set (if non-empty), replacing Serena's default set of tools.
11683# This cannot be combined with non-empty excluded_tools or included_optional_tools.
84+ # Find the list of tools here: https://oraios.github.io/serena/01-about/035_tools.html
11785fixed_tools : []
11886
11987# list of mode names to that are always to be included in the set of active modes
@@ -124,11 +92,14 @@ fixed_tools: []
12492# Set this to a list of mode names to always include the respective modes for this project.
12593base_modes :
12694
127- # list of mode names that are to be activated by default.
128- # The full set of modes to be activated is base_modes + default_modes.
129- # If the setting is undefined, the default_modes from the global configuration (serena_config.yml) apply.
95+ # list of mode names that are to be activated by default, overriding the setting in the global configuration .
96+ # The full set of modes to be activated is base_modes (from global config) + default_modes + added_modes .
97+ # If the setting is undefined/empty , the default_modes from the global configuration (serena_config.yml) apply.
13098# Otherwise, this overrides the setting from the global configuration (serena_config.yml).
99+ # Therefore, you can set this to [] if you do not want the default modes defined in the global config to apply
100+ # for this project.
131101# This setting can, in turn, be overridden by CLI parameters (--mode).
102+ # See https://oraios.github.io/serena/02-usage/050_configuration.html#modes
132103default_modes :
133104
134105# initial prompt for the project. It will always be given to the LLM upon activating the project
@@ -152,3 +123,19 @@ read_only_memory_patterns: []
152123# Extends the list from the global configuration, merging the two lists.
153124# Example: ["_archive/.*", "_episodes/.*"]
154125ignored_memory_patterns : []
126+
127+ # list of mode names to be activated additionally for this project, e.g. ["query-projects"]
128+ # The full set of modes to be activated is base_modes (from global config) + default_modes + added_modes.
129+ # See https://oraios.github.io/serena/02-usage/050_configuration.html#modes
130+ added_modes :
131+
132+ # list of additional workspace folder paths for cross-package reference support (e.g. in monorepos).
133+ # Paths can be absolute or relative to the project root.
134+ # Each folder is registered as an LSP workspace folder, enabling language servers to discover
135+ # symbols and references across package boundaries.
136+ # Currently supported for: TypeScript.
137+ # Example:
138+ # additional_workspace_folders:
139+ # - ../sibling-package
140+ # - ../shared-lib
141+ additional_workspace_folders : []
0 commit comments