Contributing to the Open Character Format
Thanks for helping. Start with AGENTS.md: it lists where things live, the commands, and the rules. This file covers what every contribution needs.
Developer Certificate of Origin (DCO)
Section titled “Developer Certificate of Origin (DCO)”Every commit must be signed off, confirming you wrote it or otherwise have the right to submit it under the project’s licenses, per the Developer Certificate of Origin:
git commit -s -m "Add orc-2e longsword"This adds a Signed-off-by: Your Name <you@example.com> line. There is no contributor license
agreement: you keep your copyright and license your contribution under the licenses below.
Licenses
Section titled “Licenses”- Code, spec, schemas and tests: Apache 2.0.
- Content packs: every pack declares its license in
pack.yaml. Original packs useCC0-1.0(seepacks/LICENSE). Packs derived from licensed material keep that license and carry its requiredcreditline (CC-BY and ORC packs must have one) and any other notices it requires innotices(ORC packs must haveorc,reserved-materialandexpressly-designated; OGL packsogl-licenseandsection-15). Packs for games that aren’t openly licensed may only carry mechanics (license: mechanics-only): no rules text, flavor text or logos; the contributors’ own work in them is CC0, and they carry any credit or notices their source asks for. - Every pack has a
LICENSEfile with its terms, credit and notices, and itspackage.jsonnames it (SEE LICENSE IN LICENSE, or the SPDX identifier for CC-BY packs); the bundle’sLICENSErepeats every pack’s credit and notices.pnpm testchecks both againstpack.yaml. - Don’t submit copyrighted text you don’t have the right to share. Translating copyrighted text is still copying it.
Making a change
Section titled “Making a change”- Read the relevant spec chapters (
packages/spec/docs/). - Make the change; one content item per file.
- Run
pnpm check(lint, typecheck, tests,pnpm validate), andpnpm releaseandpnpm build:websitewhen you change packs, scripts or docs. - Open a pull request. CODEOWNERS routes review to the spec’s or the game’s maintainers.
Proposing a spec change
Section titled “Proposing a spec change”Spec changes start as a GitHub issue, before any pull request. Describe:
- What you were modeling: the game, the rule, and where it appears.
- What’s missing: what the format can’t express, or expresses badly.
- Your workaround, if you found one, and why it falls short.
- Options: the changes you see, with their trade-offs.
Open questions and ideas that aren’t a concrete gap yet go in GitHub Discussions. Once the maintainers agree on a change, it lands as a pull request that updates the spec docs, schemas, conformance tests and reference engine together.
Takedowns
Section titled “Takedowns”If you are a rights holder and believe material in this repository infringes your rights, open an issue or email info@pixelqueue.io; the material will be reviewed and removed where appropriate.
Code of conduct
Section titled “Code of conduct”This project follows the Contributor Covenant.