Koder Design — Code facet — Languages sub-facet

roadmap

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 Koda koda-style.kmd ✅ shipped (#035) Linguagem core da Stack; specs Visual/Code já dependem
2 KQL kql-style.kmd future Quando KQL ganhar 2º consumidor além do design-time
3 kscript kscript-style.kmd future Quando spec do kscript estabilizar (atualmente em research)
4 Go go-style.kmd future Prioridade alta — usado pelo monorepo desde Phase 1 (koder-flow, koder-jet, design-gen, kdb-gateway, …)
5 Dart dart-style.kmd future Prioridade alta — usado pelo koder_kit, todos apps mobile/desktop
6 Rust rust-style.kmd future Usado pelo engines/kodec, infra/data/kdb core
7 Python python-style.kmd future Usado em scripts de tooling, generators auxiliares
8 JS/TS js-ts-style.kmd future Usado em landings (vanilla JS), koder_web_kit (TS), browser tooling
9 Shell (bash) shell-style.kmd future Usado em hooks meta/context/claude/hooks/, audit scripts
10 SQL 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:

  1. Indentação e naming — overrides do default cross-lang

    (per code/indentation.kmd e code/naming.kmd)

  2. Token grammar — tabela mapeando tokens da linguagem pros

    tokens semânticos de themes/color-schemes.kmd

  3. Order de declarações em arquivo
  4. Order dentro de classestructmodule
  5. Doc comments — formato canônico (Javadocdartdocgodoc/…)
  6. Importsuserequire — overrides do default (code/imports.kmd)
  7. Anti-patterns recorrentes específicos da linguagem
  8. Linter config canônica — link pra template em

    code/linter-configs/<lang>.template.<ext>

  9. Cross-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.kmd
  • meta/docs/stack #NNN — code/languages/dart-style.kmd
  • meta/docs/stack #NNN — code/languages/rust-style.kmd
  • meta/docs/stack #NNN — code/languages/python-style.kmd
  • meta/docs/stack #NNN — code/languages/js-ts-style.kmd
  • meta/docs/stack #NNN — code/languages/shell-style.kmd
  • meta/docs/stack #NNN — code/languages/sql-style.kmd
  • meta/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
  • code/README.md — facet Code overview
  • themes/color-schemes.kmd — render-side dos tokens
  • policies/design-governance.kmd — review process
  • engines/lang/<lang>/policies/ — policies específicas da linguagem