⚠️ The latest release is unstable. Use preview builds instead
Skip to content

Code Navigation (Serena)

Serena is an MCP server that gives an AI coding agent LSP-based semantic navigation — exact go-to-definition, find-references, find-implementations, and symbol-level edits — instead of text search. It runs entirely locally and is free.

This page covers only how it is wired for this repository. For how the tools work, contexts, and client setup, see the Serena documentation.

Setup

Two steps, once:

  1. Install Serena: uv tool install -p 3.13 serena-agent (needs uv).
  2. Open the repo in Claude Code and approve the Serena server when prompted.

That's it — the projects below are already configured. To also navigate the decompiled game code, run the decompilation step (those sources aren't in git).

How it's wired

A project-scoped .mcp.json at the repo root registers Serena for Claude Code. Claude Code prompts you to approve the server on first launch in the repo — nothing runs unapproved. The committed .serena/project.yml files define the project scoping below, so everyone shares the same setup.

Prerequisites

The config runs serena on your PATH; it is not auto-installed. Once:

bash
uv tool install -p 3.13 serena-agent

(Requires uv. Prefer no install? Point .mcp.json at uvx --from serena-agent serena start-mcp-server instead.)

The language servers download on first use and need runtimes you already have for this repo: the .NET SDK (C# projects) and Node (the Vue test-ui project).

Projects

Ask the agent to work in a project (e.g. "search the mod project for X") — it activates the project from its committed .serena/project.yml. Serena's project registry is per-user and local, so the short names below register on first activation on your machine; the committed config is what makes each project available on any checkout.

ProjectRootCovers
junimo-modmod/The mod: JunimoServer + JunimoServer.Shared
junimo-teststests/E2E test suite; resolves into mod/ and steam-service
junimo-steam-servicetools/steam-serviceThe Steam auth sidecar
junimo-test-uitests/test-uiThe Vue/TS monitoring UI
stardew-decompileddecompiled/sdv-<version>/Decompiled game code (see below)

Decompiled game code

stardew-decompiled needs the decompiled sources present locally — run the decompilation step first. Its .serena/project.yml is committed (the sources themselves stay gitignored), so once you decompile into the folder, the project works with no extra setup.

Released under the MIT License. Not affiliated with or endorsed by ConcernedApe LLC.