Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Agentic pipeline orchestration MCP server for AI-driven development workflows.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
PIPELINE_STATE_PATH, JUNAI_WORKSPACE_ROOTต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"junai": {
"command": "uvx",
"args": [
"junai-mcp"
],
"env": {
"PIPELINE_STATE_PATH": "ใส่ค่าของคุณ",
"JUNAI_WORKSPACE_ROOT": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add junai --env PIPELINE_STATE_PATH='ใส่ค่าของคุณ' --env JUNAI_WORKSPACE_ROOT='ใส่ค่าของคุณ' -- uvx junai-mcpเติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"junai": {
"command": "uvx",
"args": [
"junai-mcp"
],
"env": {
"PIPELINE_STATE_PATH": "ใส่ค่าของคุณ",
"JUNAI_WORKSPACE_ROOT": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"junai": {
"type": "stdio",
"command": "uvx",
"args": [
"junai-mcp"
],
"env": {
"PIPELINE_STATE_PATH": "ใส่ค่าของคุณ",
"JUNAI_WORKSPACE_ROOT": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
PIPELINE_STATE_PATH envJUNAI_WORKSPACE_ROOT envค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub saajunaid ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.1.1) เข้า registry 9 เดือนที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Python (uv) ในเครื่องด้วย
ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, Excaliself
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.
Find, read, create, edit, and organize Excalidraw drawings in your self-hosted Excaliself instance.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
[Browse every command, skill, agent and hook -> saajunaid.github.io/caddis-plugin](https://saajunaid.github.io/caddis-plugin/) — the reference site, rebuilt on every publish.
caddis is a Claude Code harness — a plugin (plus a shared pool of skills, subagents, slash-commands, and hooks) that makes a single Claude Code session dramatically more capable and much harder to derail. It's *agent-agnostic*: the same pool is exported to other AI CLIs (Codex, Antigravity, Copilot), and CLAUDE.md↔AGENTS.md are mirrors so every agent reads the same conventions.
| You need | Why |
|---|---|
| Claude Code, installed and signed in | caddis is a plugin for it |
Python 3.11+ on PATH | the hooks and the cross-review tool are Python |
| Git | several commands read repository state |
| *(optional)* an API key for DeepSeek or GLM | only for cross-vendor review and the OSS lanes |
Honest about the platform: caddis is developed and used daily on Windows with PowerShell. The hooks are pure Python and cross-platform, and the skills, commands and agents are plain markdown that work anywhere — but some launchers ship as both .ps1 and .sh, the deployment skill is Windows-specific, and the publishing machinery (sync.ps1) is PowerShell-only. Nothing here is hostile to macOS or Linux; it is simply less travelled, so expect rough edges and please report them.
claude plugin marketplace add saajunaid/caddis-plugin
claude plugin install caddis@caddis
Then, in a Claude Code session, confirm it actually loaded:
/caddis:version
If that prints a version, you are installed. From there, the shortest path to seeing what caddis is *for*:
| Try this | What it does |
|---|---|
/caddis:feature-plan add CSV export | writes a phased, TDD-structured plan to .caddis/plans/ — the durable spine the rest of the harness reads |
/caddis:implement | executes that plan phase by phase, committing each, and stops only at a real boundary |
/caddis:cross-review | has a *different vendor's* model review your diff, because a same-vendor reviewer shares your blind spots |
/caddis:handoff | writes the resume doc, so the next session starts with zero re-discovery |
Everything else is optional. If you only ever use feature-plan → implement → cross-review, you have most of the value.
This repository is the published marketplace mirror: it hosts the caddis and caddis-extras Claude Code plugins, the portable per-harness bundles under bundles/, and the shared pool. It is generated and pushed by the caddis authoring repo's exporter — issues are welcome here, but code changes land upstream and are synced in.
# 1. Register this repo as a plugin marketplace (once)
claude plugin marketplace add saajunaid/caddis-plugin
claude plugin install caddis@caddis
claude plugin install caddis-extras@caddis
Then, in any repo:
/caddis:setup-project-ai # deploy the harness into the project
A normal working loop looks like:
/feature-plan # (or /prd first) → writes .caddis/plans/<slug>.md, the durable spine
/implement # executes the plan phase-by-phase, TDD, commit per phase /ship # express lane: commit → push → CI (hotfixes); feature work: /ship-pr then /ship-merge /handoff # ALWAYS end a session with this — writes the resume doc
The one habit that matters most: end every session with `/handoff`. It writes .caddis/relay.md, which is re-injected automatically at the next session start — you resume with zero re-discovery instead of a cold, forgetful session.
See USERGUIDE.md for the full command/skill/hook reference and the mental models.
/feature-plan, /prd, /implement, /tdd, /ship · /ship-pr · /ship-merge, /handoff, /kb, /digress · /resume, /cross-review, /usage-review, /mermaid-db · /excalidraw-db, /setup-project-ai, /migrate-dir.anchor (evidence-first verification), code-reviewer, preflight (plan-vs-codebase validation), tester, debug, codebase-audit, security-analyst, data-engineer, sql-expert, knowledge-transfer.relay.md), automatic Dream Memory (memory.jsonl), a per-repo knowledge base (.caddis/kb/ + DOC-MAP.md), and cross-repo memory.caddis; the long tail (cloud, data, media, productivity) lives in caddis-extras, off by default.The knowledge layer (skills + AGENTS.md conventions) works in any harness. Per-harness bundles are published under bundles/ and installed with caddis-init:
# from a checkout of this repo (the installer ships in plugin/scripts/)
python plugin/scripts/claudster_init.py --target codex --dest /path/to/project python plugin/scripts/claudster_init.py --target antigravity --dest /path/to/project
Safe by design: a sha256 manifest tracks what the installer wrote; re-runs update only unmodified files, and anything you edited locally is reported as a conflict, never overwritten.
| Path | What it is |
|---|---|
.claude-plugin/marketplace.json | The marketplace manifest (caddis + caddis-extras) |
plugin/ | The core caddis Claude Code plugin (agents, commands, hooks, core skills) |
plugin-extras/ | The caddis-extras skill library (disabled by default) |
bundles/ | Portable per-harness exports (codex, antigravity) for caddis-init |
.github/ | The shared pool: skills, agents, prompts, instructions, tools |
sync.ps1, export_runtime_resources.py, validate_pool.py | The build/sync machinery |
caddis was previously published as claudster (and, before that, this repo hosted the junai Copilot pipeline — see the pre-1.2 entries in CHANGELOG.md). Repos set up under the old name have a .claudster/ artifact dir; everything reads both .caddis/ and .claudster/ and writes where the repo already lives, so nothing breaks. Run /caddis:migrate-dir when you want a repo converted. The ~/.claudster/ user scope (keys, install records) is permanent.
MIT. The published plugin bundles (caddis / caddis-extras) carry the same license in their manifests.