Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Arroway orchestrates people and AI agents around the decisions in force.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
ใช้ได้ทั้ง Claude บนเว็บ แอปคอมพิวเตอร์ และมือถือ:
https://www.arroway.app/api/mcpพิมพ์คำสั่งนี้ใน Terminal
claude mcp add --transport http arroway https://www.arroway.app/api/mcpวางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"arroway": {
"url": "https://www.arroway.app/api/mcp"
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"arroway": {
"type": "http",
"url": "https://www.arroway.app/api/mcp"
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ChatGPT ต่อได้เฉพาะ server ที่อยู่บนอินเทอร์เน็ต:
https://www.arroway.app/api/mcpชื่อเมนูอาจต่างกันเล็กน้อยตามแพ็กเกจและรุ่นของแอป
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
ชื่อและคำอธิบายเครื่องมือตามที่ server ตอบมาเมื่อ 8 พ.ย. 2569 ผู้ทำเป็นคนเขียน ไม่ใช่เรา แสดงเป็นข้อความล้วน
arroway_readRead Arroway for a project BEFORE acting on any task related to it. Name a #handle in include to recover that object's full body.
arroway_continueFetch the next part of a read that did not fit (read_id and receipt of the preceding part). Returns the next slice with a new receipt; the part marked complete is the last. OPTIONAL: the first part already counts as delivered.
arroway_complete_readAcknowledge the final part of a multi-part Arroway read with its read_id and receipt, closing the sequence. It is not a precondition for working.
arroway_catch_upCall ONCE at the START of a session, before there is a task: recent work across this person's projects, opening with the roster and open handoffs.
arroway_search_logFind WHERE a literal term appeared in the recent dated log, in one project or all of them. It searches what happened, not curated memory.
arroway_normsCall in the seconds BEFORE you tell the person something or propose a course of action: returns what is already decided AND THEN A MAP of the titles and handles. arroway_read include GUARANTEES a mapped one in full; it does not make that read any cheaper, so use it to be sure, ne
arroway_logRecord the durable residue of a COMPLETED task: what someone arriving later needs in order not to redo it. ALWAYS write the authored essence (only a frozen catalog without that field may omit it). If a read memory's 'dies when' came true, name it in fulfills.
arroway_rememberSave a durable memory (decision/rule/fact/preference/reference/identity) only when it would change a DIFFERENT task. Unsanctioned in THIS conversation, it is a PROPOSAL. 'identity' is WHO someone is: the user's circle goes in their personal project, a business's people in that bu
arroway_verifyRecord what a memory's source says when your work ALREADY took you there — never go verifying memories as a task. A conflicting one: propose the correction with arroway_remember. On a FINDING, source_gone archives it and a conflict is corrected in place.
arroway_start_projectOpen a NEW project when the work has no home; it needs slug, name and scope. Propose them to the person FIRST. update=true renames a project you own and rewrites its scope when the person asks or the scope is wrong; the slug stays. invite brings someone in by email.
arroway_withdrawTake back a pending PROPOSAL that turned out wrong, usually because the person corrected you. Not for sanctioned memories. If the corrected version is durable, also write it with arroway_remember.
arroway_retireRetire a SANCTIONED memory when the person told you to remove it and nothing replaces it. With a corrected version, use arroway_remember supersedes_id; for your own pending proposal, arroway_withdraw.
arroway_exportExport what a project has DECIDED, as a pack for another project. Only sanctioned, live memories travel: a FINDING never was one, so findings stay and the answer tells you how many did.
arroway_importBring a memory pack made by arroway_export INTO a project. Everything lands as a PROPOSAL for the person's review and nothing is pinned, whatever the pack says. If any part is malformed, nothing is imported.
arroway_moveMove something to the project it belongs in. A memory is only PROPOSED: the change waits for the person's review, because moving changes who sees it. A log entry you wrote moves at once, text unchanged.
arroway_passCall when you STOP with the task unfinished: it leaves a HANDOFF served at the top of every read until someone closes it; a completed task ends in arroway_log instead. ALWAYS write the authored essence (only a frozen catalog without that field may omit it).
arroway_claimMark that you are taking an open handoff BEFORE working on it. A claim is a mark, never a lock. Addressing rule: addressed to YOUR user — take it; to someone else — only a human in this conversation can decide to take it, and an autonomous session must leave it.
arroway_closeClose an open handoff when its work is DONE, alongside the arroway_log entry that records the residue. Work that removes what an open handoff exists to fix closes that handoff in the same pass — even when the handoff is someone else's. So this is also the call for someone ELSE's
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 9 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub oaleviola ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตอบกลับใน 239 ms (HTTP 200)
ไม่ต้องล็อกอิน
อ่านคำอธิบายเครื่องมือ 18 ตัวแล้ว ไม่พบคำสั่งแอบแฝงถึง AI
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 3 จาก 3 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
รันบนคลาวด์ของผู้ทำ ต่อผ่านอินเทอร์เน็ตได้เลย ไม่ต้องลงโปรแกรม แต่ข้อมูลที่ส่งให้จะผ่านเซิร์ฟเวอร์ของผู้ทำ
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.1.45) เข้า registry 33 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต่อผ่าน URL จึงใช้กับโปรแกรมที่รับ remote MCP ได้ เช่น ChatGPT ที่เปิดโหมดนักพัฒนา
ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, Agilitycms MCP
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:↓ ดาวน์โหลดต่อสัปดาห์i★ ดาว 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.
An MCP server that provides access to Agility CMS. See https://mcp.agilitycms.com for more details.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
Arroway orchestrates people and AI agents around the decisions in force.
English · Español · Português
Your team writes down what it decided; every teammate's AI reads it before it acts, and leaves behind what someone arriving later would need in order not to redo the work.
This repository is the plugin: the connection to Arroway, the working protocol, and the hooks that make an assistant read before it changes anything and record when it finishes.
claude plugin marketplace add oaleviola/arroway-plugin
claude plugin install arroway@arroway
Nothing to paste, and no separate connector to install: the package carries the connection to Arroway's own address. It starts signed out, so sign in once. In Claude Code, run /mcp, choose plugin:arroway:arroway and follow the sign-in in the browser. Approve the connection as yourself, and the memory your assistant writes from then on carries your name. Until you sign in, Arroway's tools do not appear and nothing is read or recorded. If Arroway is already connected to your Claude account as a connector and its tools already show up, you can skip this step.
Add https://github.com/oaleviola/arroway-plugin as a plugin marketplace in Cursor, then install arroway from the plugin list.
Nothing to paste here: the Cursor package carries Arroway's own address and signs you in through the browser the first time it needs you. Approve the connection as yourself, and the memory your assistant writes from then on carries your name.
You don't need this repository: add Arroway as a connector instead, from the same Connections page.
If your agent reads agent skills but there is no Arroway plugin for it, add the workflow skill with the skills CLI:
npx skills add oaleviola/arroway-plugin
The skill teaches your agent to read Arroway before acting and to close each task. It still needs Arroway connected as an MCP server at https://www.arroway.app/api/mcp. Where your client has the plugin, use the plugin: it brings the connection and the hooks too.
Point it to llms-install.md: the steps for each client, written for an agent, Cline and any other MCP client included.
Once you are signed in there is nothing to call by hand: the skill tells your assistant when to use Arroway. It happens at four moments, and this is what each one looks like.
arroway_read for your project and answers from what the team already decided. If two decisions conflict, it tells you instead of picking one.arroway_norms returns what is already decided, at a fraction of the cost of a full read, right before the assistant tells you something or proposes a course of action.arroway_log records what someone arriving later would need in order not to redo the work. If nothing durable came out of the task, the assistant says so in one sentence: *No durable residue.*arroway_pass leaves where the work stands, the single next step, what must not be redone and the risk still open. The next person's assistant finds it at the top of its first read and takes it with arroway_claim.You can also ask for these directly:
arroway_catch_uparroway_search_logarroway_remember. What you state yourself is recorded as your decision; what an assistant proposes on its own waits for a person to approve it.A short example: one assistant researches a pricing change and records a proposal. A person approves the decision. Another assistant drafts the pricing page using that decision, and the next person can see what was decided, who approved it and what remains open.
Screens from a demo account with sample data.
What waits for you, across projects. Decisions an assistant proposed sit in one place until a person decides.
Inside a project. An assistant's proposals wait for approval (approve, approve and pin, reject or correct), and the rules the team pinned are what every connected assistant reads first.
Your own standing rules. How you work travels with you into every project, and no one else sees it.
plugin/skills/ — the working protocol: read before acting, record when a task ends, hand work forward when you stopplugin/hooks/ — the gates that ask for those two moments instead of only describing them, and for a check of the text before something is published for other peopleplugin/.mcp.json — the Claude Code connection, which uses Arroway's own address; identity comes from signing inplugin/.cursor-plugin/, plugin/cursor-mcp.json, plugin/hooks/cursor-hooks.json — the same package as Cursor reads it: its own manifest and hook format, Arroway's own address, no link to pasteplugin/assets/ — icons and wordmarksThe plugin's permission hook (Claude Code and Codex) exists only so you can answer, from your own Arroway cockpit, a permission request your agent made. It never approves anything on its own. An approval is valid for that one request only: the hook fingerprints the exact request on your machine and accepts an "allow" only when it comes back bound to that fingerprint and to a single-use code, signed with the session's credential. Without your answer — or with the cockpit off, the server unreachable, or anything that does not match — the window asks as usual. You can also deny from the cockpit, and every decision is recorded.
It is generated. The source lives elsewhere and is published here automatically whenever it changes.
Please do not open pull requests or edit files here — changes made in this repository are overwritten on the next publish, and a fix that lands here never reaches the product. Two edits, one of them silently lost, is the exact failure this note exists to prevent.
Found a problem, or want to suggest something? www.arroway.app/support. For a security problem, see SECURITY.md. How to help is in CONTRIBUTING.md, and everyone here follows the code of conduct.
Arroway · How it works · Privacy · Terms · Changelog
English · Español · Português
Arroway coordina a personas y agentes de IA en torno a las decisiones vigentes. Tu equipo anota lo que decidió; la IA de cada persona lo lee antes de actuar, y deja atrás lo que alguien que llegue después necesitaría para no rehacer el trabajo.
Este repositorio es el plugin: la conexión con Arroway, el protocolo de trabajo, y los hooks que hacen que un asistente lea antes de cambiar nada y registre cuando termina.
claude plugin marketplace add oaleviola/arroway-plugin
claude plugin install arroway@arroway
No hay nada que pegar, ni un conector aparte que instalar: el paquete lleva la conexión con la dirección de Arroway. Empieza sin sesión iniciada, así que entra una sola vez. En Claude Code, ejecuta /mcp, elige plugin:arroway:arroway y sigue el inicio de sesión en el navegador. Aprueba la conexión en tu propio nombre, y la memoria que tu asistente escriba desde entonces lleva tu nombre. Hasta que entres, las herramientas de Arroway no aparecen y no se lee ni se registra nada. Si Arroway ya está conectada a tu cuenta de Claude como conector y sus herramientas ya aparecen, puedes saltarte este paso.
Añade https://github.com/oaleviola/arroway-plugin como marketplace de plugins en Cursor y luego instala arroway desde la lista de plugins.
Aquí tampoco hay nada que pegar: el paquete de Cursor lleva la dirección de Arroway y te hace entrar por el navegador la primera vez que te necesita. Aprueba la conexión en tu propio nombre, y la memoria que tu asistente escriba desde entonces lleva tu nombre.
No necesitas este repositorio: añade Arroway como conector, desde la misma página de Conexiones.
Si tu agente lee skills pero no hay plugin de Arroway para él, añade la skill de trabajo con la CLI de skills:
npx skills add oaleviola/arroway-plugin
La skill le enseña a tu agente a leer Arroway antes de actuar y a cerrar cada tarea. Sigue necesitando Arroway conectada como servidor MCP en https://www.arroway.app/api/mcp. Donde tu cliente tiene el plugin, usa el plugin: trae también la conexión y los hooks.
Muéstrale llms-install.md: los pasos de cada cliente, escritos para un agente, incluidos Cline y cualquier otro cliente MCP.
Una vez que has entrado, no hay nada que invocar a mano: la skill le dice a tu asistente cuándo usar Arroway. Ocurre en cuatro momentos, y así se ve cada uno.
arroway_read para tu proyecto y responde a partir de lo que el equipo ya decidió. Si dos decisiones se contradicen, te lo dice en vez de elegir una.arroway_norms devuelve lo que ya está decidido, por una fracción del costo de una lectura completa, justo antes de que el asistente te diga algo o proponga un camino.arroway_log registra lo que alguien que llegue después necesitaría para no rehacer el trabajo. Si de la tarea no salió nada duradero, el asistente lo dice en una frase: *No durable residue.*arroway_pass deja dónde está el trabajo, el único paso siguiente, lo que no se debe rehacer y el riesgo que sigue abierto. El asistente de la siguiente persona lo encuentra al principio de su primera lectura y lo toma con arroway_claim.También puedes pedir estas cosas directamente:
arroway_catch_uparroway_search_logarroway_remember. Lo que dices tú queda registrado como decisión tuya; lo que un asistente propone por su cuenta espera a que una persona lo apruebe.Un ejemplo corto: un asistente investiga un cambio de precios y registra una propuesta. Una persona aprueba la decisión. Otro asistente redacta la página de precios usando esa decisión, y la siguiente persona puede ver qué se decidió, quién lo aprobó y qué sigue abierto.
Pantallas de una cuenta de demostración con datos de ejemplo (la interfaz de las capturas está en inglés).
**Lo que
ตัดมาแค่ช่วงต้น อ่านต่อใน repo