Evolve welcomes external contributions of all kinds. Whether you are fixing bugs, improving existing functionality, or adding new evolution-focused capabilities, we’re glad to work with you.
- Please file an issue at https://github.com/AgentToolkit/altk-evolve/issues.
- Fixing bugs
- Improving existing Evolve components
- Adding new components or evolution strategies
- Improving documentation, examples, or tests
We use https://docs.astral.sh/uv/ as our package and project manager. To install it, please follow the official installation guide: https://docs.astral.sh/uv/getting-started/installation/
You can use uv to create a virtual environment (if it doesn’t already exist) and install all project dependencies:
uv venv && source .venv/bin/activate
uv syncuv venv --python 3.12 && source .venv/bin/activate
uv syncuv add <package_name>We use https://pre-commit.com to ensure consistency across commits and pull requests.
pre-commit installOr:
pre-commit run --all-filesThe test suite is organized into 4 cleanly isolated tiers depending on infrastructure requirements:
-
Default Local Suite Runs both fast logic tests (
unit) and filesystem script verifications (platform_integrations).uv run pytest
-
Unit Tests (Only) Fast, fully-mocked tests verifying core logic and offline pipeline schemas.
uv run pytest -m unit
-
Platform Integration Tests Fast filesystem-level integration tests verifying local tool installation and idempotency.
uv run pytest -m platform_integrations
-
End-to-End Infrastructure Tests Heavy tests that autonomously spin up a background Phoenix server and simulate full agent workflows.
uv run pytest -m e2e --run-e2e
(See the Low-Code Tracing Guide for more details).
-
LLM Evaluation Tests Tests needing active LLM inference to test resolution pipelines (requires LLM API keys).
uv run pytest -m llm
Evolve builds on Agent Lifecycle Toolkit concepts with a focus on agent evolution, adaptation, and improvement over time.
- Identify the evolution purpose of your component.
- Add a new package under the appropriate module.
- Update
pyproject.tomlanduv.lock. - Add a
README.mddescribing usage and configuration. - Add tests alongside the module in
tests/. - Update relevant documentation files for discoverability.
make detect-secretsOr manually:
uv pip install --upgrade "git+https://github.com/ibm/detect-secrets.git@master#egg=detect-secrets"
detect-secrets scan --update .secrets.baseline
detect-secrets audit .secrets.baselineAll commits must be signed off using:
git commit -s -m <msg>