Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者提供的说明(英文原文)
Create and edit your roadmaps in a plain-text format.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"nowline": {
"command": "npx",
"args": [
"-y",
"@nowline/mcp"
]
}
}
}在终端中运行这条命令
claude mcp add nowline -- npx -y @nowline/mcp粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"nowline": {
"command": "npx",
"args": [
"-y",
"@nowline/mcp"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"nowline": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@nowline/mcp"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月6日
注册名称已通过域名 nowline.io 验证(注册中心会核实域名所有权)
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(0.12.1)于前天进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Node.js。
同一分类中有:Spec Driven Development, Remote Desktop Commander, DiffCI
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Fail-closed, change-aware verification for AI coding agents with affected-test guidance.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
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.
examples/minimal.nowline:
nowline v1
roadmap minimal "Starter" start:2026-01-05 scale:2w author:"Jane Doe"
swimlane engineering "Engineering" item research "Research" duration:3w status:done item design "Design" duration:2w status:in-progress remaining:5d item build "Build" duration:3w status:planned
Renders to:
include other files with explicit merge / ignore / isolate semantics.Install the CLI from your package manager:
brew trust lolay/tap # macOS / Linux / WSL (one-time)
brew install lolay/tap/nowline
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:
nowline examples/minimal.nowline # writes ./minimal.svg
nowline --version
Or scaffold a brand-new file from a template:
nowline --init my-project # ./my-project.nowline
nowline --init my-project -t teams # ./my-project.nowline (teams template)
To give an AI agent Nowline tools, install the plugin from this repo's marketplace. In Claude Code:
/plugin install nowline --marketplace lolay/nowline
GitHub Copilot CLI and Codex read the same marketplace; see plugins/nowline/README.md for those and the other ways to add the MCP server.
For the VS Code / Cursor / VSCodium extension, search Nowline on the VS Code Marketplace or Open VSX.
`0.x` versioning.
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.
nowline roadmap.nowline # writes ./roadmap.svg
nowline roadmap.nowline -f png # writes ./roadmap.png nowline roadmap.nowline -f pdf # writes ./roadmap.pdf nowline roadmap.nowline -f html # writes ./roadmap.html nowline roadmap.nowline -f mermaid # writes ./roadmap.md nowline roadmap.nowline -f xlsx # writes ./roadmap.xlsx nowline roadmap.nowline -f msproj # writes ./roadmap.xml nowline roadmap.nowline -o roadmap.pdf # format inferred from extension nowline roadmap.nowline -o - # SVG to stdout nowline roadmap.nowline --theme dark --now 2026-03-15 nowline roadmap.nowline --now - --asset-root ./brand --no-links --strict nowline roadmap.nowline -f pdf --page-size a4 --orientation landscape --margin 0.5in cat roadmap.nowline | nowline - # stdin → ./roadmap.svg
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.
nowline roadmap.nowline --dry-run
nowline roadmap.nowline -n # short alias cat roadmap.nowline | nowline - --dry-run # read stdin nowline roadmap.nowline -n --diagnostic-format json # machine-readable output nowline - -n --format=json < roadmap.nowline # same, json is the default here
--diagnostic-format text|json picks the stderr format; with --dry-run --format=json it defaults to json, otherwise text. JSON mode writes one { "$nowlineDiagnostics": "1", "diagnostics": [...] } document to stderr whenever any diagnostic exists, warnings included, so a warnings-only source exits 0 with the document. Clean sources print nothing.
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.
nowline roadmap.nowline -f json -o roadmap.json # text → JSON
nowline roadmap.json -f nowline -o roadmap.nowline # JSON → text (canonical) nowline roadmap.nowline -f json -o - | jq '.ast.roadmapDecl.name'
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.
nowline roadmap.nowline --serve # http://127.0.0.1:4318
nowline roadmap.nowline --serve -p 4400 -t dark --open nowline roadmap.nowline --serve -o latest.svg # rewrite latest.svg on each rebuild
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.
nowline --init # ./roadmap.nowline (default name)
nowline --init my-project # ./my-project.nowline nowline --init my-plan.nowline # ./my-plan.nowline (literal) nowline --init my-project --template=teams # use the teams template
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, any include error such as a missing include, a wave rule across included files) |
| 2 | Usage error (missing input, bad flags, unsupported format, file not found, empty stdin, invalid --diagnostic-format, 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.
nowline v1 // 1. version directive (optional, must be first)
include "shared/teams.nowline" // 2. includes include "brand.nowline" config:isolate
config // 3. config section (optional) scale name: weeks style enterprise bg: blue fg: navy
roadmap r "My Roadmap" // 4. roadmap section
swimlane platform item x "Work item" duration:1w status:done
| 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. |
wave | A barrier across every swimlane: no work in the next wave starts until this one ends. |
footnote | A callout anchored to one or more entities. |
person, team | Ownership references. |
non-working, working | Days that consume no work (weekends, holidays, closures) and the exceptions that give them back. Config entries with date:, start: / end: or every:; a declaration named weekend replaces the business weekend. A dated closure with a title is labelled on the chart (Thanksgiving · 2d) and carried into the MS Project and Mermaid exports; a titled working day is labelled with the days it adds (Crunch Saturday · +1d). |
style, symbol, label, size, status, scale, calendar, default | Config and declaration entries. |
item auth "Auth refactor"
duration: 2w // duration literal: d, w, m, q, y status: in-progress // builtin or custom from config owner: sam // id reference (person or team) wave: build // barrier the item belongs to (a declared wave) after: kickoff // dependency (single) after: [kickoff, approvals] // dependency (list) remaining: 30% // percentage labels: [security, p0] // list of label ids link: https://… // URL (bare, no quotes)
A roadmap may carry an optional start:YYYY-MM-DD that anchors the timeline baseline:
roadmap platform-2026 "Platform 2026" start:2026-01-06
anchor, or any milestone with a date: property, start: is required.start:.duration: and after: only) does not need start:.includes that don't use roadmap:ignore, the parent and any included roadmap must agree on start: — both absent, or both present with the same value. Mismatches are errors, not silent overrides.include "teams.nowline" // merge everything (default)
include "snippet.nowline" config:ignore // skip child config include "partner.nowline" roadmap:isolate // render child as a separate region
merge — default: child content is merged; parent definitions win on collision.只显示了开头部分;其余内容请在仓库中阅读