docs: add product screenshots to public guides (#3126)

This commit is contained in:
Carlos Florêncio
2026-08-28 20:03:23 +00:00
committed by GitHub
parent e07a0f98e1
commit ef0afde8a2
42 changed files with 287 additions and 34 deletions
+4 -1
View File
@@ -36,6 +36,7 @@ Open source, multi-provider, no telemetry, not tied to any cloud.
- **Integrated workspace** - Built-in terminal, code editor with LSP, git changes panel, embedded vscode and chat in one IDE-like view - **Integrated workspace** - Built-in terminal, code editor with LSP, git changes panel, embedded vscode and chat in one IDE-like view
- **Kanban task management** - Drag-and-drop boards, columns, and workflow automation - **Kanban task management** - Drag-and-drop boards, columns, and workflow automation
- **Agentic workflows** - Multi-step pipelines that mix-and-match agents per step - for example, Claude Code Opus to design a plan, GitHub Copilot Sonnet to implement it, and Codex GPT 5.4 to review the changes. See [docs/workflow-tips.md](docs/workflow-tips.md) - **Agentic workflows** - Multi-step pipelines that mix-and-match agents per step - for example, Claude Code Opus to design a plan, GitHub Copilot Sonnet to implement it, and Codex GPT 5.4 to review the changes. See [docs/workflow-tips.md](docs/workflow-tips.md)
- **Automations** - Trigger agent tasks on schedules or webhooks, with configurable run destinations, context, and concurrency
- **Sub-tasks** - Agents can spawn sub-tasks that resume from the parent task's session. Useful for splitting a task that has grown too big, or producing several PRs from the same starting point. - **Sub-tasks** - Agents can spawn sub-tasks that resume from the parent task's session. Useful for splitting a task that has grown too big, or producing several PRs from the same starting point.
- **CLI passthrough** - Drop into raw agent CLI mode for direct terminal interaction with agents that support it, leveraging their full native TUI - **CLI passthrough** - Drop into raw agent CLI mode for direct terminal interaction with agents that support it, leveraging their full native TUI
- **Workspace isolation** - Git worktrees prevent concurrent agents from conflicting - **Workspace isolation** - Git worktrees prevent concurrent agents from conflicting
@@ -44,6 +45,7 @@ Open source, multi-provider, no telemetry, not tied to any cloud.
- **Runtime settings** - Executor profiles, secrets, custom prompts, utility agents, and resource metrics are configurable from Settings - **Runtime settings** - Executor profiles, secrets, custom prompts, utility agents, and resource metrics are configurable from Settings
- **Task-agent MCP** - Agents can create subtasks, target sibling repos, attach extra branches for multiple PRs, message other tasks, read conversations, and inspect related tasks - **Task-agent MCP** - Agents can create subtasks, target sibling repos, attach extra branches for multiple PRs, message other tasks, read conversations, and inspect related tasks
- **External MCP** - Manage Kandev from outside coding agents over streamable HTTP or SSE, with copyable config snippets for popular agent CLIs - **External MCP** - Manage Kandev from outside coding agents over streamable HTTP or SSE, with copyable config snippets for popular agent CLIs
- **Plugin marketplace and management** - Browse, install, update, enable, disable, and configure plugins from Settings, including MCP Explorer and the [Bitbucket plugin](https://github.com/kdlbs/kandev-plugin-bitbucket)
- **Workflow portability** - Export and import workflows as portable YAML across workspaces or Kandev installs - **Workflow portability** - Export and import workflows as portable YAML across workspaces or Kandev installs
- **Session management** - Resume and review agent conversations - **Session management** - Resume and review agent conversations
- **Shareable task snapshots** - Publish redacted task conversation snapshots as secret GitHub Gists, with preview and revoke controls - **Shareable task snapshots** - Publish redacted task conversation snapshots as secret GitHub Gists, with preview and revoke controls
@@ -63,10 +65,11 @@ We're working on **Office mode**, a feature-flagged autonomy layer for persisten
<a href="https://linear.app/"><img src="https://img.shields.io/badge/Linear-5E6AD2?style=for-the-badge&logo=linear&logoColor=white" alt="Linear"></a> <a href="https://linear.app/"><img src="https://img.shields.io/badge/Linear-5E6AD2?style=for-the-badge&logo=linear&logoColor=white" alt="Linear"></a>
<a href="https://sentry.io/"><img src="https://img.shields.io/badge/Sentry-362D59?style=for-the-badge&logo=sentry&logoColor=white" alt="Sentry"></a> <a href="https://sentry.io/"><img src="https://img.shields.io/badge/Sentry-362D59?style=for-the-badge&logo=sentry&logoColor=white" alt="Sentry"></a>
<a href="https://gitlab.com/"><img src="https://img.shields.io/badge/GitLab-FC6D26?style=for-the-badge&logo=gitlab&logoColor=white" alt="GitLab"></a> <a href="https://gitlab.com/"><img src="https://img.shields.io/badge/GitLab-FC6D26?style=for-the-badge&logo=gitlab&logoColor=white" alt="GitLab"></a>
<a href="https://azure.microsoft.com/products/devops"><img src="https://img.shields.io/badge/Azure%20DevOps-0078D7?style=for-the-badge&logo=azuredevops&logoColor=white" alt="Azure DevOps"></a>
<a href="https://slack.com/"><img src="https://img.shields.io/badge/Slack-4A154B?style=for-the-badge&logo=slack&logoColor=white" alt="Slack"></a> <a href="https://slack.com/"><img src="https://img.shields.io/badge/Slack-4A154B?style=for-the-badge&logo=slack&logoColor=white" alt="Slack"></a>
</p> </p>
Connect Kandev to the tools your team already uses — pull issues into the kanban, link tasks to PRs, and surface review activity inline. Connect Kandev to GitHub, GitLab, Jira, Linear, Sentry, and Azure DevOps to pull issues into the kanban, link tasks to PRs, and surface review activity inline. Bitbucket support is available through the [Bitbucket plugin](https://github.com/kdlbs/kandev-plugin-bitbucket).
## Supported ACP Agents ## Supported ACP Agents
+2
View File
@@ -20,6 +20,8 @@ Agent authentication is separate from repository and integration credentials.
Open **Settings > Agents** (`/settings/agents`). Kandev scans the host on which its backend runs, not the browser computer. Open **Settings > Agents** (`/settings/agents`). Kandev scans the host on which its backend runs, not the browser computer.
![Settings > Agents showing detected agent CLIs, profiles, configured status, unavailable status, update indicators, and New profile controls.](../screenshots/settings-agents.png)
The production registry currently shows Auggie, Claude, Codex, Copilot, Gemini, OpenCode, Amp, Qwen, iFlow (beta), Droid, Kilocode, Pi, Cursor, Kimi, Kiro, Qoder, Trae, `omp`, Devin, Grok, and Hermes. An entry is usable only when its executable is supported on the current platform and available to the Kandev process. Development and E2E profiles can add mock agents that are not product integrations. The production registry currently shows Auggie, Claude, Codex, Copilot, Gemini, OpenCode, Amp, Qwen, iFlow (beta), Droid, Kilocode, Pi, Cursor, Kimi, Kiro, Qoder, Trae, `omp`, Devin, Grok, and Hermes. An entry is usable only when its executable is supported on the current platform and available to the Kandev process. Development and E2E profiles can add mock agents that are not product integrations.
Hermes launches with `hermes acp`. Install the required `hermes` executable from its **Settings > Agents** card, which runs the official Hermes installer. Hermes currently supports task and workspace sessions. Office-assigned skill injection is not yet supported. Hermes launches with `hermes acp`. Install the required `hermes` executable from its **Settings > Agents** card, which runs the official Hermes installer. Hermes currently supports task and workspace sessions. Office-assigned skill injection is not yet supported.
+6
View File
@@ -39,6 +39,8 @@ See [Tasks and workflows](tasks-and-workflows.md) for event configuration and de
Open **Settings > Workspaces > _Workspace_ > Automations** (`/settings/workspace/{workspaceId}/automations`) and select **New Automation**. The top-level `/settings/automations` route redirects to, or asks you to select, a workspace. Open **Settings > Workspaces > _Workspace_ > Automations** (`/settings/workspace/{workspaceId}/automations`) and select **New Automation**. The top-level `/settings/automations` route redirects to, or asks you to select, a workspace.
![Settings > Workspaces > Default > Automations showing enabled scheduled and webhook automations, export, new automation, and run actions.](../screenshots/automation-list.png)
1. Enter a required name and optional description. 1. Enter a required name and optional description.
2. Select an agent profile and executor profile. Passthrough profiles are not offered. Worktree and Local-compatible profiles can run without a repository in a task-owned scratch workspace. 2. Select an agent profile and executor profile. Passthrough profiles are not offered. Worktree and Local-compatible profiles can run without a repository in a task-owned scratch workspace.
3. Choose the run destination: 3. Choose the run destination:
@@ -53,6 +55,8 @@ Open **Settings > Workspaces > _Workspace_ > Automations** (`/settings/workspace
8. Choose a schedule and optional GitHub condition, or switch to webhook mode. 8. Choose a schedule and optional GitHub condition, or switch to webhook mode.
9. Save, use **Run now** on the automation's page, then read what it said before widening credentials or scope. 9. Save, use **Run now** on the automation's page, then read what it said before widening credentials or scope.
![Automation editor showing repository access, run destination, context between runs, concurrency, and Save changes.](../screenshots/automation-editor.png)
The form can save an empty agent or executor selection, but launch still needs a usable profile. Scheduled, manual, webhook, and provider-triggered runs can remain repository-free. When a provider event supplies an exact repository through its established contract, Kandev uses that event context. A GitHub pull-request run with configured repository access checks out that PR's head branch and uses its base branch. The form can save an empty agent or executor selection, but launch still needs a usable profile. Scheduled, manual, webhook, and provider-triggered runs can remain repository-free. When a provider event supplies an exact repository through its established contract, Kandev uses that event context. A GitHub pull-request run with configured repository access checks out that PR's head branch and uses its base branch.
### What a firing produces ### What a firing produces
@@ -174,6 +178,8 @@ Trigger payloads are untrusted input. Do not let a PR body or webhook field sile
**Automations** in the sidebar lists the workspace's automations with a health dot. Picking one opens it. **`/automations`** is the agenda across all of them, what fires next, and the recent runs of every automation in one feed. **`/automations/<id>`** is one automation's conversation: it opens on the newest run's transcript, carries the run's title snapshot and a reply box, and groups runs as Running / Completed in a rail or mobile drawer. A selected open run exposes **Stop current run**, which cancels its exact task, session, and turn without touching another run in a shared session. Configuration is behind **Details**, because an automation is configured once and read continuously. **Automations** in the sidebar lists the workspace's automations with a health dot. Picking one opens it. **`/automations`** is the agenda across all of them, what fires next, and the recent runs of every automation in one feed. **`/automations/<id>`** is one automation's conversation: it opens on the newest run's transcript, carries the run's title snapshot and a reply box, and groups runs as Running / Completed in a rail or mobile drawer. A selected open run exposes **Stop current run**, which cancels its exact task, session, and turn without touching another run in a shared session. Configuration is behind **Details**, because an automation is configured once and read continuously.
![Kandev sidebar showing the Automations section with workspace automation shortcuts.](../screenshots/automation-sidebar.png)
`/runs` still resolves to the same places, so older links keep working. `/runs` still resolves to the same places, so older links keep working.
## Concurrency, history, and cleanup ## Concurrency, history, and cleanup
+1 -1
View File
@@ -493,7 +493,7 @@ Plugins are part of the base product and are not a runtime toggle.
The source checkout's `make dev` activates the embedded development profile, which enables Office, debug surfaces, ACP logging, and a mock agent; authentication and Claude background prompt handoff remain opt-in. Installed `run`/desktop builds select the safe production profile unless the environment explicitly opts in. E2E mock variables and routes are test-only and must never be enabled on a public deployment. The source checkout's `make dev` activates the embedded development profile, which enables Office, debug surfaces, ACP logging, and a mock agent; authentication and Claude background prompt handoff remain opt-in. Installed `run`/desktop builds select the safe production profile unless the environment explicitly opts in. E2E mock variables and routes are test-only and must never be enabled on a public deployment.
## Credentials and product settings ## Credentials and product settings
The **Unread Messages** preference in **Settings > General > Task Actions** controls the Slack-style **New** divider in session transcripts. It defaults off for each user, persists with user settings, and takes effect immediately. Enabling it also allows that user's active transcript view to advance the session read cursor. The **Unread Messages** preference in **Settings > Preferences > Task Behavior** controls the Slack-style **New** divider in session transcripts. It defaults off for each user, persists with user settings, and takes effect immediately. Enabling it also allows that user's active transcript view to advance the session read cursor.
Most integrations, executor profiles, agent profiles, MCP servers, repository settings, and UI preferences are persistent database records edited under **Settings**. They are not fields in `config.yaml`. Secret values use an encrypted secret store backed by `<home>/data/master.key`; filesystem permissions, database backups, and key backup are part of the security boundary. Most integrations, executor profiles, agent profiles, MCP servers, repository settings, and UI preferences are persistent database records edited under **Settings**. They are not fields in `config.yaml`. Secret values use an encrypted secret store backed by `<home>/data/master.key`; filesystem permissions, database backups, and key backup are part of the security boundary.
+8 -4
View File
@@ -47,7 +47,7 @@ Quick Chat supports multiple tabs, tab renaming, and **+** to open another ordin
Your chats and their names are shared by every browser and device signed in to the same Kandev instance. Starting, renaming, or closing a chat on one device updates the others, and a device that was offline catches up when it reconnects. Your chats and their names are shared by every browser and device signed in to the same Kandev instance. Starting, renaming, or closing a chat on one device updates the others, and a device that was offline catches up when it reconnects.
When **Settings > General > Task Actions > Agent-generated task titles** is enabled, an ordinary When **Settings > Preferences > Task Behavior > Agent-generated task titles** is enabled, an ordinary
Quick Chat starts with its normal provisional label and its owner agent can replace that label with a Quick Chat starts with its normal provisional label and its owner agent can replace that label with a
short title based on your first request. Structured and CLI-passthrough chats receive the title short title based on your first request. Structured and CLI-passthrough chats receive the title
instruction through their existing first-turn path. The new title appears on every connected device instruction through their existing first-turn path. The new title appears on every connected device
@@ -173,7 +173,7 @@ Open the context menu on any file or folder in the Files tree: right-click on de
Use the workbench top bar's split-editor action to open the selected session worktree in the default editor. Its menu lets you choose another configured editor. A file's **Open with** menu can also open a specific editor, copy the path, or ask the operating system to show the folder. Use the workbench top bar's split-editor action to open the selected session worktree in the default editor. Its menu lets you choose another configured editor. A file's **Open with** menu can also open a specific editor, copy the path, or ask the operating system to show the folder.
Open **Settings > General > Editors** (`/settings/general/editors`) to set a default and configure integrations. Kandev discovers these built-in desktop editors when installed: Open **Settings > Preferences > Terminal & Editors** (`/settings/preferences/terminal-editors`) to set a default and configure integrations. Kandev discovers these built-in desktop editors when installed:
- Visual Studio Code - Visual Studio Code
- Zed - Zed
@@ -193,7 +193,9 @@ Desktop editor discovery and custom commands run on the Kandev backend host. The
## Language servers ## Language servers
Language-server settings are part of **Settings > General > Editors**. Kandev currently registers servers for: ![Settings > Preferences > Terminal & Editors showing language-server cards, auto-start controls, status location, and server configuration.](../screenshots/settings-terminal-editors.png)
Language-server settings are part of **Settings > Preferences > Terminal & Editors**. Kandev currently registers servers for:
- TypeScript and JavaScript; - TypeScript and JavaScript;
- Go; - Go;
@@ -239,7 +241,9 @@ On desktop, select **+ > Terminals > New Terminal**. Parked terminal sessions ca
Do not confuse a user terminal with a CLI-passthrough agent tab: both use PTYs, but only the agent tab is the agent's native interface. `Cmd/Ctrl+J` toggles the bottom terminal area. Do not confuse a user terminal with a CLI-passthrough agent tab: both use PTYs, but only the agent tab is the agent's native interface. `Cmd/Ctrl+J` toggles the bottom terminal area.
Open **Settings > General > Terminal** (`/settings/general/terminal`) to configure: ![Settings > Preferences > Terminal & Editors showing shell, terminal font, font size, and link settings.](../screenshots/settings-terminal.png)
Open **Settings > Preferences > Terminal & Editors** (`/settings/preferences/terminal-editors`) to configure:
- preferred shell, which defaults to the system shell; the built-in choices are zsh, bash, and sh on macOS/Linux, and PowerShell (`pwsh`), Windows PowerShell, and cmd on Windows, plus a custom executable; - preferred shell, which defaults to the system shell; the built-in choices are zsh, bash, and sh on macOS/Linux, and PowerShell (`pwsh`), Windows PowerShell, and cmd on Windows, plus a custom executable;
- terminal font, with a default Menlo/Monaco-style stack; - terminal font, with a default Menlo/Monaco-style stack;
+2
View File
@@ -42,6 +42,8 @@ download requirements.
Open **Settings > Executors**, then choose **Local**, **Worktree**, **Docker**, **Sprites.dev**, or **SSH** under **Create New Profile**. Local and Worktree profiles already exist in a new database. Open **Settings > Executors**, then choose **Local**, **Worktree**, **Docker**, **Sprites.dev**, or **SSH** under **Create New Profile**. Local and Worktree profiles already exist in a new database.
![Settings > Executors showing existing Local, Worktree, and Sprites profiles plus Local, Worktree, Docker, Sprites.dev, and SSH profile creation options.](../screenshots/settings-executors.png)
<DocsVideo <DocsVideo
webm="./media/feature-guides/profile-executor-selection.webm" webm="./media/feature-guides/profile-executor-selection.webm"
mp4="./media/feature-guides/profile-executor-selection.mp4" mp4="./media/feature-guides/profile-executor-selection.mp4"
+2
View File
@@ -30,6 +30,8 @@ A task can therefore display a pull or merge request while its worktree cannot p
Select **Settings > Workspaces > _Workspace_ > Integrations**, then choose a provider. The direct routes are: Select **Settings > Workspaces > _Workspace_ > Integrations**, then choose a provider. The direct routes are:
![Settings > Workspaces > Default > Integrations showing Azure DevOps, GitHub, GitLab, Jira, Linear, and Sentry connections.](../screenshots/settings-integrations.png)
- `/settings/workspace/{workspaceId}/integrations/github` - `/settings/workspace/{workspaceId}/integrations/github`
- `/settings/workspace/{workspaceId}/integrations/gitlab` - `/settings/workspace/{workspaceId}/integrations/gitlab`
- `/settings/workspace/{workspaceId}/integrations/azure-devops` - `/settings/workspace/{workspaceId}/integrations/azure-devops`
+17 -2
View File
@@ -29,7 +29,7 @@ See [Desktop app](desktop-app.md), [CLI](cli.md), [Run as a service](run-as-a-se
## Prevent host sleep during active tasks ## Prevent host sleep during active tasks
Administrators can open **Settings > General > Task Actions** and enable Administrators can open **Settings > Preferences > Task Behavior** and enable
**Prevent host sleep while tasks run**. The install-wide setting is off by **Prevent host sleep while tasks run**. The install-wide setting is off by
default and is saved with the Kandev database. It applies only to the machine default and is saved with the Kandev database. It applies only to the machine
running the backend; it does not change executor or node power policy. running the backend; it does not change executor or node power policy.
@@ -56,6 +56,8 @@ availability policy instead. Enabling the preference is safe when moving the
database between hosts: Kandev reacquires a native request only after startup database between hosts: Kandev reacquires a native request only after startup
if the new backend can provide it and a working task still exists. if the new backend can provide it and a working task still exists.
![Settings > Preferences > Task Behavior showing task title, archive, unread message, and host sleep controls.](../screenshots/settings-task-behavior.png)
## Health and readiness ## Health and readiness
Use the top-level liveness endpoint for process supervisors: Use the top-level liveness endpoint for process supervisors:
@@ -86,6 +88,8 @@ curl -fsS http://127.0.0.1:38429/api/v1/system/health
This diagnostic checks the Git executable, GitHub authentication/rate limits, agent discovery, and Linux inotify pressure. It returns a JSON `healthy` field and issue list, but normally uses HTTP 200 even when `healthy` is false; do not substitute it for `/health` in a status-only probe. This diagnostic checks the Git executable, GitHub authentication/rate limits, agent discovery, and Linux inotify pressure. It returns a JSON `healthy` field and issue list, but normally uses HTTP 200 even when `healthy` is false; do not substitute it for `/health` in a status-only probe.
![Settings > System > Status showing health checks, the running version, and disk usage.](../screenshots/system-status.png)
For a managed service, also check its process manager: For a managed service, also check its process manager:
```bash ```bash
@@ -133,12 +137,15 @@ The System Database and Backups pages use the configured SQLite file path. They
<details> <details>
<summary>Storage maintenance details</summary> <summary>Storage maintenance details</summary>
Open **Settings > System > Storage** to inspect Kandev-managed disk usage and configure cleanup. Open **Settings > System > Data & Logs**, then use the **Storage** section to
inspect Kandev-managed disk usage and configure cleanup.
**Analyze** is read-only. **Run now** applies only the enabled cleanup rules and refuses to start **Analyze** is read-only. **Run now** applies only the enabled cleanup rules and refuses to start
while another maintenance run owns the cleanup gate. If task resources are active, the page names while another maintenance run owns the cleanup gate. If task resources are active, the page names
the active work and offers **Run anyway** after an explicit disruption warning. Use that override the active work and offers **Run anyway** after an explicit disruption warning. Use that override
only when the active task work can tolerate cleanup running alongside it. only when the active task work can tolerate cleanup running alongside it.
![Settings > System > Data & Logs, Storage section showing disk capacity, storage analysis, and cleanup controls.](../screenshots/system-storage.png)
Storage analysis results are cached in the running backend for 15 minutes, so page reloads and Storage analysis results are cached in the running backend for 15 minutes, so page reloads and
policy saves reuse the displayed snapshot instead of scanning disk again. The page shows when that policy saves reuse the displayed snapshot instead of scanning disk again. The page shows when that
snapshot was last analyzed. Select **Analyze** to force a fresh scan; restarting the backend also snapshot was last analyzed. Select **Analyze** to force a fresh scan; restarting the backend also
@@ -156,6 +163,8 @@ permanent deletion. Each entry shows its `delete_after` retention deadline: **De
time, not an exact promise, the first successful scheduled or full manual maintenance run after the time, not an exact promise, the first successful scheduled or full manual maintenance run after the
deadline performs the purge, subject to the idle gate and any preemption. deadline performs the purge, subject to the idle gate and any preemption.
![Settings > System > Data & Logs showing the maintenance policy, schedule, workspace cleanup, and folder allowlist.](../screenshots/system-maintenance-policy.png)
Use **Clear eligible** to remove only entries whose deadlines have passed. It reports protected Use **Clear eligible** to remove only entries whose deadlines have passed. It reports protected
entries that remain. **Force clear all** requires typing `DELETE ALL NOW` and attempts to permanently entries that remain. **Force clear all** requires typing `DELETE ALL NOW` and attempts to permanently
remove every active quarantine entry, discarding restore windows for entries that are successfully remove every active quarantine entry, discarding restore windows for entries that are successfully
@@ -163,6 +172,8 @@ deleted. Safety-validation or deletion failures may leave entries visible and re
override bypasses only the retention timestamp; path, ownership, state, and filesystem safety override bypasses only the retention timestamp; path, ownership, state, and filesystem safety
checks still apply. checks still apply.
![Settings > System > Data & Logs showing quarantined resources with restore, delete, and force-clear controls.](../screenshots/system-quarantine.png)
Kandev keeps at most one restorable Go-cache generation for each original cache path. If that Kandev keeps at most one restorable Go-cache generation for each original cache path. If that
generation is still active when the replacement cache exceeds its limit, the next rotation is generation is still active when the replacement cache exceeds its limit, the next rotation is
deferred. The maintenance run succeeds and reports `active_quarantine`; both the live cache and deferred. The maintenance run succeeds and reports `active_quarantine`; both the live cache and
@@ -194,6 +205,8 @@ Host-wide Docker build-cache and unused-image cleanup remain disabled until you
owns a dedicated Docker daemon. owns a dedicated Docker daemon.
Do not enable those rules on a daemon shared with unrelated workloads. Do not enable those rules on a daemon shared with unrelated workloads.
![Settings > System > Data & Logs showing Docker cleanup controls, cache retention, unused image cleanup, and quarantine safety.](../screenshots/system-docker-cleanup.png)
The Storage page also reports **Kandev temporary artifacts** created by services that need a The Storage page also reports **Kandev temporary artifacts** created by services that need a
short-lived directory under the host temporary root. Each current artifact is registered in the short-lived directory under the host temporary root. Each current artifact is registered in the
Kandev database and carries an owner-only marker in its exact directory. Active artifacts and Kandev database and carries an owner-only marker in its exact directory. Active artifacts and
@@ -469,6 +482,8 @@ Collection starts only while at least one connected client displays metrics in t
These metrics are lightweight UI observability. Set alerts, retention, CPU/memory limits, and disk quotas in the host, container platform, or external monitoring stack. These metrics are lightweight UI observability. Set alerts, retention, CPU/memory limits, and disk quotas in the host, container platform, or external monitoring stack.
![Settings > Preferences > Appearance showing status-bar and resource-metrics controls.](../screenshots/settings-appearance.png)
## Status bar visibility ## Status bar visibility
The status surface is off by default for each user. Open **Settings > Preferences > Appearance > Status Bar**, enable **Show status bar**, and use the page's shared **Save changes** action. The portable preference applies immediately without restarting Kandev. It shows a 24 px bottom bar on desktop and fine-pointer tablets; phones use native Status controls and an inset Status drawer. The status surface is off by default for each user. Open **Settings > Preferences > Appearance > Status Bar**, enable **Show status bar**, and use the page's shared **Save changes** action. The portable preference applies immediately without restarting Kandev. It shows a 24 px bottom bar on desktop and fine-pointer tablets; phones use native Status controls and an inset Status drawer.
+2
View File
@@ -47,6 +47,8 @@ Open **Settings > Plugins > Browse**. Each plugin shows as a card with its
name, description, author, categories, source repository link, latest version, name, description, author, categories, source repository link, latest version,
and GitHub star count. To narrow the list: and GitHub star count. To narrow the list:
![Settings > Plugins > Browse showing the plugin marketplace with search, category, sort, install status, and repository links.](../screenshots/plugin-browse.png)
- **Search**: type in the search box to match plugin name or description. - **Search**: type in the search box to match plugin name or description.
- **Category**: filter to a single category with the category dropdown. - **Category**: filter to a single category with the category dropdown.
- **Sort**: **Most stars** (default), **Recently updated** (by latest release - **Sort**: **Most stars** (default), **Recently updated** (by latest release
+5
View File
@@ -148,6 +148,11 @@ a required setting that has no value yet:
![The Settings > Plugins page listing an installed, active plugin with its category, a Setup required badge, an unsigned badge, Disable/Uninstall actions, and a chevron opening the plugin's settings page.](../screenshots/plugin-settings-list.png) ![The Settings > Plugins page listing an installed, active plugin with its category, a Setup required badge, an unsigned badge, Disable/Uninstall actions, and a chevron opening the plugin's settings page.](../screenshots/plugin-settings-list.png)
The Installed tab also gives you an overview of automatic updates, installed
versions, available updates, and per-plugin controls:
![Settings > Plugins showing automatic updates and the installed plugin list with sync, update, enable, disable, uninstall, and settings controls.](../screenshots/plugin-settings.png)
<details> <details>
<summary>Filesystem sideload and synchronization</summary> <summary>Filesystem sideload and synchronization</summary>
+7 -1
View File
@@ -119,7 +119,13 @@ the workspace-search shortcuts untouched. Click a mode or press **Tab** /
search field. File matches are grouped by repository. Hover a mode to see its search field. File matches are grouped by repository. Hover a mode to see its
direct shortcut. direct shortcut.
Open **Settings > General > Layouts** to configure reusable desktop workbench profiles. Select a tab in a built-in layout to reveal its nearby edit controls, arrange or remove tabs and splits, then use the floating **Save changes** control. Kandev keeps the built-in row visible, marks it **Customized**, and stores your override without requiring a duplicate. Choose **Reset** beside a customized built-in to restore its original definition. Open **Settings > Preferences > Keyboard Shortcuts** to customize these bindings.
![Settings > Preferences > Keyboard Shortcuts showing chat input and command panel bindings.](../screenshots/settings-keyboard-shortcuts.png)
Open **Settings > Preferences > Layouts** to configure reusable desktop workbench profiles. Select a tab in a built-in layout to reveal its nearby edit controls, arrange or remove tabs and splits, then use the floating **Save changes** control. Kandev keeps the built-in row visible, marks it **Customized**, and stores your override without requiring a duplicate. Choose **Reset** beside a customized built-in to restore its original definition.
![Settings > Preferences > Layouts showing built-in desktop workbench profiles and the Default layout editor.](../screenshots/settings-layouts.png)
**PR Details** is a reusable Layouts panel whose visibility follows the active task's review association. Without a linked GitHub pull request or GitLab merge request, the tab stays hidden, even when the selected layout includes it. Once a review is linked, Kandev adds PR Details as an inactive tab: beside **Agent** for the built-in Default, or in the group and tab position you configured in the Layouts editor. Closing that tab prevents it from reappearing automatically in the same session. Changing the default applies to task environments without a saved task-specific layout and **Reset Layout**, not a layout already saved for a task. Removing Terminal from the Default layout also prevents Kandev from creating its initial user shell. **PR Details** is a reusable Layouts panel whose visibility follows the active task's review association. Without a linked GitHub pull request or GitLab merge request, the tab stays hidden, even when the selected layout includes it. Once a review is linked, Kandev adds PR Details as an inactive tab: beside **Agent** for the built-in Default, or in the group and tab position you configured in the Layouts editor. Closing that tab prevents it from reappearing automatically in the same session. Changing the default applies to task environments without a saved task-specific layout and **Reset Layout**, not a layout already saved for a task. Removing Terminal from the Default layout also prevents Kandev from creating its initial user shell.
+231 -25
View File
@@ -1,5 +1,169 @@
# Screenshots # Screenshots
## Table of contents
- [Core workflow](#core-workflow)
- [Automations](#automations)
- [Plugins](#plugins)
- [Workspace & agent settings](#workspace--agent-settings)
- [Mobile](#mobile)
- [Preferences](#preferences)
- [System settings](#system-settings)
## Core workflow
<table>
<tr>
<td align="center"><strong>Kanban</strong><br><img src="screenshots/kanban.png" alt="Kanban"></td>
<td align="center"><strong>Add Task</strong><br><img src="screenshots/add task.png" alt="Add Task"></td>
</tr>
<tr>
<td align="center"><strong>Task Session</strong><br><img src="screenshots/task session.png" alt="Task Session"></td>
<td align="center"><strong>Plan Mode</strong><br><img src="screenshots/plan mode.png" alt="Plan Mode"></td>
</tr>
<tr>
<td align="center"><strong>Workflows</strong><br><img src="screenshots/workflows.png" alt="Workflows"></td>
<td align="center"><strong>Pipeline</strong><br><img src="screenshots/pipeline.png" alt="Pipeline"></td>
</tr>
<tr>
<td align="center"><strong>Workflow Details</strong><br><img src="screenshots/workflow details.png" alt="Workflow Details"></td>
<td align="center"><strong>File Editor</strong><br><img src="screenshots/file editor.png" alt="File Editor"></td>
</tr>
<tr>
<td align="center"><strong>Embedded VS Code</strong><br><img src="screenshots/embedded vscode.png" alt="Embedded VS Code"></td>
<td align="center"><strong>Git Operations</strong><br><img src="screenshots/git operations.png" alt="Git Operations"></td>
</tr>
<tr>
<td align="center"><strong>Review PRs</strong><br><img src="screenshots/review PRs.png" alt="Review PRs"></td>
<td align="center"><strong>Review Dialog</strong><br><img src="screenshots/review dialog.png" alt="Review Dialog"></td>
</tr>
<tr>
<td align="center" valign="top">
<strong>PR auto-fix</strong><br>
Automate CI fixes, review-comment follow-up, and optional auto-merge or requeue when ready.<br><br>
<img src="screenshots/pr-auto-fix.png" alt="PR automation panel with auto-fix and auto-merge enabled" width="520">
</td>
<td align="center" valign="top">
<strong>Agent updates and version notifications</strong><br>
Get a visible prompt when a managed agent runtime has a newer version.<br><br>
<img src="screenshots/agent-updates.png" alt="Agent update notification showing a newer Codey version" width="520">
</td>
</tr>
<tr>
<td align="center"><strong>Plan Comments</strong><br><img src="screenshots/plan comments.png" alt="Plan Comments"></td>
<td align="center"><strong>CLI Agent</strong><br><img src="screenshots/cli agent.png" alt="CLI Agent"></td>
</tr>
<tr>
<td align="center"><strong>Quick Chats</strong><br><img src="screenshots/quick chats.png" alt="Quick Chats"></td>
<td align="center" valign="top">
<strong>Stats</strong><br>
Review task, session, Git activity, provider, GitHub, workload, and telemetry metrics.<br><br>
<img src="screenshots/stats-overview.png" alt="Statistics overview showing tasks, time spent, Git activity, signal, telemetry, and top models" width="520"><br><br>
<img src="screenshots/stats-github-workload.png" alt="Statistics dashboard showing GitHub activity and workload metrics" width="520">
</td>
</tr>
</table>
## Automations
<table>
<tr>
<td align="center" valign="top" width="50%">
<strong>Workspace automations</strong><br>
Review scheduled and webhook automations, their enabled state, and recent activity.<br><br>
<img src="screenshots/automation-list.png" alt="Workspace automations showing scheduled and webhook triggers" width="520">
</td>
<td align="center" valign="top" width="50%">
<strong>Automation editor</strong><br>
Configure repository access, run destination, context, concurrency, and save changes.<br><br>
<img src="screenshots/automation-editor.png" alt="Automation editor showing repository access, run destination, context, and save controls" width="520">
</td>
</tr>
<tr>
<td colspan="2" align="center">
<strong>Automation sidebar</strong><br>
Open workspace automations from the main navigation.<br><br>
<img src="screenshots/automation-sidebar.png" alt="Kandev sidebar showing workspace automations" width="360">
</td>
</tr>
</table>
## Plugins
Kandev plugins and companion tools add focused views for exploring MCP servers,
monitoring service health, and tracking usage.
<table>
<tr>
<td align="center" valign="top" width="50%">
<strong>Plugin marketplace</strong><br>
Browse, filter, and install plugins from the in-app catalog.<br><br>
<img src="screenshots/plugin-browse.png" alt="Plugin marketplace showing available plugins and filters" width="520">
</td>
<td align="center" valign="top" width="50%">
<strong>Plugin settings</strong><br>
Manage installed plugins, updates, activation, and configuration.<br><br>
<img src="screenshots/plugin-settings.png" alt="Plugin settings showing installed plugins and update controls" width="520">
</td>
</tr>
<tr>
<td align="center" valign="top" width="50%">
<strong>MCP Explorer</strong><br>
Inspect connected servers, available tools, and estimated token costs.<br><br>
<img src="screenshots/plugin-mcp-explorer.png" alt="MCP Explorer showing an active server and available tools" width="520">
</td>
<td align="center" valign="top" width="50%">
<strong>GitHub Status</strong> (<a href="https://github.com/kdlbs/kandev-plugin-github-status">plugin repository</a>)<br>
See GitHub health at a glance, then open detailed component and incident status.<br><br>
<img src="screenshots/plugin-github-status.png" alt="GitHub Status showing service health and an active incident" width="520"><br><br>
<img src="screenshots/plugin-github-status-bar.png" alt="GitHub Status indicator in the Kandev status bar" width="520">
</td>
</tr>
<tr>
<td align="center" valign="top">
<strong>Provider Usage</strong> (<a href="https://github.com/kdlbs/kandev-plugin-provider-usage">plugin repository</a>)<br>
Monitor provider quota usage and reset windows from the status bar.<br><br>
<img src="screenshots/plugin-provider-usage.png" alt="Provider Usage panel showing Codex usage and reset windows" width="360">
</td>
<td align="center" valign="top">
<strong>Session Cost</strong> (<a href="https://github.com/kdlbs/kandev-plugin-session-cost">plugin repository</a>)<br>
Track session spend, turns, token totals, cache reads, and per-model costs.<br><br>
<img src="screenshots/plugin-session-cost.png" alt="Session Cost panel showing spend, turns, token totals, and per-model costs" width="520">
</td>
</tr>
<tr>
<td colspan="2" align="center">
<strong>Kandy</strong> (<a href="https://github.com/kdlbs/kandev-plugin-kandy">plugin repository</a>)<br>
Add playful progress feedback with levels, experience, status, and celebrations.<br><br>
<img src="screenshots/plugin-kandy.png" alt="Kandy progress card showing level, experience, and status" width="360">
</td>
</tr>
</table>
## Workspace & agent settings
<table>
<tr>
<td align="center" valign="top" width="50%">
<strong>Integrations</strong><br>
Connect a workspace to GitHub, GitLab, Jira, Linear, Sentry, and Azure DevOps.<br><br>
<img src="screenshots/settings-integrations.png" alt="Integrations settings showing provider connection cards" width="520">
</td>
<td align="center" valign="top" width="50%">
<strong>Agents</strong><br>
Review detected agent CLIs, profiles, availability, and runtime updates.<br><br>
<img src="screenshots/settings-agents.png" alt="Agents settings showing detected agent CLIs, profiles, and update indicators" width="520">
</td>
</tr>
<tr>
<td colspan="2" align="center">
<strong>Executors</strong><br>
Configure local, worktree, Docker, Sprites.dev, and SSH execution profiles.<br><br>
<img src="screenshots/settings-executors.png" alt="Executors settings showing existing and available executor profiles" width="760">
</td>
</tr>
</table>
## Mobile ## Mobile
<table> <table>
@@ -10,39 +174,81 @@
</tr> </tr>
</table> </table>
## Desktop ## Preferences
<table> <table>
<tr> <tr>
<td align="center"><strong>Kanban</strong><br><img src="screenshots/kanban.png" alt="Kanban"></td> <td colspan="2" align="center">
<td align="center"><strong>Task Session</strong><br><img src="screenshots/task session.png" alt="Task Session"></td> <strong>Layouts</strong><br>
Configure reusable desktop workbench profiles and panel arrangements.<br><br>
<img src="screenshots/settings-layouts.png" alt="Layouts settings showing built-in desktop workbench profiles" width="760">
</td>
</tr> </tr>
<tr> <tr>
<td align="center"><strong>Pipeline</strong><br><img src="screenshots/pipeline.png" alt="Pipeline"></td> <td align="center" valign="top" width="50%">
<td align="center"><strong>Plan Mode</strong><br><img src="screenshots/plan mode.png" alt="Plan Mode"></td> <strong>Language servers</strong><br>
Configure language-server startup, installation, status location, and server settings.<br><br>
<img src="screenshots/settings-terminal-editors.png" alt="Terminal and Editors settings showing language server controls" width="520">
</td>
<td align="center" valign="top" width="50%">
<strong>Task Behavior</strong><br>
Configure task titles, archive confirmation, unread messages, and host sleep prevention.<br><br>
<img src="screenshots/settings-task-behavior.png" alt="Task Behavior settings showing task title, archive, unread message, and host sleep controls" width="520">
</td>
</tr> </tr>
<tr> <tr>
<td align="center"><strong>Workflows</strong><br><img src="screenshots/workflows.png" alt="Workflows"></td> <td align="center" valign="top" width="50%">
<td align="center"><strong>Plan Comments</strong><br><img src="screenshots/plan comments.png" alt="Plan Comments"></td> <strong>Keyboard Shortcuts</strong><br>
Customize chat input and command-panel keybindings.<br><br>
<img src="screenshots/settings-keyboard-shortcuts.png" alt="Keyboard Shortcuts settings showing chat input and command panel bindings" width="520">
</td>
<td align="center" valign="top" width="50%">
<strong>Appearance</strong><br>
Configure status-bar visibility and resource metrics for the host and execution environments.<br><br>
<img src="screenshots/settings-appearance.png" alt="Appearance settings showing status bar and resource metrics controls" width="520">
</td>
</tr> </tr>
<tr> <tr>
<td align="center"><strong>CLI Agent</strong><br><img src="screenshots/cli agent.png" alt="CLI Agent"></td> <td colspan="2" align="center">
<td align="center"><strong>Quick Chats</strong><br><img src="screenshots/quick chats.png" alt="Quick Chats"></td> <strong>Shell and terminal</strong><br>
</tr> Choose the default shell, terminal font, font size, and link behavior.<br><br>
<tr> <img src="screenshots/settings-terminal.png" alt="Terminal and Editors settings showing shell, terminal font, font size, and link controls" width="760">
<td align="center"><strong>File Editor</strong><br><img src="screenshots/file editor.png" alt="File Editor"></td> </td>
<td align="center"><strong>Git Operations</strong><br><img src="screenshots/git operations.png" alt="Git Operations"></td> </tr>
</tr> </table>
<tr>
<td align="center"><strong>Embedded VS Code</strong><br><img src="screenshots/embedded vscode.png" alt="Embedded VS Code"></td> ## System settings
<td align="center"><strong>Review PRs</strong><br><img src="screenshots/review PRs.png" alt="Review PRs"></td>
</tr> <table>
<tr> <tr>
<td align="center"><strong>Review Dialog</strong><br><img src="screenshots/review dialog.png" alt="Review Dialog"></td> <td align="center" valign="top" width="50%">
<td align="center"><strong>Stats</strong><br><img src="screenshots/stats.png" alt="Stats"></td> <strong>Status</strong><br>
</tr> Check system health, the running version, and the Kandev data directory.<br><br>
<tr> <img src="screenshots/system-status.png" alt="Status settings showing health, version, and disk usage" width="520">
<td align="center"><strong>Add Task</strong><br><img src="screenshots/add task.png" alt="Add Task"></td> </td>
<td align="center"><strong>Workflow Details</strong><br><img src="screenshots/workflow details.png" alt="Workflow Details"></td> <td align="center" valign="top" width="50%">
<strong>Storage</strong><br>
Review disk capacity, Kandev-managed usage, and reclaimable space.<br><br>
<img src="screenshots/system-storage.png" alt="Storage settings showing disk capacity and storage analysis" width="520">
</td>
</tr>
<tr>
<td align="center" valign="top" width="50%">
<strong>Maintenance policy</strong><br>
Choose the schedule, idle window, workspace cleanup, and folder allowlist.<br><br>
<img src="screenshots/system-maintenance-policy.png" alt="Maintenance policy settings showing schedule and workspace cleanup controls" width="520">
</td>
<td align="center" valign="top" width="50%">
<strong>Docker cleanup</strong><br>
Configure dedicated-daemon protection, build-cache retention, and unused image cleanup.<br><br>
<img src="screenshots/system-docker-cleanup.png" alt="Docker cleanup settings showing cache and unused image cleanup controls" width="520">
</td>
</tr>
<tr>
<td colspan="2" align="center">
<strong>Quarantine</strong><br>
Restore or permanently remove recoverable resources after cleanup.<br><br>
<img src="screenshots/system-quarantine.png" alt="Quarantine settings showing a recoverable resource with restore and delete controls" width="760">
</td>
</tr> </tr>
</table> </table>
Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 460 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 375 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 494 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 239 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 326 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 122 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 75 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 416 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 178 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 497 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 442 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 387 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 384 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 396 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 392 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 494 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 374 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 360 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 362 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 363 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 128 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 315 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 344 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 146 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 301 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 356 KiB