Scripts#
Everything in scripts/ runs the same way, from the repository root:
uv run python scripts/<name>.py
This page is the map — what each one does, and when you will be glad it exists.
Demos: see a tool run, no agent attached#
A tool is an ordinary Python object; these scripts execute tools directly against real repositories — no MCP client, no LLM — which makes them the fastest way to see behaviour and the natural starting point for tool work.
script |
what it shows |
|---|---|
|
Serena’s tools executed against this repository itself — the tour, and where |
|
file- and symbol-level diagnostics, and an edit reporting only the warnings it introduced — the loop explained |
|
both defining-symbol tools, on the Python test repo |
|
the implementations tool, on the Go test repo |
|
how tool results shorten as |
|
the CLI entry point invoked programmatically |
|
the MCP server started programmatically — three lines, and a convenient place to hang a debugger |
Generators: outputs, not sources#
Four scripts regenerate files that are never edited by hand; when each one must run is covered in Getting Started.
script |
regenerates |
|---|---|
|
|
|
the commented language list pasted into |
|
the checksum database in |
|
|
Introspection and profiling#
script |
the question it answers |
|---|---|
|
which tools exist, with their descriptions |
|
which modes and contexts are registered, with an overview of each |
|
where the time goes in a symbol lookup (cProfile / pyinstrument) |
|
how a project’s memories reference each other — emits GraphML, |
Release machinery#
bump_version.py (--patch or --minor) bumps the version and creates the git tag;
pushing that tag starts the release workflow. The process around it lives in
README-dev.md. Contributors
never need to run these.
The odd ones out#
agno_agent.py— the Agno-based agent that the custom agent guide builds on: Serena as a toolkit inside another framework, no MCP involved.live_test_grok.py— a live smoke test against a realgrokCLI, the un-mocked counterpart of the mocked client-setup tests. It needs the real binary and is not part ofpoe test.