Kensa

Features

Source Control (Git)

Updated for v0.16.0Edit on GitHub

Because a Kensa project is a git repository, version control is a first-class panel inside the IDE - a full GitHub-Desktop-style experience, so you rarely need a separate git client. Your test cases get committed, branched, reviewed, and pushed like any code.

Changes tab

  • Lists modified, staged, and untracked files.
  • Stage / unstage per file or all at once.
  • Discard per file, or discard all working-tree changes (including untracked).
  • GitHub-Desktop-style checkboxes - a checkbox per row and a per-section select-all, with a bulk Stage / Unstage / Discard bar for the ticked subset. Built to handle hundreds of changed files (e.g. a big import).
  • Commit with a free-form message; amend the previous commit (message prefilled); undo the previous commit (changes kept staged).

History tab

  • An infinite-scroll commit log.
  • Click any commit to open its diff in the line-numbered, syntax-highlighted viewer.

Sync bar

One contextual primary button that adapts to repository state:

Publish → Pull → Push → Fetch

…plus an overflow menu for less-common operations and a label showing the remote / upstream and ahead/behind counts.

Branches

  • List, create, switch, and delete branches.
  • Remote branches (remote-tracking branches with no local copy) are listed separately; checking one out creates a local tracking branch and switches to it.
  • Auto-fetch on open keeps the list current.
  • Dirty-tree switches surface a clear error to prevent data loss.
  • Fresh repos with no commits show the real default branch name (main / master) with a "(no commits yet)" hint.

Stash

Save (with an optional message and "include untracked"), list, pop, and drop stashes.

Diff viewer

Old / new line-number gutters and colored +/- lines, used for both working-tree diffs and per-commit diffs.

Repository-state banners

  • "Initialize repository" CTA when the project folder isn't a git repo yet.
  • "Git is not installed" banner when the system git binary is missing - local operations keep working without it.

Authentication

Remote operations (push/pull/fetch/publish, log, stash) shell out to your system git, so whatever credential manager or SSH agent you already use handles authentication transparently. Kensa never stores credentials. Local operations (status, stage, commit, diff, branch CRUD, undo, amend) use libgit2 internally.