docs / ContribuirContributing
Contribuir#
Gracias por ayudar a crecer .mini. Hay tres tipos de contribución.
Una familia nueva (la más bienvenida)#
- Lee FORKING.md.
mini new-fork <prefix> [--from <parent>] --add ...y edita el contrato.- Añade
fixtures/valid.mini,fixtures/canonical.json,fixtures/escaping.mini,fixtures/escaping.jsony los casos negativos. - Escribe
README.md(propósito, tabla de estructura, ejemplo) —benchmark/make_forks.py::write_readmemuestra la forma esperada. - Ejecuta
mini check-forks,python -m unittest discover -s tests,node tests/test_js_port.mjs. - Abre un PR titulado
fork: <prefix> — <name>. Añade tu familia al benchmark dándole 12 registros base enbenchmark/domains.py(opcional pero apreciado).
Nombres de prefijo: cortos, en minúsculas, únicos. No reutilices un prefijo con una estructura incompatible — eso es un prefijo nuevo.
Cambios en la implementación#
Ambas implementaciones (Python src/minifmt, TypeScript ts/src) deben mantenerse
de acuerdo: cualquier cambio en las reglas necesita el cambio espejo en la otra
implementación, una actualización de la spec en SPEC.md y SPEC.es.md, un caso de
conformidad en conformance/generate.py y, si el cambio es una decisión, un ADR en
docs/adr/. js/mini.js (el motor del playground) se genera desde ts/src con
node --no-warnings tools/build_js.mjs; no se edita a mano. Los códigos de error son
parte del contrato público; no los renumeres.
Benchmark y validación#
Reporta tokenizador, corpus, serializadores y línea base de cada cifra nueva.
Conserva las salidas crudas de modelos bajo generative/raw/ para que cada figura
siga siendo trazable. TOON debe producirse con el codificador oficial vendido.
Código de conducta#
Sé amable, preciso y reproducible.
Contributing#
Thanks for helping .mini grow. There are three kinds of contribution.
A new fork (most welcome)#
- Read FORKING.md.
mini new-fork <prefix> [--from <parent>] --add ...and edit the contract.- Add
fixtures/valid.mini,fixtures/canonical.json,fixtures/escaping.mini,fixtures/escaping.jsonand the negative cases. - Write
README.md(purpose, layout table, example) —benchmark/make_forks.py::write_readmeshows the expected shape. - Run
mini check-forks,python -m unittest discover -s tests,node tests/test_js_port.mjs. - Open a PR titled
fork: <prefix> — <name>. Add your fork to the benchmark by giving it 12 base records inbenchmark/domains.py(optional but appreciated).
Prefix naming: short, lowercase, unique. Do not reuse a prefix with an incompatible layout — that is a new prefix.
Implementation changes#
Both implementations (Python src/minifmt, TypeScript ts/src) must stay in
agreement: any change to the rules needs the mirror change in the other
implementation, a spec update in SPEC.md and SPEC.es.md, a conformance case
in conformance/generate.py and, when the change is a decision, an ADR in
docs/adr/. js/mini.js (the playground engine) is generated from ts/src with
node --no-warnings tools/build_js.mjs; never edit it by hand. Error codes are
part of the public contract; do not renumber them.
Benchmark and validation#
Please report tokenizer, corpus, serializers and baseline for any new number.
Keep raw model outputs under generative/raw/ so every figure stays
traceable. TOON must be produced with the vendored official encoder.
Code of conduct#
Be kind, precise and reproducible.