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
gitbinary 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.