Kensa

Features

Test Case Editor

Updated for v0.16.0Edit on GitHub

A unified, single-screen editor for one test case at a time. Everything about the case - metadata, steps, attachments, description - is edited inline, with no modals to dig through. Auto-save runs on a 500 ms debounce; Cmd/Ctrl+S forces an immediate save.

Frontmatter pills

The top of the editor renders the case's metadata as inline pill controls, not a separate form:

  • Title - large editable text field.
  • Priority and Status - dropdown pills whose options and colors come from the project schema and badge config.
  • Tags - editable chips; add, remove, and reuse existing tags.
  • Custom fields - every field defined in .tms/schema.yaml renders with the right input control for its type:
    • text / textarea - single- and multi-line inputs
    • select / multiselect - dropdowns
    • number - numeric input
    • date - date picker
    • checkbox - boolean toggle
    • url - link input with format validation
  • Required-field validation blocks save until satisfied, with inline error messages - no silent lossy saves.

Preconditions

A multi-line Markdown textarea above the steps, for the state the system must be in before the case runs.

Steps editor

A structured, row-based editor (not free text):

  • Each step is a row with its own action, expected result (optional), and per-step attachments.
  • Rows are drag-and-drop reorderable.
  • Add and remove steps inline.
  • The structure serializes to a clean numbered Markdown list with - Expected: sub-bullets, so the raw file reads naturally on GitHub.

Description editor

A Markdown textarea below the steps for free-form notes. Right-click opens a formatter menu covering bold, italic, inline code, strikethrough, headings (H2/H3), lists, links, and tables. An Edit / Preview toggle renders a read-only GitHub-flavored Markdown preview - while the body stays raw Markdown on disk (no lossy WYSIWYG round-trip).

Attachments

  • Drag-and-drop files onto the whole case or onto an individual step.
  • Images render inline (thumbnails; click to view).
  • Non-image files (PDF, MP4, ZIP, HAR, LOG, CSV, JSON, …) render as clickable chips that open in the OS file manager.
  • Files are stored under .tms/attachments/<case-id>/ and linked with relative Markdown paths. Filename collisions are auto-renamed (report-1.pdf).

Case actions

  • Duplicate (Cmd/Ctrl+D) - copy with a fresh id.
  • Soft-delete (Cmd/Ctrl+Backspace) - moves to .tms/trash/, recoverable.
  • Save (Cmd/Ctrl+S) - immediate write (auto-save also runs on debounce).
  • Legacy fields panel - if a custom field is removed from the schema, existing values aren't destroyed; they surface here, clearly marked as legacy data, and are preserved verbatim on every save.

Live external updates

A native filesystem watcher means edits made outside Kensa - by an AI agent in the terminal, by kensa CLI commands, or by a git checkout - are picked up live in the open editor.