Skip to content

Roadmap

Last updated: 2026-02-22

1

LLM Skill

Complete

Domain modeling skill for LLM-based coding tools. Teaches .ddd syntax without requiring a compiler.

2

Grammar & Parser

Complete

Complete Langium grammar with 28 AST types. 37 parser tests across 9 files.

3

Core Validation

Complete

Static verification rules operating on the AST. Exhaustiveness, evolve totality, guard consistency.

  • Complete
    Expression grammar Replace opaque ExpressionFragment with operator-precedence expression grammar. Unblocks guard consistency, postcondition verification, and multi-field evolve.
  • Complete
    Exhaustiveness check Verify all Command × State pairs are covered in decide clauses. 54 tests (unit, property-based, edge cases), 100% mutation score.
  • Complete
    Evolve totality check Verify all Event × State pairs are handled in evolve clauses. 22 tests (unit, property-based, edge cases).
  • Complete
    Guard consistency Detect contradictory guards leading to unreachable code
  • Complete
    Error messages with positions Actionable diagnostics with file:line:column and fix suggestions
  • Complete
    Dead code detection Detect commands and events declared but not referenced by any decider. 6 property-based tests, 100% mutation score.
  • Complete
    Terminal state validation Verify no decide clause targets a terminal state, and at least one non-terminal state exists per decider. Initial state is grammar-enforced (ADR-020).
  • Complete
    Postcondition verification Static verification that ensure postconditions are derivable from evolve definitions
4

Emmett Generator

Complete

TypeScript/Emmett code generation from .ddd files. Smart Constructors, snapshot tests.

5

CLI

Active

Command-line interface for validation and code generation.

  • Complete
    validate command weltenwanderer validate <pattern...> — parse and validate .ddd files matching glob patterns
  • Complete
    generate command weltenwanderer generate <file.ddd> --target emmett — produce TypeScript output
6

Language Server

Planned

Full LSP implementation with semantic features beyond Langium defaults.

Deferred

Dependency Graph

graph LR
  skill_docs["Skill documentation"]:::complete
  skill_proposal["Feature proposal template"]:::complete
  langium_grammar["Langium grammar definition"]:::complete
  parser_tests["Parser test suite"]:::complete
  lsp_integration["LSP integration"]:::complete
  expression_grammar["Expression grammar"]:::complete
  exhaustiveness_check["Exhaustiveness check"]:::complete
  evolve_totality["Evolve totality check"]:::complete
  guard_consistency["Guard consistency"]:::complete
  error_messages["Error messages with positions"]:::complete
  dead_code_detection["Dead code detection"]:::complete
  terminal_state_validation["Terminal state validation"]:::complete
  postcondition_verification["Postcondition verification"]:::complete
  emmett_codegen["Emmett code generation"]:::complete
  smart_constructors["Smart Constructors"]:::complete
  snapshot_tests["Generator snapshot tests"]:::complete
  cli_validate["validate command"]:::complete
  cli_generate["generate command"]:::complete
  semantic_tokens["Semantic token provider"]:::planned
  code_actions["Code actions"]:::planned
  code_lens["Code lens"]:::planned
  document_symbols["Document symbols"]:::planned
  folding_ranges["Folding ranges"]:::planned
  formatting["Document formatting"]:::planned
  rename["Rename symbol"]:::planned
  signature_help["Signature help"]:::planned
  workspace_symbols["Workspace symbols"]:::planned
  vscode_extension_phase6["VS Code extension"]:::planned
  vscode_extension["VS Code extension"]:::deferred
  living_docs["Living documentation"]:::deferred
  schema_evolution["Schema evolution"]:::deferred
  flow_analysis["Flow analysis"]:::deferred
  event_model["Event Model construct"]:::deferred
  dsl_mutation_testing["DSL mutation testing"]:::deferred
  gdpr_compliance["Data classification and GDPR compliance"]:::deferred
  modular_compiler["Modular compiler architecture"]:::deferred
  source_maps["Source map support"]:::deferred
  extended_targets["Extended compile targets"]:::deferred
  lazy_generation["Lazy / JIT artifact generation"]:::deferred
  mcp_server["MCP server"]:::deferred
  web_playground["Try-it-online playground"]:::deferred
  domain_debugger["Domain-level debugger"]:::deferred
  runtime_architecture["Runtime architecture strategy"]:::deferred
  value_type_factories["Value type factory functions"]:::deferred
  delivery_formats["Additional CLI delivery formats"]:::deferred
  langium_grammar --> parser_tests
  langium_grammar --> lsp_integration
  langium_grammar --> expression_grammar
  langium_grammar --> exhaustiveness_check
  langium_grammar --> evolve_totality
  expression_grammar --> guard_consistency
  exhaustiveness_check --> error_messages
  evolve_totality --> error_messages
  langium_grammar --> dead_code_detection
  langium_grammar --> terminal_state_validation
  expression_grammar --> postcondition_verification
  exhaustiveness_check --> emmett_codegen
  evolve_totality --> emmett_codegen
  emmett_codegen --> smart_constructors
  emmett_codegen --> snapshot_tests
  error_messages --> cli_validate
  emmett_codegen --> cli_generate
  langium_grammar --> semantic_tokens
  error_messages --> code_actions
  langium_grammar --> code_lens
  langium_grammar --> document_symbols
  langium_grammar --> folding_ranges
  langium_grammar --> formatting
  langium_grammar --> rename
  langium_grammar --> signature_help
  langium_grammar --> workspace_symbols
  semantic_tokens --> vscode_extension_phase6
  code_actions --> vscode_extension_phase6
  cli_generate --> vscode_extension_phase6
  error_messages --> vscode_extension
  emmett_codegen --> living_docs
  emmett_codegen --> schema_evolution
  exhaustiveness_check --> flow_analysis
  flow_analysis --> event_model
  guard_consistency --> dsl_mutation_testing
  flow_analysis --> gdpr_compliance
  langium_grammar --> modular_compiler
  emmett_codegen --> source_maps
  emmett_codegen --> extended_targets
  emmett_codegen --> lazy_generation
  cli_validate --> mcp_server
  langium_grammar --> web_playground
  cli_validate --> web_playground
  source_maps --> domain_debugger
  emmett_codegen --> runtime_architecture
  emmett_codegen --> value_type_factories
  cli_validate --> delivery_formats
  classDef complete fill:#22c55e20,stroke:#22c55e,color:#22c55e
  classDef active fill:#eab30820,stroke:#eab308,color:#eab308
  classDef planned fill:#6b728020,stroke:#6b7280,color:#6b7280
  classDef deferred fill:#7c3aed20,stroke:#7c3aed,color:#7c3aed