Contributing

What you can contribute

You’re welcome to contribute:

Before you start

1) Pick the right target: ED vs TR

2) Check module stability

How to propose a change

Step A: File or find an issue

Create an issue that includes:

Step B: Submit a pull request

A PR should:

Spec writing rules

Normative vs informative text

Use these words carefully:

Everything else is informative guidance.

Keep Core small

Core should stay readable and minimal:

One name for one concept

Avoid introducing synonyms across modules. If you must rename:

Examples policy

Examples are treated as test fixtures, not marketing diagrams.

A good example:

Avoid examples that quietly violate Core/Serialization rules.

Serialization and schema contributions

If you modify any of these, update the related artifacts:

If your repo contains JSON Schema or validation tooling, keep it aligned with normative text. If a mismatch exists, the spec text wins until updated.

Profiles and extensions

If your change adds new optional fields:

Review checklist (for contributors)

Before requesting review, confirm:

How reviews work

Reviewers look for:

Editors may request changes, split PRs, or ask for additional examples.

Attribution

Contributions are credited through the repository history (issues and PRs). If you want explicit acknowledgment in a credits file, propose it via issue.

Security and privacy notes for runtime proposals

If your contribution touches runtime data:

Where to ask questions