Preview
Try the standalone app, inspect its source, or use it as a concrete extension-model example.
The Gantt chart you wish your task app had — over the yaps you already have.
Workspaces are projects. Goals are milestones. Assignees are team members. Project Management adds Gantt, dependency graphs, and burndown charts on top of yaps you’ve already been writing.
How your lists map to the app
| PM concept | Yapture primitive |
|---|---|
| Project | workspace (#@my-project) |
| Milestone | goal (#^milestone-1 with #*{date:2026-05-15}) |
| Team member | assignee (#+alice) |
| Recurring task | routine (#~standup) |
| Dependency (blocks/blocked-by) | yap metadata (#*{blocks:[id1,id2]}) |
| Status | yap status field (existing) |
Script extensions
gantt:start:2026-04-01 → #*{gantt_start:2026-04-01}
gantt:end:2026-04-15 → #*{gantt_end:2026-04-15}
blocks:#42 → #*{blocks:[42]}
Surfaces
- Web pane — a Gantt timeline mounted as a top-level workspace view. Drag a yap horizontally to change
gantt_start/gantt_end. Drag vertically across rows to change assignee. - Web pane (secondary) — a D3 dependency graph rendered from
blocks:metadata. - CLI plugin —
yapture-pm gantt --workspace=my-project,yapture-pm burndown --milestone=milestone-1.
Events
yap.completedupdates the burndown for the containing milestone.yap.updated(whengantt_start/gantt_endchanges) recomputes the Gantt critical path.
Release status
Hosted reference app. Marketplace installation, commercial tiers, team audit packages, and pricing are not claimed.