Create and edit your roadmaps in a plain-text format.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Roadmaps as code. For everyone.
Human readable roadmaps, built for AI.
Plain .nowline text files. Version-controlled. Render to SVG, PNG, PDF, HTML, Mermaid, XLSX, and MS Project XML.
Nowline is a text-first DSL for describing product and engineering roadmaps β human readable and machine readable. You write plain .nowline text files β indented, keyword-driven, diff-friendly β and tooling renders them as timelines, validates them, and composes them.
Renders to:
include other files with explicit merge / ignore / isolate semantics.Install the CLI from your package manager:
Debian/Ubuntu and Windows users can grab the latest .deb or .exe from GitHub Releases. See packages/cli/README.md for the full install matrix (including man nowline setup).
Two-tier Node policy: Node β₯ 22 to consume @nowline/* packages (engines.node on every published package), Node 26 (.nvmrc) to develop. CI tests both versions on every PR. See Toolchain & Supported Versions for the full policy and bump procedure.
Render your first roadmap:
Or scaffold a brand-new file from a template:
For the VS Code / Cursor / VSCodium extension, search Nowline on the VS Code Marketplace or Open VSX.
0.xversioning.nowlineis on0.x.ywhile we settle the embed surface and IDE expansion. Public APIs may change between minor versions; full SemVer guarantees apply once we ship1.0. Seespecs/releasing.mdfor the version contract.
To run from a checkout for local development (pnpm install && pnpm build), see CONTRIBUTING.md.
nowline is verbless: rendering is the default. Other operations are flags on the same command.
The render pipeline is @nowline/core parse β @nowline/layout layout β @nowline/renderer SVG β format-specific exporter. Output is byte-for-byte deterministic for the same input, theme, and --now. A single nowline binary ships every format β see packages/cli/README.md for install details.
--dry-run)Run the full pipeline (parse + validate + layout + format) without writing. Exits 0 on success, 1 if any errors are emitted.
Convert is just -f json (or -f nowline to go the other way). Input format is inferred from the extension; --input-format overrides for unusual filenames.
The emitted JSON carries a top-level "$nowlineSchema": "1" so downstream tools can detect schema changes. Comments are not preserved across round-trips β see packages/cli/README.md for the canonical printer rules.
--serve)Run a live-reload preview in the browser. Great while authoring.
The server re-parses, re-validates, re-lays-out, and re-renders on every file change; connected clients refresh automatically via Server-Sent Events. Validation errors are displayed as an overlay on top of the most recent successful render.
--init)Scaffold a new .nowline file in cwd. The positional argument is the project name, not a file path. .nowline is auto-appended.
minimal, teams, and product correspond to the files under examples/. Existing files are silently overwritten.
| Code | Meaning |
|---|---|
| 0 | Success |
| 1 | Validation error (parse failure, invalid reference) |
| 2 | Usage error (missing input, bad flags, unsupported format, file not found, binaryβTTY refusal) |
| 3 | Output error (cannot write to destination) |
After any package-manager install (brew install lolay/tap/nowline, npm install -g @nowline/cli, or the .deb from GitHub Releases), man nowline shows the CLI manual and man 5 nowline shows the full DSL reference. Both man pages also ship as standalone assets on every GitHub Release β see packages/cli/man/ for the mdoc sources.
| Keyword | Purpose |
|---|---|
roadmap | The top-level roadmap declaration. At most one per file. |
swimlane | A horizontal lane of work. |
item | A unit of work inside a swimlane. |
parallel | A block whose children run concurrently. |
group | A logical grouping of items, rendered together. |
anchor | A named date on the timeline. |
milestone | A point-in-time marker that depends on work. |
footnote | A callout anchored to one or more entities. |
person, team | Ownership references. |
style, label, status, duration, scale, calendar, default | Config and declaration entries. |
A roadmap may carry an optional start:YYYY-MM-DD that anchors the timeline baseline:
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/nowline)<a href="https://allmcps.com/mcp/nowline"><img src="https://allmcps.com/api/badge/nowline?style=directory" alt="Nowline on AllMCPs" /></a>