Contributing¶
Development setup¶
Clone the repository and install in editable mode:
git clone https://github.com/NeuroML/neuroklea.git
cd neuroklea
pip install -r requirements-dev.txt
Workflow¶
This project uses a standard fork-and-PR workflow:
Fork the repository on GitHub.
Create a feature branch from
development.Make your changes and run verification (lint, typecheck, test).
Submit a pull request targeting the
developmentbranch.Address review feedback if any.
Commands¶
Lint and format¶
ruff check . --fix
ruff format .
Type check¶
ty
Run tests¶
# All tests
bash scripts/run_tests.sh
# Single package
cd utils_pkg && pytest -v
# Exclude tests that need an LLM
pytest -m "not localonly"
Pre-commit¶
pre-commit run --all-files
CLI verification¶
If you modify a CLI entry point, confirm it starts:
<cli-name> --help
AI use¶
This repository includes an AGENTS.md file with instructions for AI
coding assistants. While it is fine to use AI for development, it is
expected that the human reviews every line of code before submitting PRs.
PRs that are AI only and have not been checked by humans will not be
accepted. All AI assistance must be clearly noted in the PR
description.
Pull requests¶
Open PRs targeting the
developmentbranch.Keep changes focused – one logical change per PR.
Ensure CI passes (lint, typecheck, tests).
Include a conventional commit message with issue numbers when applicable.