Skip to content

kit v0.4.0

Choose a tag to compare

@dhamidi dhamidi released this 24 Jul 09:21
· 5 commits to main since this release
04412b2

CLI usability release

CLI basics

  • kit version, kit --version / -v, and kit --help / -h now work and exit 0.

Argument parsing

  • Type.Boolean() schema fields are bare flags: --flag enables, --no-flag or --flag=false negates.
  • Type.Number() / Type.Integer() (and union) CLI values are coerced before schema validation — no more hand-rolled Type.Union([Type.Number(), Type.String()]) in providers.
  • Schema default: metadata is applied during parsing and shown in --help as (default: …).

Generate

  • Every component type now accepts Kit-injected --description and --files flags; an explicit --description overrides the provider-generated one. Custom parse() implementations never see these flags.
  • kit generate ... --help groups options via kit: { group: 'Name' } schema metadata, inherits descriptions for nested fields, and documents the plan lifecycle (plans execute immediately unless --dry-run; use kit plan resume after interruptions).

Provider API

  • parse() is now optional — Kit falls back to its schema-derived parser.
  • Wrong-shaped parse() results and exceptions from describe() / create() surface as clean CLI errors naming the provider, type, and hook (set KIT_DEBUG=1 for full stack traces).

Output

  • TableFormatter is width-aware: capped to the terminal (fallback 120 columns), with per-column maxWidth / flex hints and … truncation. kit component list --wide disables truncation.
  • New KeyValueFormatter renders wide records as definition lists; kit component show uses it.

REPL

  • Bare kit repl starts the interactive REPL; kit repl help documents subcommands, session semantics, and examples.
  • kit repl do auto-creates a session when needed, kit repl stop clears the remembered session, and evaluation failures exit 1 with clean stacks (no more REPL server frames).
  • Session ids must be 8 hex characters, so 8-character expressions like kit.Type no longer misparse as session ids.