Skip to content

docs: add a worked curriculum contribution guide #39

Description

@abhiksark

Motivation

Curriculum contributions touch several aligned trees and hidden checks. A worked path makes the real contract approachable to a first-time contributor while protecting learner-facing quality.

Current evidence

  • A curriculum change must align exercises/, checks/, solutions/, and info.toml.
  • Readme.md mentions the mirrored exercise/check filenames but does not provide an end-to-end worked contribution walkthrough.
  • Reference solutions are verified by tests/integration/test_solution_verify.py.

Exact scope

Add a linked guide that walks through one representative curriculum contribution: learner exercise, hidden check, direct solution, hint and docs metadata, naming, hidden-check quality, and verification. Keep the example Python 3.9 compatible.

Acceptance checklist

  • Explain the roles of exercises/, checks/, solutions/, and info.toml.
  • Show a coherent worked example that covers a topic/ordinal filename, manifest entry, hint, official docs URL, learner code, hidden assertions, and solution.
  • Explain how to keep checks focused on the taught behavior without revealing them to learners.
  • State that any curriculum addition keeps the four trees/metadata aligned and preserves Python 3.9 compatibility.
  • Link the guide from the public contributing documentation.

Explicit exclusions

Do not add or change an actual exercise, weaken hidden-check isolation, migrate solution stubs, or redesign the curriculum.

Likely files

  • docs-site/contributing.md
  • docs-site/curriculum-contribution-guide.md (new)
  • mkdocs.yml

Verification

mkdocs build --strict
python -m pytest -q
python -m pytest tests/integration/test_solution_verify.py -q
pythonlings --root tests/fixtures/passing_curriculum verify

Manually verify that the example paths and commands exist and that the guide does not expose production hidden checks.

Sprint coordination

See the sprint Discussion. This issue is unassigned and is not a reservation.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area: curriculumCurriculum exercises, checks, and solutionsdev sprintPythonlings Community Dev Sprint August 2026documentationImprovements or additions to documentationgood first issueGood for newcomerssize: MMedium, self-contained contribution

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions