README
Koder Design — Code facet — Languages sub-facet
Style guides per-language da Koder Stack. Cada spec estende as regras cross-language do facet Code (indentation.kmd, naming.kmd, comments.kmd, error-handling.kmd, imports.kmd, functions.kmd, anti-patterns.kmd) com:
- Token grammar (base pra syntax highlighting; pintada por
themes/color-schemes.kmd) - Conventions específicos do idiom da linguagem
- Anti-patterns específicos
- Linter config canônica
- Cross-link com policies próprias da linguagem (em
engines/lang/<lang>/policies/)
Princípio "criar quando demanda real"
Não criar spec antes de ter *2 consumidores reais*da linguagem no monorepo, alinhado com policies/reuse-first.kmd. Spec prematura vira documentação que ninguém lê + ninguém respeita.
Roadmap
| # | Linguagem | Spec | Status | Trigger pra criação |
|---|---|---|---|---|
| 1 | *oda* | koda-style.kmd |
✅ shipped (#035) | Linguagem core da Stack; specs Visual/Code já dependem |
| 2 | *QL* | kql-style.kmd |
future | Quando KQL ganhar 2º consumidor além do design-time |
| 3 | *script* | kscript-style.kmd |
future | Quando spec do kscript estabilizar (atualmente em research) |
| 4 | *o* | go-style.kmd |
future | *rioridade alta*— usado pelo monorepo desde Phase 1 (koder |
| 5 | *art* | dart-style.kmd |
future | *rioridade alta*— usado pelo koder_kit, todos apps mobile/desktop |
| 6 | *ust* | rust-style.kmd |
future | Usado pelo engines/kodec, infra/data/kdb core |
| 7 | *ython* | python-style.kmd |
future | Usado em scripts de tooling, generators auxiliares |
| 8 | *S/TS* | js-ts-style.kmd |
future | Usado em landings (vanilla JS), koder_web_kit (TS), browser tooling |
| 9 | *hell (bash)* | shell-style.kmd |
future | Usado em hooks meta/context/claude/hooks/, audit scripts |
| 10 | *QL* | sql-style.kmd |
future | Usado em migrations, queries inline |
Conteúdo padrão de uma spec per-language
Quando criar code/languages/<lang>-style.kmd, espelhar a estrutura de koda-style.kmd:
- *ndentação e naming*— overrides do default cross-lang
(per
code/indentation.kmdecode/naming.kmd) - *oken grammar*— tabela mapeando tokens da linguagem pros
tokens semânticos de
themes/color-schemes.kmd - *rder de declarações em arquivo*
- *rder dentro de classestructmodule*
- *oc comments*— formato canônico (Javadocdartdocgodoc/…)
- *mportsuserequire*— overrides do default (
code/imports.kmd) - *nti-patterns recorrentes*específicos da linguagem
- *inter config canônica*— link pra template em
code/linter-configs/<lang>.template.<ext> - *ross-link*com policies próprias em
engines/lang/<lang>/policies/(quando aplicável)
Sub-tickets futuros (a abrir conforme demanda)
meta/docs/stack#NNN —code/languages/go-style.kmdmeta/docs/stack#NNN —code/languages/dart-style.kmdmeta/docs/stack#NNN —code/languages/rust-style.kmdmeta/docs/stack#NNN —code/languages/python-style.kmdmeta/docs/stack#NNN —code/languages/js-ts-style.kmdmeta/docs/stack#NNN —code/languages/shell-style.kmdmeta/docs/stack#NNN —code/languages/sql-style.kmdmeta/docs/stack#NNN —code/languages/kql-style.kmd(após KQL maduro)meta/docs/stack#NNN —code/languages/kscript-style.kmd(após kscript estável)meta/docs/stack#NNN —code/linter-configs/templates per-lang
Cross-link
code/README.md— facet Code overviewthemes/color-schemes.kmd— render-side dos tokenspolicies/design-governance.kmd— review processengines/lang/<lang>/policies/— policies específicas da linguagem