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, JavaScript js/mini.js) deben mantenerse
de acuerdo: cualquier cambio en las reglas léxicas (codec.py) necesita el cambio
espejo en mini.js, una actualización de la spec en SPEC.md y un fixture que lo
ejercite. 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, JavaScript js/mini.js) must stay
in agreement: any change to the lexical rules (codec.py) needs the mirror
change in mini.js, a spec update in SPEC.md, and a fixture that exercises
it. 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.