Agent Kanban (VS Code)
By appsoftware.com
Agent Kanban (VS Code) is available on the VS Code Marketplace
Agent Kanban (VS Code) is now a remote-only companion for the hosted Agent Kanban board. The extension binds your workspace to a remote board, keeps the active task contract in AGENTS.md, captures Copilot turns for the selected task, and can create isolated git worktrees for remote tasks.
There is no longer a local .agentkanban task-file workflow.
Features
- Remote board connection inside the Agent Kanban sidebar
- Managed
AGENTS.md sentinel for the selected remote task
- Remote resume flow that injects board memory, timeline history, and the current todo list
- Deterministic Copilot turn capture bound to the selected remote task
- Remote git worktree creation and removal
- Status bar connection state and capture visibility
Getting Started
- Install the extension.
- Open the Agent Kanban view in the Activity Bar.
- Run Agent Kanban: Setup Remote Connection or Agent Kanban: Connect Remote Workspace.
- Enter your server URL and API key, then choose a board.
- Select a task in the sidebar.
- Use
@kanban /resume to load prior board context into the current chat, or @kanban /worktree to create a dedicated worktree.
Commands
| Command |
Purpose |
Agent Kanban: Connect Remote Workspace |
Alias for remote setup |
Agent Kanban: Setup Remote Connection |
Configure server URL, API key, and board |
Agent Kanban: Configure Remote |
Focus the remote sidebar |
Agent Kanban: Select Remote Task... |
Pick the active task from the current remote board |
Agent Kanban: Create Remote Worktree... |
Create a worktree for a remote task |
Agent Kanban: Remove Remote Worktree |
Remove the currently bound remote worktree |
Agent Kanban: Uninitialise |
Remove the managed AGENTS section, stored API key, MCP config, workspace settings, and any legacy .agentkanban data |
Chat Commands
| Command |
Purpose |
@kanban /resume |
Inject board memory, prior task timeline, and current todos for the selected remote task |
@kanban /resume refresh |
Inject only timeline deltas for the selected task in the current chat session |
@kanban /worktree |
Create a worktree for the selected remote task |
@kanban /worktree <shortId or title> |
Resolve a remote task and create a worktree |
@kanban /worktree open |
Reminder to use the Command Palette worktree command in remote mode |
@kanban /worktree remove |
Reminder to use the Command Palette removal command in remote mode |
AGENTS.md Contract
The extension manages a sentinel-delimited section in the workspace AGENTS.md file.
- When a remote task is active, the sentinel includes the task title and UUID plus the remote
plan / todo / implement workflow contract.
- When no task is active, the sentinel is replaced with a remote no-task reminder.
- User content outside the sentinel is preserved.
- The extension deletes the legacy
.agentkanban/INSTRUCTION.md file when it finds one.
Turn Capture
When a remote task is selected, the extension binds Copilot turn capture to that task.
- Captured turns are sent to the remote board, not stored as local task files.
- Resume loads board memory, timeline events, and the current todo list from the board.
- Debug builds can expose the active Copilot capture file, the extension log folder, and the primary rolling log file in the sidebar.
- Debug file opens reuse the current editor group; the live tail remains a read-only virtual document.
Git Worktrees
Remote worktrees remain supported.
- Creating a remote worktree writes a remote
AGENTS.md sentinel into the worktree so the task binding survives opening that folder in a new VS Code window.
- Removing a remote worktree deletes the branch and directory.
- The worktree root and open behavior are still controlled by
agentKanban.worktreeRoot and agentKanban.worktreeOpenBehavior.
Settings
| Setting |
Default |
Description |
agentKanban.enableLogging |
false |
Enable extension file logging in VS Code's extension log storage |
agentKanban.worktreeRoot |
../{repo}-worktrees |
Root directory for remote worktrees |
agentKanban.worktreeOpenBehavior |
current |
Open worktrees in the current or a new window |
agentKanban.enforceWorktrees |
false |
Require a worktree before worktree-dependent flows |
agentKanban.remote.serverUrl |
https://www.agentkanban.io |
Remote server URL |
agentKanban.remote.defaultBoardId |
(empty) |
Current remote board ID |
agentKanban.remote.defaultTaskId |
(empty) |
Current remote task ID |
Legacy Cleanup
Older versions of the extension created .agentkanban files for task workflows. That workflow has been removed.
- The extension now deletes the legacy
.agentkanban/INSTRUCTION.md file during activation and remote setup.
Agent Kanban: Uninitialise also removes any leftover .agentkanban directory.
- The extension no longer creates local task markdown files, board YAML, or
.agentkanban/logs.
Publishing
Publish to the VS Code Marketplace and Open VSX Registry.
First-time setup -- secrets and login
The Open VSX token is stored in extensions/vscode/.ext-secrets (gitignored). The encrypted form .ext-secrets.enc is committed.
If this is a new machine, decrypt the secrets and log in to the VS Marketplace:
# Bash
pnpm decrypt
pnpm dlx @vscode/vsce login AppSoftwareLtd # enter your Azure DevOps PAT when prompted
# PowerShell
pnpm decrypt
pnpm dlx @vscode/vsce login AppSoftwareLtd # enter your Azure DevOps PAT when prompted
If you are setting up for the first time (no .ext-secrets.enc exists yet), copy the example file and fill in your token:
# Bash
cp extensions/vscode/.ext-secrets.example extensions/vscode/.ext-secrets
# edit extensions/vscode/.ext-secrets and set OPEN_VSX_TOKEN
pnpm encrypt # encrypt and commit .ext-secrets.enc
# PowerShell
Copy-Item extensions\vscode\.ext-secrets.example extensions\vscode\.ext-secrets
# edit extensions\vscode\.ext-secrets and set OPEN_VSX_TOKEN
pnpm encrypt # encrypt and commit .ext-secrets.enc
Obtain an Open VSX token at open-vsx.org/user-settings/tokens for the appsoftwareltd publisher.
The VS Marketplace PAT is created in the Azure DevOps portal under the AppSoftwareLtd organisation. Scopes required: Marketplace > Publish. The login is stored locally by vsce and persists across releases until the PAT expires.
Releasing
Step 1 -- Bump the version (run one from the repository root):
# Bash
pnpm version:patch:ext-vscode # e.g. 2.1.2 -> 2.1.3
pnpm version:minor:ext-vscode # e.g. 2.1.2 -> 2.2.0
pnpm version:major:ext-vscode # e.g. 2.1.2 -> 3.0.0
# PowerShell
pnpm version:patch:ext-vscode # e.g. 2.1.2 -> 2.1.3
pnpm version:minor:ext-vscode # e.g. 2.1.2 -> 2.2.0
pnpm version:major:ext-vscode # e.g. 2.1.2 -> 3.0.0
The new version is written to extensions/vscode/package.json only -- no git tag is created automatically. Update CHANGELOG.md with the new version entry.
Step 2 -- Publish (reads version and token automatically):
# Bash -- publishes to both VS Marketplace and Open VSX
pnpm publish:ext-vscode
# Or target a single registry
pnpm publish:ext-vscode:marketplace
pnpm publish:ext-vscode:ovsx
# PowerShell -- publishes to both VS Marketplace and Open VSX
pnpm publish:ext-vscode
# Or target a single registry
pnpm publish:ext-vscode:marketplace
pnpm publish:ext-vscode:ovsx
The publish script (scripts/publish.sh / scripts/publish.ps1) will:
- Read the version from
extensions/vscode/package.json automatically
- Load
OPEN_VSX_TOKEN from extensions/vscode/.ext-secrets automatically
- Build the extension
- Package it (producing
agent-kanban-vscode-<version>.vsix)
- Push to the VS Code Marketplace (login prompt only appears if the PAT has expired)
- Push to Open VSX
The VS Marketplace PAT is created in the Azure DevOps portal under the AppSoftwareLtd organisation. Scopes required: Marketplace > Publish. Run pnpm dlx @vscode/vsce login AppSoftwareLtd once to store it.
Step 3 -- Commit and tag:
# Bash
git add extensions/vscode/package.json CHANGELOG.md
git commit -m "Release vscode extension v$(node -p "require('./extensions/vscode/package.json').version")"
git tag ext-vscode-v$(node -p "require('./extensions/vscode/package.json').version")
git push origin main --tags
# PowerShell
$ver = node -p "require('./extensions/vscode/package.json').version"
git add extensions/vscode/package.json CHANGELOG.md
git commit -m "Release vscode extension v$ver"
git tag "ext-vscode-v$ver"
git push origin main --tags