Denly

Track a PLAN.md file as a progress dashboard, with milestones and deadlines

Updated 2026-10-14

Keep the plan where your coding agents already read and edit it: a Markdown file such as PLAN.md in the repository. Denly reads that file from your own machine and turns its checkboxes, milestones and dates into progress, status and overdue warnings, with no second tracker to keep in sync.

Denly is a control plane for coding agents (Claude Code, Codex, Cursor, Grok Build, Antigravity) that run on your own machines using your vendor subscription or API key. It manages tasks, plans and reviews across projects; Git-backed tasks can open pull requests, while no-Git projects end with a review of local changes. The Plan tracker is the part that answers “how far along is this project, and what is late?” from the plan file itself.

Why the plan lives in a file

An agent working in a repository can read and update a Markdown file in the same commit as the code it describes. The plan is versioned with the work, shows up in review like any other change, and needs no integration to stay current. What it lacks on its own is a view: a long checklist does not tell you which milestone is slipping. The tracker adds that view and changes nothing in the file.

What the tracker reads

In the fileIn the dashboard
- [ ] and - [x] checkboxesDone and remaining counts, and the percentage. Nothing else counts as progress.
## Milestone: Name and ### Sprint: NameA card per milestone with its sprints nested inside, each with its own progress
Start: and Target: dates under a headingUpcoming, Active, Overdue or Complete, and how much of the date range has passed
| target: 2026-10-12 at the end of a taskThe task is listed first once that date passes with the box unchecked
ID: and Depend on:Which milestones and sprints are ready to hand to an agent
Prose, status tables, story pointsLeft as written under Formatted plan. A plan with no checkboxes shows progress as unknown, not 0%.

Set it up

  1. Add the project to Denly and run denly install <project-id> on the machine that holds its checkout.
  2. Commit a PLAN.md at the root of the repository or project folder. An owner or admin can point the tracker at another Markdown path instead.
  3. Open the project in the dashboard. The runner checks the file at most every 30 seconds and the tracker appears at the bottom of the Project screen.
  4. Edit the file as usual. Checking a box and saving is enough; the dashboard picks up the new snapshot without a reload.
A PLAN.md the tracker understands
# Project plan

## Milestone: First release
ID: first-release
Target: 2026-11-01

### Sprint: Foundation
ID: foundation
Start: 2026-10-05
Target: 2026-10-16

- [x] Define the scope
- [ ] Build the prototype | target: 2026-10-12

### Sprint: Release preparation
ID: release-preparation
Depend on: foundation
Start: 2026-10-19
Target: 2026-10-30

- [ ] Review the interface
- [ ] Publish the release

Every structured line is optional. A plain checklist under ordinary headings already gets progress counts; milestones, dates and IDs add status and ordering on top.

Let an agent write the plan, then work through it

Ask an agent starts a plan-writing session with the runtime and model you choose: you describe what should be delivered and by when, and the agent writes the file in this format on your machine. It keeps completed work and asks when scope or dates are unclear instead of inventing them.

Handoff on a milestone or sprint opens the New task dialog with a brief to finish that group. Once you create it, the task goes through your normal plan approval, review and pull request. Handoff stays disabled until every group named in Depend on has all of its checkboxes checked, so an agent cannot start the release sprint while the foundation sprint still has open work.

What stays on your machine

The runner reads the file from your checkout and uploads a read-only snapshot; the repository itself is never uploaded. With workspace end-to-end encryption on, the snapshot is encrypted on the runner and only your browser can read it. Nothing is written back to the file from the dashboard. Plans are read on macOS and Linux runners today; a Windows runner reports the file as unavailable.

Read next

Plan tracker · Tasks & backlog · The coding agent pull request workflow: plan, approve, build, review, merge · One dashboard for coding agents across many projects and machines

Start free – no card