Vi — Project Management for VS CodeYour tasks, your timer, and your commits — in the editor, not in a browser tab. Vi is Git-aware project management for software teams — tasks, custom workflows, approvals, time tracking and project boards. This extension puts that work queue inside VS Code and adds Commit & Close: marking a task Done commits the files you pick with the task id, pushes them, and moves the task to the next step of its workflow — in one action. Commit & CloseThis is the part you will notice on day one. When you mark a task Done:
If the push fails, the task stays on its step as Awaiting push and choosing Done again retries — so a task never reaches the next person (QA, say) without its code on the remote. If there are no changes at all, the extension asks before finishing with nothing committed. If a merge is still unresolved, it refuses outright — a half-finished merge is not something to discover afterwards. Commits are linked back to the task in Vi, so a task's history shows what actually shipped. Only commit metadata is sent — never your source code. Git work goes through VS Code's own built-in Git extension, so it uses the repository and credentials you already have set up. Close a task from your AI assistantConnected to Vi through MCP, an AI assistant (Claude Code, Cursor, …) can ask you to finish a
task. Nothing happens on its own: a window opens in the VS Code that has the task's project
(the one with the Your task list, in the sidebar
One project per folderPick the Vi project once and it is remembered in a small Notifications, as they happenAssigned a task, a task moved to you, a rejection, a new comment — they appear as VS Code notifications the moment they happen, with Open Task to jump to it, and the task list refreshes itself. A chat message for a conversation you don't have open shows up the same way. This works whether or not the Vi views are open. A timer that runs itselfSet a task to In Progress and the timer starts. Switch tasks, pause, or finish, and it stops. The elapsed time is live in the panel, and it is the same timer the web app sees — no double entry, no forgotten stopwatch. Start clean, shelve and restoreStarting a task while the working tree already has changes, the extension asks what to do with them first — keep them, commit them, or stash them — so another task's edits don't end up in this task's commit. Moving a task from In Progress to Queued or Blocked offers to stash its changes, and picking the task back up offers to restore them. Half-finished work stays with the task it belongs to. Subtasks that close cleanlyClosing a subtask commits your work but does not push — the push belongs to the real task. When you close the last open subtask, the extension asks whether to finish the parent too, and if you say yes it closes it and pushes everything at once. Team chat, in real timeDirect messages and group rooms with unread badges, delivered over a live connection rather than polling — so a quick "is this ready to merge?" does not cost you a context switch. Getting started
There is nothing to configure: the tenant is the one you sign in to. Work for several
organizations? Each keeps its own login, and a project linked to another organization
(its Commands
Requirements
Good to know
Links
|