{"slug": "coordinate-coding-agents-and-git-worktrees-around-features", "title": "Coordinate coding agents and Git worktrees around features", "summary": "Jan Bogaerts released md², an Electron desktop app that organizes AI coding work around Markdown feature cards and Git worktrees, with a signed Windows x64 installer available and macOS/Linux runnable from source. The tool tracks token usage and cost per action, feature, and project, and integrates with existing coding CLIs without calling model APIs directly.", "body_md": "**Plan, run, and track AI coding work feature by feature—with local Markdown cards and Git worktrees.**\n\nDownload:[Get the latest Windows x64 installer]·[Installation guide]\n\nPlatforms:md² is an Electron desktop app. Windows x64 has a signed installer; macOS and Linux can run from source, but do not have prebuilt packages yet.\n\n## md2_integrate_into_project.mp4\n\nIn a traditional coding workflow, the source code is the center: you open a project and instruct an AI agent to change it. md² shifts the focus to the work being requested—a feature description, bug report, or job. Source-code changes remain the output, but they are no longer the organizing center.\n\nEach request is stored as a Markdown card in your repository. Everything related to the work hangs off that card:\n\n- its Git worktree\n- the coding agent working on it\n- chat history\n- commits\n- design notes and documentation\n- token usage and cost\n\nReusable prompts and actions live at project level. They support the cards: run an action from a card and md² supplies that card's description and worktree context.\n\nThe card becomes the shared context for both you and your agents. Instead of reconstructing the work and its history from editor windows, folders, and disconnected conversations, you can follow and manage it from one place. Because cards are ordinary local Markdown files, agents can read and update the same project knowledge directly.\n\nmd² starts the CLIs already installed and authenticated on your machine. It does not call model APIs directly, and either CLI is optional when using md² as a Markdown-backed project board.\n\n| Without md² | With md² |\n|---|---|\n| Agent conversations grouped by chat | Activity grouped by feature |\n| Worktrees identified by folders/windows | Worktrees assigned to cards |\n| Repeated prompts scattered around | Reusable project actions |\n| Token use largely invisible | Cost tracked by action and feature |\n\nFull docs: [https://jan-bogaerts.github.io/md2/](https://jan-bogaerts.github.io/md2/)\n\nA card can be linked to the worktree and coding agent working on it. Instead of searching through editor windows and terminals, you can see the state of the entire project in one place.\n\nAgents can update their cards automatically as work progresses.\n\nA feature often takes multiple prompts, sessions, and commits to complete.\n\nmd² links those interactions back to the feature instead of presenting one large, disconnected history of agent conversations.\n\nCards, design notes, plans, and other project information are ordinary Markdown files stored inside the repository.\n\nAgents can read and update them directly without requiring access to an external project-management service. The files can also be searched, diffed, versioned, and edited with normal development tools.\n\nRepeated prompts often grow into large collections of instructions or skills. Loading all of them can consume tokens and introduce irrelevant context.\n\nmd² lets you create smaller reusable actions for specific tasks. Actions can contain automatically resolved placeholders such as:\n\n`{{card-file}}`\n\nThis keeps prompts focused on the current task.\n\nNot every development task requires an AI agent.\n\nCommand actions can commit changes, update diagrams, run tests, change card state, or execute scripts at specific points in the workflow.\n\nFor recurring complex work, an agent can create a script once and md² can reuse it later without spending tokens on the same reasoning every time.\n\nmd² tracks token usage and cost:\n\n- per action\n- per feature\n- across the complete project\n\nThis makes it easier to understand where agent time and tokens are being spent.\n\nmd² is still an evolving concept — see [design/architecture/initial description](/jan-bogaerts/md2/blob/main/design/architecture/initial%20description) for the original design notes this project is built from.\n\n*Run reusable actions from a card, follow the agent conversation, and commit or integrate the assigned worktree without losing the feature context.*\n\n*The card remains the shared source of truth for its definition, agent activity, worktree, and resulting changes.*\n\n[Download and install the latest Windows release](https://github.com/jan-bogaerts/md2/releases/latest), or follow the[source setup](https://jan-bogaerts.github.io/md2/contributing/development-setup/)on macOS or Linux.- Click the GitHub icon, upper left corner, follow link to get a GitHub access token, copy-paste token in.\n- Open project, select a folder that contains a git repository.\n\nThe repo has three parts: [app/](/jan-bogaerts/md2/blob/main/app) (the React/Vite web UI), [desktop/](/jan-bogaerts/md2/blob/main/desktop) (the Electron host shell), and [shared/](/jan-bogaerts/md2/blob/main/shared) (types and logic used by both). Each subproject has its own `package.json`\n\nand npm scripts, but a root `package.json`\n\nwires up the common workflows.\n\n[Node.js](https://nodejs.org/)(LTS) and npm- Git\n\n```\nnpm run install:all\n```\n\nThis installs dependencies for both `app`\n\nand `desktop`\n\n.\n\n```\nnpm run dev\n```\n\nThis starts the Vite dev server for `app`\n\nand, once it's up, launches the Electron shell (`desktop`\n\n) pointed at it. To run either half on its own: `npm run dev:app`\n\nor `npm run dev:desktop`\n\n.\n\n`app/.env.example`\n\nand `desktop/.env.example`\n\nlist optional Sentry/Aptabase keys for error reporting and analytics. Copy to `.env`\n\nand fill in if you want telemetry locally — neither is required to build or run the app.\n\nEach subproject is standalone and has its own npm scripts.\n\n```\ncd app\nnpm run lint\nnpm run lint-fix\nnpm run test\ncd desktop\nnpm run lint\nnpm run lint-fix\nnpm run test\n```\n\n", "url": "https://wpnews.pro/news/coordinate-coding-agents-and-git-worktrees-around-features", "canonical_source": "https://github.com/jan-bogaerts/md2", "published_at": "2026-08-11 13:32:49+00:00", "updated_at": "2026-08-11 13:41:09.608536+00:00", "lang": "en", "topics": ["developer-tools", "ai-agents", "ai-tools"], "entities": ["Jan Bogaerts", "md²", "Electron", "Windows", "macOS", "Linux", "Git"], "alternates": {"html": "https://wpnews.pro/news/coordinate-coding-agents-and-git-worktrees-around-features", "markdown": "https://wpnews.pro/news/coordinate-coding-agents-and-git-worktrees-around-features.md", "text": "https://wpnews.pro/news/coordinate-coding-agents-and-git-worktrees-around-features.txt", "jsonld": "https://wpnews.pro/news/coordinate-coding-agents-and-git-worktrees-around-features.jsonld"}}