Contributing

Start with a small, inspectable improvement. Explain the learning goal, what changes for learners, and how the relevant behavior was checked.

Quality requirements

Verification

Run the commands in README.md. Notebook code checks do not replace notebook UI testing. Site structural checks do not establish screen-reader usability. Record exactly what was verified.

Review and releases

Use a development branch and a pull request with a concrete behavior summary and validation. Keep generated site/, runs/, caches, and local environments out of commits. Preserve stable module links or supply redirects when changing published paths. Do not change an adopting institution's grading rules through repository edits.

Naming conventions

Use neutral, descriptive names for repository folders and branches. Prefer topic/task names such as data-processing, development/module-03-foundation, or feature/model-evaluation. Avoid tool- or vendor-branded naming prefixes. Preserve the project's existing author attribution and license notices.

Consistency and review

Update curriculum/modules.json when a module path/profile changes. All modules need entry, foundation, guided construction, practice, feedback, instructor guidance, one registered notebook, and one public script. Use templates/ for authoring and record actual accessibility tasks; do not turn NOT RUN into a pass. Read architecture, review findings, and community conduct. CI checks tracked-source publication coverage; new files must be included in the explicit download policy. Keep private sources, student data, credentials, caches, and generated outputs outside tracked source.

Publication boundaries

Read what belongs in the public repository before adding data, completed review records or student work. Use the ignored root folders for confidential material.