Contributing¶
Thanks for helping improve Monte-Neo. Keep changes small, local-Mac friendly, and free of peer-product names in this tree.
Quick path¶
- Fork / clone, Python 3.11+
uv sync --extra apple --extra plot --extra data --group dev(omit--extra appleon Linux CI)- Branch from
main:feat/…orfix/… uv run ruff check .anduv run pytest tests/unit -W ignore- Open a PR against
main— CItestmust be green
What belongs here¶
- Research-bar export, holdout, policy heuristics, Metal/Numba performance, docs clarity
- MIT-compatible code and docs only
What does not¶
- Live multi-venue bot-ops as the primary claim
- Naming rival frameworks/authors in public code/docs/README
- Copying private harness / Evidence content into this tree without explicit permission
Versioning (Swiss clock)¶
- Single source:
src/monte_neo/_version.py(vX.Y.Z) - Keep in lockstep:
CHANGELOG,ROADMAP,READMEcurrent line,docs/docs-map.md - Releases: GitHub Release tag
vX.Y.Z→ OIDC Publish to PyPI
Docs site¶
MkDocs Material under docs/. Push to main with docs/** or mkdocs.yml changes runs the Docs workflow → https://neozork.github.io/Monte-Neo/
Code style¶
- Ruff (
Iimport sorting); prefer small modules - Unit tests under
tests/unit/; coverage gates apply to non-omitted packages - No secrets in the tree (
.envstays local)
Issues¶
Use GitHub issue templates (bug / feature). Include OS, Python version, monte-neo version, and a minimal repro when reporting bugs.
Security¶
Report vulnerabilities privately via SECURITY.md (GitHub Security Advisories when available). Do not open public issues for exploitable bugs.