Contributor Guidelines
This repository provides additional nodes for the nodetool project and depends on nodetool-core.
Code Style
- Use Python 3.11+ syntax.
- All nodes live under
src/nodetool/nodes/liband must inherit fromBaseNode. - Node attributes are defined with
pydantic.Fieldand asyncprocessmethods should return the appropriate reference type. - Each node must contain a short docstring describing the model and several example use cases.
- Provide a
get_basic_fieldsclass method listing the most relevant fields
Commands
After adding or changing nodes run these commands to generate metadata and DSL.
nodetool package scan
nodetool codegen
Linting and Tests
Before submitting a pull request, run the following checks:
ruff check .
black --check .
pytest -q
Formatting issues or lint errors should be fixed before committing. Test coverage is expected to be added when applicable.