CIP authoring
Use this workflow when a task creates, restructures, or reviews a CIP.
Read the sources
- Read
cips/cip-001.mdfor the current CIP process. - Read
cips/cip-template.mdfor the required metadata and sections. - Read one or two nearby CIPs of the same type.
- Treat those repository files as authoritative when they differ from this workflow.
Create a proposal
- Copy the structure from
cips/cip-template.md. - Use
XXas the CIP number until an editor assigns a number. - Name the file
cip-draft_title_abbrev.mduntil it receives a number. - Complete each applicable metadata field.
- Remove template comments and unused optional fields or sections.
- Keep the title at 44 characters or fewer.
- Include a substantive
Security Considerationssection. - Include the CC0 copyright statement.
Edit or review a proposal
Check that:
- The metadata matches the document and uses an ISO 8601 creation date.
typeandcategoryuse values allowed by the template.requireslists each CIP referenced as a dependency in the specification.- The abstract summarizes the specification without adding requirements.
- The motivation explains the problem, while the specification defines the solution precisely enough for interoperable implementations.
- Normative key words follow RFC 2119 and RFC 8174 when used.
- Parameter changes are summarized and account for CIP-13 when applicable.
- Backward compatibility and security consequences are explicit.
- Test cases do not introduce requirements absent from the specification.
- External resources comply with the CIP process.
Do not silently change technical intent. Flag ambiguity for the author or editor when a safe correction is not clear.
Publish a numbered CIP
When an editor assigns a number:
- Rename the file to
cips/cip-###.mdwith three digits. - Replace the draft number in its metadata.
- Add the CIP to
cips/SUMMARY.mdin numeric order. - Add the CIP to the table in
cips/README.md. - Update relative references affected by the rename.
Validate
Run:
markdownlint --config .markdownlint.yaml '**/*.md'
mdbook build
Inspect the final diff for unrelated formatting changes and generated files.