Skip to content

docs: add CONTRIBUTING.md (build from source, running tests) - #79

Merged
kurok merged 2 commits into
masterfrom
fix-issue-51-contributing-docs
Jun 12, 2026
Merged

kurok merged 2 commits into
masterfrom
fix-issue-51-contributing-docs

Conversation

@kurok

@kurok kurok commented Jun 12, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds a contributor guide (CONTRIBUTING.md) at the repo root and links it from Readme.md. Content is verified against the actual repo files (Makefile, pyproject.toml, rust-toolchain, .github/workflows/test.yml, .github/scripts/check_benchmark.py, tests/) — no invented commands.

Covers:

  • Prerequisites — Rust 1.83 (pinned in rust-toolchain; cargo audit runs on stable), Python 3.9–3.13 (requires-python >= 3.9, CI matrix), maturin build backend.
  • Build from source — venv, pip install maturin, maturin develop (debug) / maturin develop --release (benchmarking), plus the Makefile targets (make install, make install-test, make test, make benchmark).
  • Running tests — make test (excludes benchmark), the suites present (test_contract.py API contract, test_rfc_corpus.py RFC-feature corpus, and the focused tests), and regenerating the RFC corpus via python tests/generate_rfc_corpus.py.
  • Linting — cargo fmt (enforced), cargo clippy / mypy (advisory), ruff (advisory).
  • CI overview — the Test workflow gates PRs: lint, blocking cargo audit, the 3.9–3.13 test matrix, and the benchmark quality gate (8x floor).
  • PR conventions — DCO sign-off (git commit -s).

Note: issue #51 mentioned Python 3.11–3.14 / requires-python >= 3.11 and a ~7x benchmark floor, but the current files on master specify Python 3.9–3.13 and an 8x floor (BENCH_MIN_SPEEDUP = "8.0"). The guide documents the actual repo state to avoid fabrication.

Docs-only: no source, tests, fixtures, .github/, pyproject.toml, or Cargo.toml touched.

Closes #51

kurok added 2 commits June 12, 2026 21:58
Add a contributor guide covering prerequisites (Rust 1.83 per
rust-toolchain, Python 3.9-3.13, maturin), building from source with
maturin develop and the Makefile targets, running tests (test_contract,
test_rfc_corpus and friends), regenerating the RFC corpus, linting
(cargo fmt/clippy, mypy, ruff and which are enforced vs advisory), the
Test CI workflow gates, and DCO sign-off. Link it from Readme.md.

Closes #51

Signed-off-by: yuriyryabikov <22548029+kurok@users.noreply.github.com>
The first draft was generated against a stale checkout (3.9–3.13, 8x). Align
with master: requires-python >= 3.11, matrix 3.11–3.14, benchmark floor 7x.

Signed-off-by: yuriyryabikov <22548029+kurok@users.noreply.github.com>
@kurok
kurok force-pushed the fix-issue-51-contributing-docs branch from ac951eb to e51ede0 Compare June 12, 2026 20:58
@kurok
kurok merged commit 91b943c into master Jun 12, 2026
7 checks passed
@kurok
kurok deleted the fix-issue-51-contributing-docs branch June 12, 2026 20:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add development & contribution docs (build from source, running tests)

1 participant