Skip to content

Commit b71c73d

Browse files
committed
Document contribution and quality rules
1 parent 67d87ed commit b71c73d

1 file changed

Lines changed: 42 additions & 0 deletions

File tree

‎CONTRIBUTING.md‎

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
# Contributing
2+
3+
Thanks for helping improve this course.
4+
5+
This repository is a textbook and reference implementation. Learner practice belongs in a separate disposable `git-github-lab` repository unless a contribution specifically improves the curriculum itself.
6+
7+
## Before opening a change
8+
9+
1. Read `SAFETY.md` if the change teaches recovery, reset, rebase, force operations, or history rewriting.
10+
2. Keep the course beginner-accessible. Prefer a precise mental model and a small reproducible exercise over adding more commands.
11+
3. Do not add claims of mastery that the learner cannot demonstrate.
12+
4. Do not add secrets, personal tokens, real credentials, or private repository data.
13+
5. Keep external resources supplementary; the core lesson must remain understandable without hunting through tutorials.
14+
15+
## Required local check
16+
17+
Run:
18+
19+
```bash
20+
python scripts/validate_repo.py
21+
```
22+
23+
The same validator runs on both Linux and Windows in GitHub Actions.
24+
25+
## Pull request standard
26+
27+
A useful pull request should explain:
28+
29+
- what learner problem it solves
30+
- what behavior or understanding changes
31+
- how the change was tested
32+
- any safety implications
33+
34+
For changes that add or modify a Git command exercise, include the expected observable repository state before and after the exercise.
35+
36+
## Course design rule
37+
38+
The learning loop is:
39+
40+
> **LEARN → PREDICT → DO → INSPECT → BREAK/RECOVER → EXPLAIN → PROVE**
41+
42+
Not every lesson needs every stage as a heading, but major capabilities should eventually require evidence rather than passive reading.

0 commit comments

Comments
 (0)