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.yamlrenders with the right input control for its type:text/textarea- single- and multi-line inputsselect/multiselect- dropdownsnumber- numeric inputdate- date pickercheckbox- boolean toggleurl- 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.