Update developer instructions, now using uv sync

This commit is contained in:
Dominik Jain authored and Dominik Jain committed 2026-02-05 14:14:57 +01:00
1 parent ca49707791
commit e176fc84f1
1 file changed
+13 -17
+13 -17
View File
@@ -11,18 +11,11 @@ The following types of contributions can be submitted directly via pull requests
For other changes, please open an issue first to discuss your ideas with the maintainers.
## Developer Environment Setup
### Adding Support for a New Language Server
You can have a local setup via `uv` or a docker interpreter-based setup.
The repository is also configured to seamlessly work within a GitHub Codespace. See the instructions
for the various setup scenarios below.
See the corresponding [memory](.serena/memories/adding_new_language_support_guide.md).
Independently of how the setup was done, the virtual environment can be
created and activated via `uv` (see below), and the various tasks like formatting, testing, and documentation building
can be executed using `poe`. For example, `poe format` will format the code, including the
notebooks. Just run `poe` to see the available commands.
### Python (uv) setup
## Python Environment Setup
You can install a virtual environment with the required as follows
@@ -30,15 +23,18 @@ You can install a virtual environment with the required as follows
2. Activate the environment:
* On Linux/Unix/macOS or Windows with Git Bash: `source .venv/bin/activate`
* On Windows outside of Git Bash: `.venv\Scripts\activate.bat` (in cmd/ps) or `source .venv/Scripts/activate` (in git-bash)
3. Install the required packages with all extras: `uv pip install --all-extras -r pyproject.toml -e .`
3. Install the required packages with all extras: `uv sync --extra dev`
## Running Tools Locally
## Poe Tasks
We use poe to execute development tasks:
- `poe format` - run code auto-formatters
- `poe type-check` - run type checkers
## Testing Tool Executions
The Serena tools (and in fact all Serena code) can be executed without an LLM, and also without
any MCP specifics (though you can use the mcp inspector, if you want).
An example script for running tools is provided in [scripts/demo_run_tools.py](scripts/demo_run_tools.py).
## Adding a New Supported Language
See the corresponding [memory](.serena/memories/adding_new_language_support_guide.md).
An example script for running tools is provided in [scripts/demo_run_tools.py](scripts/demo_run_tools.py).