Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Inspect, verify, diff, and scaffold a pracht app's routes, API, and capabilities from its app graph.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"pracht": {
"command": "npx",
"args": [
"-y",
"@pracht/cli",
"dev-mcp"
]
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add pracht -- npx -y @pracht/cli dev-mcpวางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"pracht": {
"command": "npx",
"args": [
"-y",
"@pracht/cli",
"dev-mcp"
]
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"pracht": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@pracht/cli",
"dev-mcp"
]
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub JoviDeCroock ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (1.17.0) เข้า registry 12 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย
ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, Aiterm MCP
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.
Persistent terminals and one launcher for Claude, Codex, Grok, Cursor, and Antigravity harnesses.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
Command-line tool for developing, building, validating, and scaffolding pracht apps.
npm install @pracht/cli
pracht devStart the local development server with SSR and HMR.
pracht dev
pracht dev --port 4000 pracht dev --cache-dir /tmp/pracht-vite-cache
--cache-dir overrides Vite's node_modules/.vite cache. Give concurrent dev servers separate directories when they run against the same project checkout.
pracht buildCreate a production build with client/server output and SSG/ISG prerendering.
pracht build
pracht build --analyze # per-route client JS report (gzip + raw) pracht build --json # same report as JSON (agent-friendly) pracht build --no-budget-fail # report exceeded budgets without failing
--analyze prints, per route (pattern + render mode), the transitive client chunks it loads with raw and gzip sizes, a total row, and the shared entry chunks broken out. Output respects NO_COLOR.
When the pracht plugin config declares budgets (e.g. budgets: { "*": "120kb", "/dashboard": "200kb" }), every build evaluates the per-route gzip client-JS ceilings, writes dist/server/budget-report.json, and exits non-zero on exceeded budgets unless --no-budget-fail is passed. See docs/PERFORMANCE.md.
For Node.js targets, run the built server with:
node dist/server/server.js
pracht previewServe the production build locally. Runs pracht build first (skip with --skip-build), then serves the output for the configured adapter:
dist/server/server.js on --port (or $PORT, default 3000).wrangler dev against the built worker; requires wrangler in node_modules or on your PATH plus a wrangler config.vercel build / vercel dev instead.pracht preview
pracht preview --port 4000 pracht preview --skip-build
pracht verifyRun fast framework-aware verification checks without paying for a full build or test loop. Use --changed to focus on changed manifest-managed files and --json for machine-readable output. When dist/server/budget-report.json exists (written by pracht build when budgets are configured), the last build's client JS budget results are surfaced as checks.
When the app declares defineApp({ constraints }) or commits a .pracht/app-graph.json snapshot, verification also resolves the live app graph, enforces every constraint, and fails if the snapshot is stale (fix with pracht plan --write).
pracht verify
pracht verify --changed pracht verify --json
Use the browser-backed subcommand for routes that expose WebMCP page tools:
pracht verify webmcp --url http://localhost:3000
pracht verify webmcp --start "pracht preview" --json
It launches an installed Chrome 150+ build with WebMCP testing enabled, compares the native route-scoped tool registry with the resolved app graph, and verifies navigation cleanup. Framework-owned pracht_* development tools are excluded from app-graph parity. Pracht never downloads an unpinned browser; pass --browser /path/to/chrome in CI. --scenario accepts explicit safe WebMCP eval files when invocation/cancellation proof should join the report.
pracht evalRun scripted capability scenarios over HTTP (default), remote MCP ("transport": "mcp"), or native WebMCP ("transport": "webmcp" plus "webmcpRoute"). A WebMCP step can set cancelAfterMs to prove host cancellation reaches the dispatch path.
pracht eval --start "pracht preview"
pracht eval evals/notes-webmcp.eval.json --browser /path/to/chrome --json
pracht planSemantic app-graph diff against a base git ref. Reads the .pracht/app-graph.json snapshot committed at the base ref (a route-graph lockfile), resolves the live graph, and prints the routes, API endpoints, and constraints that were added, removed, or changed — an intent-level changelog for reviewers. Per-route gzip sizes are annotated when the last build wrote a budget report.
pracht plan # diff against origin/main
pracht plan --base main pracht plan --markdown # fenced diff for PR comments pracht plan --json # full structured payload pracht plan --write # refresh .pracht/app-graph.json (commit it)
pracht reportAssemble a PR-ready markdown report from machine truth: the pracht plan diff, pracht verify results, and the last build's client JS budget table. Use it as the factual half of a PR description.
pracht report
pracht report --base main --out pr-report.md
pracht llmsPrint the embedded pracht authoring guide for coding agents (project layout, conventions, the verify → plan → report loop). --write saves it as llms.txt in the app root so agents pick it up automatically.
pracht llms
pracht llms --write
pracht docsRead the pracht docs that ship inside this package, so they match the installed version and work offline. With no topic it lists the pages; a topic prints one as Markdown (slug#section prints one section); --search finds sections. The files are also in node_modules/@pracht/cli/docs/.
pracht docs
pracht docs routing pracht docs --search "loader revalidate"
pracht generate routeCreate a new route module. In manifest apps this also updates src/routes.ts. When the app has a Playwright setup (playwright.config.* or an e2e/ directory), a smoke test is emitted at e2e/ .spec.ts as well — --no-test skips it, --test forces it. Generated tests import @playwright/test; when that dependency is absent, the command prints an install follow-up (for example, pnpm add -D @playwright/test).
pracht generate route --path /dashboard --render ssr --shell app --middleware auth
pracht generate route --path /blog/:slug --render ssg --no-test
pracht generate shellCreate a shell module and register it in the app manifest.
pracht generate shell --name app
pracht generate middlewareCreate a middleware module and register it in the app manifest.
pracht generate middleware --name auth
pracht generate apiCreate an API route under src/api/.
pracht generate api --path /health --methods GET,POST
pracht inspectInspect the resolved app graph. Use --json for agent/tool consumption.
pracht inspect --json
pracht inspect routes --json pracht inspect api --json pracht inspect capabilities --json pracht inspect agents --json pracht inspect build --json
pracht inspect agents summarizes the configured agent surface: Web Bot Auth policy and keys, the destructive-confirmation mode, the remote MCP endpoint, whether llms.txt is generated, and which capabilities are exposed on which transports. The llms.txt state comes from the resolved production server-build configuration, including build- or production-only options. If an older installed @pracht/vite-plugin cannot expose that state, JSON reports null and text reports unknown rather than treating missing metadata as disabled. The JSON report also includes mcpEndpoint, mcpDestructive, mcpRuntimeStatus, and mcpUnavailableReasons; text marks declarations mcp(unserved) or mcp(unverified) when inspection cannot confirm that the tool is reachable.
pracht typegenGenerate src/pracht.d.ts and src/pracht-routes.ts from the resolved route graph for typed , route-object useNavigate(), and href() helpers, plus typed API route registrations for apiFetch(). API modules are not executed during generation. Use --check in CI to fail when generated files are stale. After the first generation, pracht dev keeps the default outputs current; before it, the dev banner prints a one-line setup tip.
pracht typegen
pracht typegen --check
pracht doctorValidate the local app wiring across the whole project. Use --json for machine-readable output.
pracht doctor
pracht doctor --json
pracht dev-mcpStart a Model Context Protocol server on stdio that exposes inspect, doctor, verify, plan, report, generate, the authoring guide, and the bundled docs (get_docs, list_docs, search_docs) as native tools for coding agents. See docs/MCP.md for client registration and the tool reference.
pracht dev-mcp