Thanks for considering a contribution. This repo is small on purpose — the core promise is "refine SKILL.md drafts, never touch mindX directly". Everything else flows from that.
Do not import mindx_* from this codebase. The whole reason this is a
separate repo is to keep mindX's import graph clean of DSPy and the
evolutionary heaviness. The codec in mindx_self_evolution/skill_io.py
duplicates mindX's SKILL.md parser intentionally so the interop contract
is file-level only.
If you find yourself wanting to import from mindX, the right move is one of:
- Extend the local codec to handle whatever new field you need.
- Open an issue on the mindX repo proposing a format addition; once it lands there, mirror it here.
- Re-evaluate whether the feature actually belongs in this repo at all — maybe it's a mindX-internal concern.
git clone https://github.com/AgenticPlace/mindx-self-evolution
cd mindx-self-evolution
python -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
pytest -qThe DSPy stack is opt-in:
pip install -e ".[dspy,dev]"Tests that need DSPy use pytest.importorskip("dspy") so the suite stays
green without it. CI runs both configurations.
ruff formatfor formatting;ruff checkfor lint.- Apache-2.0 SPDX header at the top of every Python file (the rest of the tree follows by inclusion).
- Type hints on everything.
mypy --strictis the goal. - Tests next to the surface they verify; one file per module.
- One concern per PR.
- Tests required for new behaviour; no new branches without coverage.
- Update
README.mdif you change the public surface or the v0.X roadmap. - Sign off your commits (
git commit -s). Apache-2.0 doesn't require it, but it makes provenance unambiguous.
If you want to land something concrete, the v0.2 roadmap items in README.md are all bite-sized:
- A real DSPy program with chain-of-thought in
skill_program.py. - An Ollama LM wrapper as an example in
examples/. - Frozen seeds across the optimizer so two runs with the same inputs produce the same output.
Open an issue first if you're unsure — we'd rather agree on shape before you write the code.