Skip to content

Commit dbb6acc

Browse files
committed
allow for multi-file spec formats
1 parent c082720 commit dbb6acc

1 file changed

Lines changed: 20 additions & 4 deletions

File tree

CONTRIBUTING.md

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,25 @@ that address issues outside the core GraphQL specifications.
2020

2121
Each `GAP-NNNN` folder must include:
2222

23-
- `DRAFT.md` — the working document of the proposal/specification, written in
24-
[`spec-md`](https://spec-md.com/) format
23+
- `DRAFT.md` or `DRAFT/` — the working document of the proposal/specification,
24+
written in [`spec-md`](https://spec-md.com/) format (see below)
2525
- `README.md` — a brief overview, why it exists, current status, challenges,
2626
drawbacks, and related resources/prior art (written in GitHub Flavoured
2727
Markdown)
2828
- `metadata.yml` — maintainers, status, and related metadata
2929

30+
#### Single-file vs split-file format
31+
32+
Specifications may be authored as either:
33+
34+
- **Single-file**: A single `DRAFT.md` file containing the entire specification.
35+
- **Split-file**: A `DRAFT/` directory with an `Index.md` entry point that may
36+
include other files. This is useful for larger specifications that benefit
37+
from being organized into multiple sections.
38+
39+
For split-file specs, the `DRAFT/index.md` file serves as the main entry point
40+
and should use spec-md's import syntax to include other files as needed.
41+
3042
#### `metadata.yml`
3143

3244
Required fields:
@@ -67,11 +79,15 @@ by the TSC. The authors are responsible for guiding contribution to the GAP.
6779
6880
### Versioning
6981
70-
To release a version of a GAP, copy the current `DRAFT.md` into a `versions`
71-
folder named for the year and month of release:
82+
To release a version of a GAP, copy the current draft into a `versions` folder
83+
named for the year and month of release:
7284

7385
```bash
86+
# Single-file format
7487
cp GAP-NNNN/DRAFT.md GAP-NNNN/versions/YYYY-MM.md
88+
89+
# Split-file format
90+
cp -r GAP-NNNN/DRAFT GAP-NNNN/versions/YYYY-MM
7591
```
7692

7793
Rules:

0 commit comments

Comments
 (0)