mirror of
https://github.com/awatertrevi/macos-configuration.git
synced 2026-09-22 13:39:38 +00:00
Refresh configs, add update.fish, rewrite README as setup runbook
- Re-dump brewfile (adds postgresql@16, tree; drops typeit4me) - Refresh claude-settings.json, hosts, and serena_config.yml from machine - Add update.fish to actualise the copied configs in one go - Rewrite README as a complete ordered fresh-machine setup guide Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MN5eka2MuNJP9uCMdTda75
This commit is contained in:
214
serena_config.yml
Normal file
214
serena_config.yml
Normal file
@@ -0,0 +1,214 @@
|
||||
# the language backend to use for code understanding and manipulation.
|
||||
# Possible values are:
|
||||
# * LSP: Use the language server protocol (LSP), spawning freely available language servers
|
||||
# via the SolidLSP library that is part of Serena.
|
||||
# * JetBrains: Use the Serena plugin in your JetBrains IDE.
|
||||
# (requires the plugin to be installed and the project being worked on to be open
|
||||
# in your IDE).
|
||||
language_backend: LSP
|
||||
|
||||
# line ending convention to use when writing source files.
|
||||
# Possible values: "lf" (Unix), "crlf" (Windows), "native" (platform default).
|
||||
# Note that Serena's own files (e.g. memories and configuration files) always use native line endings.
|
||||
# This setting can be overridden on a per-project basis in project.yml files.
|
||||
line_ending: native
|
||||
|
||||
# whether to open a graphical window with Serena's logs.
|
||||
# This is mainly supported on Windows and (partly) on Linux; not available on macOS.
|
||||
# If you prefer a browser-based tool, use the `web_dashboard` option instead.
|
||||
# Further information: https://oraios.github.io/serena/02-usage/060_dashboard.html
|
||||
#
|
||||
# Being able to inspect logs is useful both for troubleshooting and for monitoring the tool calls,
|
||||
# especially when using the agno playground, since the tool calls are not always shown,
|
||||
# and the input params are never shown in the agno UI.
|
||||
# When used as MCP server for Claude Desktop, the logs are primarily for troubleshooting.
|
||||
# Note: unfortunately, the various entities starting the Serena server or agent do so in
|
||||
# mysterious ways, often starting multiple instances of the process without shutting down
|
||||
# previous instances. This can lead to multiple log windows being opened, and only the last
|
||||
# window being updated. Since we can't control how agno or Claude Desktop start Serena,
|
||||
# we have to live with this limitation for now.
|
||||
gui_log_window: false
|
||||
|
||||
# whether to start the Serena Dashboard, which provides detailed information on your Serena session,
|
||||
# the current configuration and furthermore allows some settings to be conveniently modified on the fly.
|
||||
# We strongly recommend to always enable this option!
|
||||
# If you want to prevent the Dashboard window from being opened on launch,
|
||||
# set `web_dashboard_open_on_launch` to false (see below).
|
||||
# Further information: https://oraios.github.io/serena/02-usage/060_dashboard.html
|
||||
web_dashboard: true
|
||||
|
||||
# the address the web dashboard will listen on (bind address).
|
||||
web_dashboard_listen_address: 127.0.0.1
|
||||
|
||||
# whether to open the Dashboard window/browser tab when Serena starts (provided that `web_dashboard` is enabled).
|
||||
# If set to false, you can still open the dashboard manually:
|
||||
# * When using an interface that supports a tray icon (see setting `web_dashboard_interface`),
|
||||
# you can conveniently open the dashboard from the system tray.
|
||||
# * When using the `browser` interface (no tray icon), so you can only open the dashboard by
|
||||
# a) telling the LLM to "open the dashboard" (provided that the open_dashboard tool is enabled) or by
|
||||
# b) manually navigating to http://localhost:24282/dashboard/ in your web browser (actual port
|
||||
# may be higher if you have multiple instances running; try ports 24283, 24284, etc.)
|
||||
# Further information: https://oraios.github.io/serena/02-usage/060_dashboard.html
|
||||
web_dashboard_open_on_launch: false
|
||||
jetbrains_plugin_server_address: 127.0.0.1
|
||||
|
||||
# the minimum log level for the GUI log window and the dashboard (10 = debug, 20 = info, 30 = warning, 40 = error)
|
||||
log_level: 20
|
||||
|
||||
# whether to trace the communication between Serena and the language servers.
|
||||
# This is useful for debugging language server issues.
|
||||
trace_lsp_communication: false
|
||||
|
||||
# advanced configuration option allowing to configure language server-specific options.
|
||||
# Maps the language key to the options.
|
||||
# Have a look at the docstring of the constructors of the LS implementations within solidlsp (e.g., for C# or PHP) to see which options are available.
|
||||
# No documentation on options means no options are available.
|
||||
ls_specific_settings: {}
|
||||
|
||||
# list of paths to ignore across all projects.
|
||||
# Same syntax as gitignore, so you can use * and **.
|
||||
# These patterns are merged additively with each project's own ignored_paths.
|
||||
# Quote patterns that start with `*`, e.g. `"**/bin/**"`.
|
||||
ignored_paths: []
|
||||
|
||||
# list of regex patterns which, when matched, mark a memory entry as read‑only.
|
||||
# For example, "global/.*" will mark all global memories as read-only.
|
||||
# You can extend the list on a per-project basis in the project.yml configuration file.
|
||||
read_only_memory_patterns: []
|
||||
|
||||
# timeout, in seconds, after which tool executions are terminated
|
||||
tool_timeout: 240
|
||||
|
||||
# list of tools to be globally excluded
|
||||
excluded_tools: []
|
||||
|
||||
# list of optional tools (which are disabled by default) to be included
|
||||
included_optional_tools: []
|
||||
|
||||
# fixed set of tools to use as the base tool set (if non-empty), replacing Serena's default set of tools.
|
||||
# This cannot be combined with non-empty excluded_tools or included_optional_tools.
|
||||
fixed_tools: []
|
||||
|
||||
# list of mode names to that are always to be included in the set of active modes.
|
||||
# The full set of modes to be activated is base_modes + default_modes + added_modes,
|
||||
# where added_modes can be defined by projects/CLI parameters.
|
||||
# If this is undefined/empty, no base modes are included.
|
||||
# See https://oraios.github.io/serena/02-usage/050_configuration.html#modes
|
||||
base_modes:
|
||||
default_modes:
|
||||
- interactive
|
||||
- editing
|
||||
|
||||
# Used as default for tools where the apply method has a default maximal answer length.
|
||||
# Even though the value of the max_answer_chars can be changed when calling the tool, it may make sense to adjust this default
|
||||
# through the global configuration.
|
||||
default_max_tool_answer_chars: 150000
|
||||
|
||||
# the name of the token count estimator to use for tool usage statistics.
|
||||
# See the `RegisteredTokenCountEstimator` enum for available options.
|
||||
#
|
||||
# By default, a very naive character count estimator is used, which simply counts the number of characters.
|
||||
# You can configure this to TIKTOKEN_GPT4O to use a local tiktoken-based estimator for GPT-4o (will download tiktoken
|
||||
# data files on first run), or ANTHROPIC_CLAUDE_SONNET_4 which will use the (free of cost) Anthropic API to
|
||||
# estimate the token count using the Claude Sonnet 4 tokenizer.
|
||||
token_count_estimator: CHAR_COUNT
|
||||
|
||||
# time budget (seconds) per tool call for the retrieval of additional symbol information
|
||||
# such as docstrings or parameter information.
|
||||
# (currently only used by LSP-based tools).
|
||||
# If the budget is exceeded, Serena stops issuing further retrieval requests
|
||||
# and returns partial info results.
|
||||
# 0 disables the budget (no early stopping). Negative values are invalid.
|
||||
# This is an advanced setting that can help alleviate problems with LSP servers
|
||||
# that have a slow implementation of request_hover (clangd is one of those)
|
||||
# or with tool calls that find very many symbols.
|
||||
# Can be overridden in project.yml.
|
||||
symbol_info_budget: 10
|
||||
|
||||
# template for the location of the per-project .serena data folder (memories, caches, etc.).
|
||||
# Supports the following placeholders:
|
||||
# $projectDir - the absolute path to the project root directory
|
||||
# $projectFolderName - the name of the project directory
|
||||
# Default: "$projectDir/.serena" (data stored inside the project directory)
|
||||
# Example for a central location: "/projects-metadata/$projectFolderName/.serena"
|
||||
project_serena_folder_location: "$projectDir/.serena"
|
||||
|
||||
# the list of registered project paths (updated automatically).
|
||||
projects:
|
||||
- /Users/trevi/Repositories/personal/xamarin-neo4j
|
||||
|
||||
# list of regex patterns for memories to completely ignore.
|
||||
# Matching memories will not appear in list_memories or activate_project output
|
||||
# and cannot be accessed via read_memory or write_memory.
|
||||
# To access ignored memory files, use the read_file tool on the raw file path.
|
||||
# This is useful for projects with large numbers of archived memory files.
|
||||
# You can extend the list on a per-project basis in the project.yml configuration file.
|
||||
# Example: ["_archive/.*", "_episodes/.*"]
|
||||
ignored_memory_patterns: []
|
||||
|
||||
# defines the interface (application mode) used for the web dashboard (if enabled).
|
||||
# If empty/null, use platform-dependent default. Otherwise, possible values:
|
||||
# * browser: the dashboard is opened in the default browser (if `web_dashboard_open_on_launch` is true)
|
||||
# This is supported on all platforms.
|
||||
# * app: the dashboard is opened in a separate native-like app window with accompanying tray icon, whose
|
||||
# lifecycle is tied to the Serena process.
|
||||
# If `web_dashboard_open_on_launch` is false, the dashboard can be conveniently accessed via the tray icon.
|
||||
# This is supported on Windows and macOS, but note that on macOS, where tray icons are very visible,
|
||||
# this may result in too many icons being displayed when using multi-agent setups.
|
||||
# * tray_manager: use a global tray icon to provide access to the dashboards of all running Serena instances,
|
||||
# opening the dashboard in browser tabs when selected from the tray menu.
|
||||
# This is EXPERIMENTAL. It is tested on Windows only. We will establish macOS support, but it is yet untested.
|
||||
# On Linux, this cannot be universally supported, but it may work in some desktop environments.
|
||||
# On NixOS, when using the package from flake.nix, both modern AppIndicator trays as well as
|
||||
# older Xorg-/XEmbed-based trays should be supported.
|
||||
# See https://oraios.github.io/serena/02-usage/060_dashboard.html
|
||||
web_dashboard_interface:
|
||||
|
||||
# trusted hosts used to access the web dashboard.
|
||||
# By default, only allow access via local addresses for security reasons.
|
||||
# If you want to allow access from remote machines, add the hostname used to access the dashboard to this list.
|
||||
# If the list is empty/undefined, all hosts are trusted.
|
||||
web_dashboard_trusted_hosts:
|
||||
- 127.0.0.1
|
||||
- localhost
|
||||
|
||||
# command used to launch a JetBrains IDE on demand (only relevant when using the JetBrains language backend)
|
||||
# If this is non-empty and, at project activation, the Serena JetBrains Plugin server instance corresponding
|
||||
# to the project is not found, use this command to spawn a new instance.
|
||||
# Specifically, if this is <cmd>, then `<cmd> <projectDir>` is launched.
|
||||
# Provide the full path to the executable/script (e.g., "/usr/bin/idea" or "C:/Users/bob/AppData/Local/JetBrains/Toolbox/scripts/idea.cmd").
|
||||
jetbrains_launch_command:
|
||||
|
||||
# list of glob patterns for project root directories that are considered trusted.
|
||||
# Some project settings will only be applied if the project is trusted.
|
||||
# A glob pattern can contain the following:
|
||||
# * matches any sequence of characters except path separators
|
||||
# ** matches any sequence of characters including path separators
|
||||
# ? matches any single character except path separators
|
||||
# [abc] matches any single character in the set (here: a, b, or c)
|
||||
# Path separators are normalised internally, so on Windows, both / and \ can be used in the patterns.
|
||||
# Example:
|
||||
# trusted_project_path_patterns:
|
||||
# - /home/user/projects/**
|
||||
# - C:\Users\Anna\Dev\work\**
|
||||
# The pattern "**" matches any project path, so it can be used to trust all projects.
|
||||
trusted_project_path_patterns:
|
||||
- '**'
|
||||
|
||||
# mapping from language server keys to integer priority values (higher = more preferred), which determine
|
||||
# language server selection during automatic project creation and are used to break ties when multiple
|
||||
# language servers match an equal number of source files.
|
||||
# The priority values override Serena's default priorities:
|
||||
# * 0 = experimental or secondary language servers, which are never auto-detected
|
||||
# (e.g. `python_*` and `php_*` are "secondary"; also applies to non-programming languages like `json`)
|
||||
# * 1 = supersets of other languages, which shall be preferred only if they match more files
|
||||
# (e.g. `vue` and `svelte`, which are supersets of `typescript`)
|
||||
# * 2 = default priority
|
||||
# Example:
|
||||
# ls_priorities:
|
||||
# python: 0
|
||||
# python_basedpyright: 3
|
||||
# This example would achieve that `python_basedpyright` becomes the preferred language server for Python,
|
||||
# giving it a high priority of 3, while the default Python language server is fully excluded from
|
||||
# auto-detection with priority 0.
|
||||
ls_priorities:
|
||||
Reference in New Issue
Block a user