wca 0.47.0

The tool to make CLI ( commands user interface ). It is able to aggregate external binary applications, as well as functions, which are written in your language.
meta:
  generated: 2026_04_27
  via: typed_reference

nodes:
  - id: feature/001
    file: feature/001_command_pipeline.md
    label: Command Pipeline
    entity: feature
  - id: feature/002
    file: feature/002_fluent_builder.md
    label: Fluent Builder
    entity: feature
  - id: feature/003
    file: feature/003_type_system.md
    label: Type System
    entity: feature
  - id: feature/004
    file: feature/004_help_system.md
    label: Help System
    entity: feature
  - id: feature/005
    file: feature/005_command_routing.md
    label: Command Routing
    entity: feature
  - id: feature/006
    file: feature/006_context_sharing.md
    label: Context Sharing
    entity: feature
  - id: feature/007
    file: feature/007_fuzzy_suggest.md
    label: Fuzzy Suggest
    entity: feature
  - id: api/001
    file: api/001_commands_aggregator.md
    label: Commands Aggregator
    entity: api
  - id: api/002
    file: api/002_grammar.md
    label: Grammar
    entity: api
  - id: api/003
    file: api/003_verifier.md
    label: Verifier
    entity: api
  - id: api/004
    file: api/004_executor.md
    label: Executor
    entity: api
  - id: api/005
    file: api/005_input.md
    label: Input
    entity: api
  - id: invariant/001
    file: invariant/001_dot_prefix_required.md
    label: Dot Prefix Required
    entity: invariant
  - id: invariant/002
    file: invariant/002_colon_property_syntax.md
    label: Colon Property Syntax
    entity: invariant
  - id: invariant/003
    file: invariant/003_bool_accepted_values.md
    label: Bool Accepted Values
    entity: invariant
  - id: invariant/004
    file: invariant/004_help_no_execute.md
    label: Help No Execute
    entity: invariant
  - id: invariant/005
    file: invariant/005_routine_required.md
    label: Routine Required
    entity: invariant

edges:
  # feature/001 ↔ api/001
  - from: feature/001
    to: api/001
    via: typed_reference
  - from: api/001
    to: feature/001
    via: typed_reference
  # feature/001 ↔ feature/002
  - from: feature/001
    to: feature/002
    via: typed_reference
  - from: feature/002
    to: feature/001
    via: typed_reference
  # feature/001 ↔ invariant/001
  - from: feature/001
    to: invariant/001
    via: typed_reference
  - from: invariant/001
    to: feature/001
    via: typed_reference
  # feature/001 ↔ invariant/002
  - from: feature/001
    to: invariant/002
    via: typed_reference
  - from: invariant/002
    to: feature/001
    via: typed_reference
  # feature/002 ↔ api/001
  - from: feature/002
    to: api/001
    via: typed_reference
  - from: api/001
    to: feature/002
    via: typed_reference
  # feature/002 ↔ invariant/005
  - from: feature/002
    to: invariant/005
    via: typed_reference
  - from: invariant/005
    to: feature/002
    via: typed_reference
  # feature/003 ↔ api/002
  - from: feature/003
    to: api/002
    via: typed_reference
  - from: api/002
    to: feature/003
    via: typed_reference
  # feature/003 ↔ invariant/003
  - from: feature/003
    to: invariant/003
    via: typed_reference
  - from: invariant/003
    to: feature/003
    via: typed_reference
  # feature/004 ↔ feature/005
  - from: feature/004
    to: feature/005
    via: typed_reference
  - from: feature/005
    to: feature/004
    via: typed_reference
  # feature/004 ↔ invariant/004
  - from: feature/004
    to: invariant/004
    via: typed_reference
  - from: invariant/004
    to: feature/004
    via: typed_reference
  # feature/005 ↔ api/004
  - from: feature/005
    to: api/004
    via: typed_reference
  - from: api/004
    to: feature/005
    via: typed_reference
  # feature/005 ↔ invariant/001
  - from: feature/005
    to: invariant/001
    via: typed_reference
  - from: invariant/001
    to: feature/005
    via: typed_reference
  # feature/005 ↔ invariant/004
  - from: feature/005
    to: invariant/004
    via: typed_reference
  - from: invariant/004
    to: feature/005
    via: typed_reference
  # feature/006 ↔ api/004
  - from: feature/006
    to: api/004
    via: typed_reference
  - from: api/004
    to: feature/006
    via: typed_reference
  # feature/006 ↔ invariant/005
  - from: feature/006
    to: invariant/005
    via: typed_reference
  - from: invariant/005
    to: feature/006
    via: typed_reference
  # feature/007 ↔ api/003
  - from: feature/007
    to: api/003
    via: typed_reference
  - from: api/003
    to: feature/007
    via: typed_reference
  # api/001 ↔ api/005
  - from: api/001
    to: api/005
    via: typed_reference
  - from: api/005
    to: api/001
    via: typed_reference
  # api/002 ↔ invariant/003
  - from: api/002
    to: invariant/003
    via: typed_reference
  - from: invariant/003
    to: api/002
    via: typed_reference
  # api/002 ↔ invariant/005
  - from: api/002
    to: invariant/005
    via: typed_reference
  - from: invariant/005
    to: api/002
    via: typed_reference
  # api/003 ↔ invariant/001
  - from: api/003
    to: invariant/001
    via: typed_reference
  - from: invariant/001
    to: api/003
    via: typed_reference
  # api/004 ↔ invariant/004
  - from: api/004
    to: invariant/004
    via: typed_reference
  - from: invariant/004
    to: api/004
    via: typed_reference
  # api/004 ↔ invariant/005
  - from: api/004
    to: invariant/005
    via: typed_reference
  - from: invariant/005
    to: api/004
    via: typed_reference
  # api/005 ↔ invariant/002
  - from: api/005
    to: invariant/002
    via: typed_reference
  - from: invariant/002
    to: api/005
    via: typed_reference

components:
  - id: 1
    label: main
    size: 17
    isolated: false
    nodes:
      - feature/001
      - feature/002
      - feature/003
      - feature/004
      - feature/005
      - feature/006
      - feature/007
      - api/001
      - api/002
      - api/003
      - api/004
      - api/005
      - invariant/001
      - invariant/002
      - invariant/003
      - invariant/004
      - invariant/005