Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Turn your team's rules into checks your AI agent can't skip. Deterministic, no AI inside.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
ลิงก์ไปที่ไฟล์ของผู้ทำเอง เราไม่ได้เก็บหรือแพ็กใหม่ เปิดไฟล์แล้ว Claude Desktop จะติดตั้งให้
พิมพ์คำสั่งนี้ใน Terminal
เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 6 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub leaderiop ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.1.0-rc1) เข้า registry 15 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี MCPB ในเครื่องด้วย
ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, topo^alpin
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
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.
Avalanche bulletins and mountain weather forecasts for any place in the Alps.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
See it in 60 seconds · How it works · What you can build · Docs
SpecForge turns what your organisation knows into rules your AI can't skip.
You write down your things, how they link, and the rules they must obey. SpecForge compiles that into one typed, checked graph. People and AI agents read it and change it through standard protocols (CLI, MCP, LSP), and a change that breaks a rule is refused, whoever made it.
It works for software specs, product plans, quality procedures, or any field with rules worth checking. SpecForge doesn't know your field until you install an extension that teaches it.
AI can now do real work: write code, draft a launch plan, prepare a batch record. What it works from is the weak part.
The knowledge that should guide it sits in places nothing enforces:
The more work you give to AI, the worse this gets. It produces faster than anyone can review.
This isn't a problem with the model. It's a problem with where your rules live.
There are two ways to teach an AI how your organisation works.
A soft skill is advice placed in the AI's context: a prompt, a Markdown spec, a policy PDF, a skill file. It helps, but it's prose. The AI may follow it, or not.
A hard skill is a rule a program enforces. The AI can't skip it, because the check fails and says why.
| | Soft skill prompt, Markdown spec, policy, skill file | Hard skill SpecForge extension | |---|---|---| | Lives in | The AI's context window, as prose | A compiler, as code | | Can the AI ignore it? | Yes, silently | No: the check fails | | Same verdict twice? | Not always | Always. There's no AI inside | | Knows what's missing? | No | Yes: broken links, unenforced rules, unproven promises | | Shared how? | Copied between files | Versioned and installed, like a library |
SpecForge is an engine for hard skills. Think of it as a type checker for what your organisation means.
| Part | What it is | In plain words |
|---|---|---|
| Extensions | WASM packages that declare entity kinds, their fields and links, the rules that judge them, and commands | The "apps": they teach SpecForge a domain |
| The graph | Every entity and link, compiled from small .spec files in your repository | The "memory": one source of truth |
| Validation | The extensions' rules plus structural checks, on every compile and every edit | The "referee": a change that breaks a rule is refused, whoever made it |
| Surfaces | CLI, MCP, LSP with a VS Code extension, and a package registry | The "doors" people and agents come in through |
| AI models | Claude or any other agent, driving SpecForge from outside, mostly over MCP | The "brain": bring your own |
The core grammar knows five structural words: spec, ref, use, define, defaults. Every other word in a spec (behavior, persona, invariant, campaign, procedure) and every rule ("an invariant must be enforced by a behavior", "a journey's persona must exist") exists only because an extension declares it.
These extensions ship inside the binary, as a starter set:
| Extension | What it declares |
|---|---|
@specforge/software | Behaviors, events, types, and interfaces (ports) |
@specforge/product | Features, personas, channels, journeys, deliverables, milestones, releases, modules, and your team's vocabulary (terms) |
@specforge/governance | Rules that must always hold (invariants), decisions, constraints, and failure modes |
@specforge/formal | Properties and axioms that an SMT solver proves or refutes |
@specforge/testing, @specforge/cargo-test, @specforge/vitest | Which of your tests prove which entities |
@specforge/rust, @specforge/typescript | Source analysis that helps an agent write a spec from existing code |
Turn one on with specforge add @specforge/product. The full list is in the extension inventory. To teach SpecForge your own field, see Extending SpecForge and the extension SDK.
@gsd/*) is being designed; the others are not started.The use cases say what works today and what is roadmap for each, and examples has projects you can run.
No agent needed. Install, create a product plan, then try to break it:
curl -fsSL https://raw.githubusercontent.com/leaderiop/SpecForge/main/install.sh | sh
mkdir launch-plan && cd launch-plan specforge init --extensions @specforge/product # a persona, a channel, a journey, a milestone specforge link onboarding channels email # point the journey at a channel that doesn't exist
error[E080]: the edit would leave the project with 1 error it does not have; nothing was written
error[E003]: unresolved reference 'email' in entity 'onboarding'
The edit is refused and nothing is written. Declare the channel first, and the same edit goes through:
specforge new channel email "Email newsletter" --in spec/hello.spec --description "The monthly newsletter" --status active
specforge link onboarding channels email specforge product persona-channels developer # cli, email
An agent makes the same edits over MCP, and gets the same refusals. Hand-written files get the same check:
mkdir ../sf-demo && cd ../sf-demo
specforge init --extensions @specforge/software # spec/hello.spec, which checks clean sed -i.bak 's/\[user_logged_in\]/[user_loged_in]/' spec/hello.spec # drop one letter specforge check
[E003] Error: unresolved reference 'user_loged_in' in entity 'authenticate_user'
20 │ produces [user_loged_in] │ Help: did you mean 'user_logged_in'?
[W007] Warning: event 'user_logged_in' is not produced by any behavior
1 error, 1 warning, 0 infos
A reviewer reads. A check resolves. Errors always fail the check; warnings fail it too with specforge check --strict, which is what you run in CI.
1. Install. SpecForge is a single binary with no dependencies.
curl -fsSL https://raw.githubusercontent.com/leaderiop/SpecForge/main/install.sh | sh
Other ways to install
# Homebrew (once the tap is published)
brew install leaderiop/tap/specforge
cargo binstall --git https://github.com/leaderiop/SpecForge specforge-cli
git clone https://github.com/leaderiop/SpecForge && cd SpecForge cargo install --path crates/surfaces/cli
Prebuilt archives for macOS, Linux and Windows are on the Releases page. Formal proofs (@specforge/formal) also need the z3 solver on your PATH; everything else works without it.
2. Create a project with the extensions your work needs:
specforge init --extensions @specforge/software,@specforge/product
This writes a specforge.json and a first file in spec/. In a Cargo or vitest project, it also turns on the matching test runner.
3. Connect your agent. SpecForge speaks MCP, so any MCP client can read, query and edit the graph. Use an absolute path:
claude mcp add specforge -- specforge mcp /path/to/your/project
In Cursor, one click adds it for the open project (${workspaceFolder}):
Other MCP clients
{
"mcpServers": { "specforge": { "command": "specforge", "args": ["mcp", "/path/to/your/project"] } } }
4. Ask your agent. For example:
Write a spec in
spec/for the feature I described: the behavior, the rules it must never break, the events it
emits, and what proves each one. Validate it with the SpecForge tools and fix every error before you show it to me.
5. Read the result yourself.
specforge check # is the graph consistent?
specforge review # what is still unproven?
6. Link your proof. For software, each test names the entity and obligation it proves. Follow the Rust or vitest guide, then run specforge collect. It asks once before running your test command, and records what each test proves.
You'll want to read it, because the graph is what you approve. You rarely need to write it: your agent writes and fixes the files, or edits them through specforge new, set and link, and the check tells it when it's wrong.
It's built to be easy to read. Each block is one thing, with a kind, a name, a title, and fields, like a filled-in form:
channel email "Email newsletter" {
description "The monthly newsletter" status active }
To write specs by hand, start with the authoring tutorial, the worked example and product getting started.
| Surface | Status | What it's for |
|---|---|---|
CLI (specforge) | Shipped | Check, query, export, typed edits, CI |
| MCP server (specforge mcp) | Shipped
ตัดมาแค่ช่วงต้น อ่านต่อใน repo