besser-devlisted
Install: claude install-skill BESSER-PEARL/BESSER-Skills
# Contributing to BESSER
This skill covers the procedural workflows for contributing to the BESSER
codebase. For architecture details and code conventions, also consult the
project's `CLAUDE.md` file which is loaded into context automatically.
---
## Development Setup
```bash
git clone https://github.com/<your-username>/BESSER.git
cd BESSER
python -m venv venv
# Windows: venv\Scripts\activate
# macOS/Linux: source venv/bin/activate
pip install -r requirements.txt
pip install -r docs/requirements.txt # for building docs
pip install -e . # editable install
```
Verify: `python tests/BUML/metamodel/structural/library/library.py`
Python 3.10+ is required (Django 5.x dependency).
---
## Adding a New Generator
This is the most common type of contribution. To skip the boilerplate, run
the bundled scaffold:
```bash
python scripts/scaffold_generator.py <name> <path/to/BESSER/repo>
# e.g.: python scripts/scaffold_generator.py graphql ~/code/BESSER
```
That writes a working stub package (generator class + Jinja template +
pytest), runnable immediately. You still need to implement real logic,
register the generator in the web-editor config, and add docs — covered
in the steps below.
If you prefer to do it by hand, follow these 6 steps:
### Step 1: Create the Generator Package
```
besser/generators/my_generator/
__init__.py # export: from .my_generator import MyGenerator
my_generator.py # the generator class
templates/