Skip to content

Commit c70fc3b

Browse files
authored
docs: add contributor entry path
Closes #13.
1 parent 4632803 commit c70fc3b

1 file changed

Lines changed: 43 additions & 2 deletions

File tree

CONTRIBUTING.md

Lines changed: 43 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,47 @@ Thank you for considering a contribution. DRP is a specification first and
44
a piece of code second, so changes are evaluated against the spec, not just
55
the implementation.
66

7+
## Start here
8+
9+
If you are new to DRP, start with small contributions that improve clarity
10+
before changing protocol behavior.
11+
12+
Good first contribution types:
13+
14+
1. **Examples** - add a small valid DRP record for a realistic decision.
15+
2. **Invalid fixtures** - add a focused invalid case that the validator should reject.
16+
3. **FAQ improvements** - clarify a confusing field, status, or rule.
17+
4. **Use-case notes** - explain how DRP applies to a concrete workflow.
18+
5. **CLI docs** - improve copy-paste commands, output examples, or troubleshooting.
19+
6. **Comparison docs** - explain how DRP relates to adjacent practices or tools.
20+
21+
A good first PR should be small, easy to review, and linked to one issue.
22+
23+
## Contributor path
24+
25+
DRP contributions usually fall into four levels:
26+
27+
| Level | Contribution type | Expected files |
28+
|---|---|---|
29+
| 1 | Documentation clarification | `README.md`, `docs/*.md` |
30+
| 2 | New examples or fixtures | `examples/`, `fixtures/` |
31+
| 3 | Validator behavior | `tools/drp_validator.py`, `tests/`, fixtures |
32+
| 4 | Protocol semantics | `docs/SPEC.md`, schema, validator, tests, changelog |
33+
34+
For first-time contributors, Level 1 and Level 2 are the best entry points.
35+
Level 3 and Level 4 should include tests and clear spec references.
36+
37+
## Before opening a PR
38+
39+
Please check:
40+
41+
- the change has a clear purpose;
42+
- the PR is focused on one topic;
43+
- docs are updated when behavior changes;
44+
- tests are updated when validation behavior changes;
45+
- new examples are small and readable;
46+
- invalid fixtures fail for the reason their filename suggests.
47+
748
## Ground rules
849

950
1. **The spec is normative.** `docs/SPEC.md` defines the protocol. Code,
@@ -60,8 +101,8 @@ positive fixture (valid) and one negative fixture (invalid).
60101

61102
## What counts as a breaking change
62103

63-
A change is **breaking** and requires a major version bump after `1.0.0`
64-
or a prominent note before then if it can cause a previously valid
104+
A change is **breaking** -- and requires a major version bump after `1.0.0`
105+
or a prominent note before then -- if it can cause a previously valid
65106
record to be rejected or a previously rejected record to be accepted.
66107
Concretely:
67108

0 commit comments

Comments
 (0)