# DevStack — NVX Stack Builder > NVX Stack Builder (https://devstack.bid) turns npm, nvm, npx, pip and PyPI setup commands into ordered, de-duplicated, bilingual (Thai/English) Stack Templates that people review and run themselves. The server never executes commands. Every page below is the exact Markdown source from the repository's docs/ folder (text/markdown, UTF-8). Docs are written in Thai with English technical terms. The rendered page is the same URL without `.md`. ## Start here (เริ่มต้นที่นี่) - [เอกสาร DevStack · ยินดีต้อนรับ](https://devstack.bid/docs/index.md): สวัสดี และยินดีต้อนรับสู่เอกสารของ DevStack (devstack.bid) เราสร้าง NVX Stack Builder ขึ้นมาเพราะเบื่อการเริ่มโปรเจกต์ใหม่แล้วต้องไล่ค้นคำสั่งจากสิบแท็บ ว่าต้องติดตั้งอะไรก่อนหลัง บน Windows ต้องพิ… ## User guide (คู่มือผู้ใช้) - [เริ่มต้นใช้งาน · Getting started](https://devstack.bid/docs/user-guide/getting-started.md): หน้านี้คือจุดเริ่มต้นที่เราอยากให้ทุกคนได้อ่านก่อน เราจะพาคุณจาก "ยังไม่รู้จักแอป" ไปจนได้สคริปต์ตั้งค่าโปรเจกต์ที่รันได้จริงภายในไม่กี่นาที และระหว่างทางจะเล่าด้วยว่าทำไมเราถึงออกแบบแต่ละขั้นแบบนี้ - [การใช้ Stack Template · Using templates](https://devstack.bid/docs/user-guide/templates.md): Stack Template คือ "สูตร" ตั้งค่าโปรเจกต์ที่เราคัดสรรและทดสอบมาแล้ว เราเขียนแต่ละเทมเพลตเป็นไฟล์ข้อมูล TypeScript ใน src/data/templates/ แทนการซ่อนไว้ในคอมโพเนนต์ ทุกคนในชุมชนจึงเปิดอ่าน ตรวจทาน ทด… - [ตัวสร้างสแต็ก 4 ขั้น · The builder](https://devstack.bid/docs/user-guide/builder.md): ตัวสร้าง (/builder) คือหัวใจของ NVX Stack Builder มันรับ "การตั้งค่า" (BuilderConfig) กับ "การแก้ไขของคุณ" (BuilderEdits) แล้วคำนวณลำดับคำสั่งสุดท้ายแบบเรียลไทม์ ในหน้านี้เราจะเล่าทั้งวิธีใช้และเหต… - [AI agent planner](https://devstack.bid/docs/user-guide/ai-agent.md): AI agent ของเราช่วยแปลง "คำอธิบายแอปเป็นภาษาคน" ให้เป็นแผนสแต็ก (AgentPlan) ที่โหลดเข้าตัวสร้างได้ทันที เล่าเป็นไทยหรืออังกฤษก็ได้ ในหน้านี้เราจะอธิบายสามโหมดการทำงาน เหตุผลที่เราออกแบบแบบนี้ และสิ… - [Chat (User Chat)](https://devstack.bid/docs/user-guide/chat.md): หน้า /chat คือแชต AI ฟรีของเรา ถามได้ทุกเรื่องทั้งภาษาไทยและอังกฤษ ให้ช่วยเขียนโค้ด หรือพิมพ์คำบรรยายแล้วให้มันวาดภาพให้ ไม่ต้องสมัครสมาชิก ไม่ต้องมี key - [Dev Chat](https://devstack.bid/docs/user-guide/dev-chat.md): หน้า /chat/dev สำหรับนักพัฒนา เราให้คุณคุยกับ Image and Research Orchestrator agent ที่สร้างด้วย OpenAI Agents API มันทำงานร่วมกับ subagent ผู้เชี่ยวชาญ ค้นคว้าเอกสาร Agents SDK และเอกสาร DevStack,… - [Sandbox Factory (ใช้ key ของตัวเอง)](https://devstack.bid/docs/user-guide/sandbox-factory.md): หน้า /factory ให้คุณสร้าง agent และ sandbox ของตัวเองบนบัญชี OpenAI ของคุณ แล้วคุยกับมันผ่านหน้าแชตเดียวกับ Dev Chat เราไม่คิดโควตาวันละกี่ครั้ง เพราะคุณจ่ายเอง เหลือเพียงเพดานกันสแปม - [ลิงก์แชร์ · Sharing links](https://devstack.bid/docs/user-guide/sharing.md): เราอยากให้การส่งต่อสแต็กง่ายเหมือนส่งลิงก์บทความ ลิงก์แชร์จึงทำให้คุณส่ง "สแต็กที่ปรับแต่งแล้ว" ให้เพื่อนร่วมทีม หรือเก็บไว้สร้างซ้ำในอนาคตได้ โดยไม่ต้องมีบัญชีผู้ใช้ และเราก็ไม่ต้องเก็บข้อมูลของคุ… - [การดาวน์โหลด · Downloads (setup.sh / setup.ps1 / README / zip)](https://devstack.bid/docs/user-guide/downloads.md): ขั้น Export ของตัวสร้างมีไฟล์ให้ดาวน์โหลด 4 แบบ ทั้งหมดสร้างในเบราว์เซอร์ของคุณเอง (client-side) จากขั้นตอนที่แสดงอยู่บนหน้าจอ ไม่มีอะไรถูกส่งมาที่เซิร์ฟเวอร์ของเรา ในหน้านี้เราจะเปิดให้ดูว่าสคริปต… - [ภาษา ธีม และการนำทาง · Language, theme & navigation](https://devstack.bid/docs/user-guide/language-theme.md): DevStack เริ่มจากชุมชนนักพัฒนาไทย เราจึงทำให้ NVX Stack Builder รองรับภาษาไทยและอังกฤษเต็มรูปแบบตั้งแต่วันแรก มีธีมดำ (ค่าเริ่มต้น) และธีมสว่าง มี command palette สำหรับคนที่ชอบใช้คีย์บอร์ด และมีหน… - [แก้ปัญหาและคำถามที่พบบ่อย · Troubleshooting & FAQ](https://devstack.bid/docs/user-guide/troubleshooting.md): เรารวบรวมปัญหาที่ผู้ใช้และผู้ดูแลเจอบ่อยไว้ที่นี่ พร้อมสาเหตุและวิธีแก้ หลายข้อมาจากคำถามที่คนในชุมชนถามเราจริง ๆ ถ้ายังไม่พบคำตอบ ดูหน้า operations สำหรับฝั่งเซิร์ฟเวอร์ หรือบอกเรา แล้วเราจะเพิ่มค… ## Concepts (แนวคิด) - [แนวคิด Stack Template · The Stack Template concept](https://devstack.bid/docs/concepts/stack-template.md): Stack Template คือข้อมูล (data) ที่อธิบายวิธีตั้งค่าโปรเจกต์ประเภทหนึ่งตั้งแต่โฟลเดอร์ว่างจนถึงรันได้ ประกอบด้วยรายการ ขั้นตอน (StepDef) ที่เรียงลำดับแล้ว พร้อมข้อมูลประกอบ (metadata) เช่น runtime,… - [การประกอบคำสั่ง ลำดับ และการตัดซ้ำ · Command composition, ordering & dedup](https://devstack.bid/docs/concepts/composition.md): หน้านี้อธิบายตรรกะใน src/lib/composer.ts ซึ่งเปลี่ยน BuilderConfig เป็นรายการ ResolvedStep ที่พร้อมแสดงและส่งออก ตรรกะนี้ไม่ได้เปลี่ยนเลยตั้งแต่ v0.1.0 (commit a452dc5) และมี unit test ครอบคลุมใน t… - [โมเดลความปลอดภัย · Safety model](https://devstack.bid/docs/concepts/safety-model.md): NVX Stack Builder จัดการกับ "คำสั่ง shell" ซึ่งเป็นข้อมูลอันตรายโดยธรรมชาติ หน้านี้อธิบายหลักการ ชั้นป้องกัน และขอบเขตของสิ่งที่ระบบป้องกันได้และไม่ได้ - [ระบบดีไซน์ · Design system (NVX UI)](https://devstack.bid/docs/concepts/design-system.md): NVX UI คือระบบดีไซน์ของแอป ประกอบด้วย design tokens (ตัวแปร CSS → ธีม Tailwind v4), ไลบรารีคอมโพเนนต์ ใน src/components/ui และ style guide แบบมีชีวิต ที่ /design หน้านี้อธิบายแนวคิด ส่วนรายละเอียดเ… ## Architecture (สถาปัตยกรรม) - [ภาพรวมสถาปัตยกรรม · Architecture overview](https://devstack.bid/docs/architecture/overview.md): NVX Stack Builder เป็นแอป Next.js 16.4 (App Router, React 19.3, TypeScript, Tailwind v4) ที่ เกือบทั้งหมดทำงานฝั่ง client มี endpoint ฝั่งเซิร์ฟเวอร์เพียงตัวเดียวคือ /api/plan และ deploy เป็น Cloud… - [การไหลของข้อมูล · Data flow](https://devstack.bid/docs/architecture/data-flow.md): หน้านี้ติดตามข้อมูลผ่านระบบในสามสถานการณ์หลัก: เลือกเทมเพลตแล้วส่งออก, ขอแผนจาก AI, และเปิดลิงก์แชร์ เพื่อให้ผู้แก้โค้ดรู้ว่าการเปลี่ยนที่จุดหนึ่งกระทบส่วนไหน - [Subsystem: Templates data + Composer](https://devstack.bid/docs/architecture/templates-and-composer.md): แปลง "สิ่งที่ผู้ใช้เลือก" (BuilderConfig) เป็น "ลำดับขั้นตอนที่แทนค่าแล้ว" (ResolvedStep[]) นี่คือแกนกลางที่ทุกส่วนใช้ร่วม: หน้า template detail, builder, offline planner, การตรวจผล AI และ CLI export - [Subsystem: Script generators, downloads & share encoding](https://devstack.bid/docs/architecture/scripts-and-share.md): ฟังก์ชันบริสุทธิ์สามตัวที่รับ ResolvedStep[] + BuilderConfig + lang: - [Subsystem: AI route, planner & validation](https://devstack.bid/docs/architecture/ai-planner.md): ให้คะแนนแต่ละเทมเพลต: keyword ตรง (คำเดี่ยว +2, วลี +3), id ปรากฏในข้อความ +3, ต้องการ Python และเทมเพลตเป็น Python +2, ต้องการ Node +1, ต้องการ Python ล้วนแต่เทมเพลตไม่ใช่ Python −2 ถ้าคะแนนสูงสุด… - [Subsystem: API hardening — rate limiting, env, HTTP limits, security headers](https://devstack.bid/docs/architecture/api-hardening.md): ชุดการป้องกันฝั่งเซิร์ฟเวอร์ที่เพิ่มใน v0.3.0 เพื่อเตรียม production (commit 97f14d9, b88a5c5, 712eb8e) เป้าหมายคือปกป้อง บิล OpenAI ของผู้ดูแล, ปกป้อง ผู้ใช้ (headers, ไม่ log ข้อมูลส่วนตัว) และทำ… - [Subsystem: UI framework (NVX UI)](https://devstack.bid/docs/architecture/ui-framework.md): เอกสารเทคนิคเต็มของระบบดีไซน์อยู่ใน UI-FRAMEWORK.md (TH + EN) หน้านี้สรุปโครงสร้างในมุมสถาปัตยกรรม และวิธีที่ชิ้นส่วนเชื่อมกัน แนวคิดดู concepts/design-system.md - [Subsystem: Cloudflare Workers / OpenNext runtime](https://devstack.bid/docs/architecture/cloudflare-runtime.md): ตั้งแต่ v0.3.0 (commit f9ef054) แอปถูก build เป็น Cloudflare Worker ด้วย @opennextjs/cloudflare 1.20.x และ Wrangler 4 คู่มือ deploy ทีละขั้นอยู่ที่ DEPLOY.md และ operations/deploy-cloudflare.md หน้… - [ระบบเอกสารในแอป · Docs site (/docs)](https://devstack.bid/docs/architecture/docs-site.md): หน้านี้เล่าว่าหน้า devstack.bid/docs ทำงานอย่างไร เราตั้งโจทย์ไว้สามข้อ: (1) เนื้อหามีแหล่งเดียวคือไฟล์ Markdown ใน docs/ ไม่มีการเขียนซ้ำ (2) ทำงานบน Cloudflare Workers ซึ่ง ไม่มี filesystem ตอน r… - [โมเดลข้อมูลแชต · Chat data model (D1 + R2)](https://devstack.bid/docs/architecture/chat-data-model.md): หน้านี้อธิบายว่าเราเก็บประวัติแชตระหว่างผู้ใช้กับ AI ไว้อย่างไร ตอนนี้ มีแค่ schema ใน D1 (nvx-db) ยังไม่มี endpoint หรือ UI ไหนอ่านหรือเขียนตารางพวกนี้ แผนขั้นต่อไปอยู่ท้ายหน้า - [Chat: User Chat, Dev Chat, Sandbox Factory](https://devstack.bid/docs/architecture/chat-orchestrator.md): สามหน้าใช้คอมโพเนนต์ ChatApp ตัวเดียว และ handler ฝั่งเซิร์ฟเวอร์ร่วม turn-route.ts - [NVX UI — UI/UX Framework](https://devstack.bid/docs/ui-framework.md): 🇹🇭 ภาษาไทยอยู่ด้านล่าง · Thai version below — ไปที่ภาษาไทย ## History (ประวัติ) - [ประวัติการเปลี่ยนแปลงราย Subsystem · Subsystem history](https://devstack.bid/docs/history/subsystem-history.md): สร้างจาก git log --all, git tag -n1, git show --stat และ CHANGELOG.md ของ repo นี้ ณ วันที่ 11 ต.ค. 2026 (UTC+7) ทุกรายการอ้าง commit hash แบบย่อ ตรวจด้วย git show ได้ เหตุผลของการเปลี่ยนมาจ… ## Operations (การดูแลระบบ) - [การพัฒนาบนเครื่อง · Local development](https://devstack.bid/docs/operations/local-dev.md): postinstall patch adapter ของ OpenNext ให้รองรับ preview-props.json ของ Next 16.4 ถ้าเห็น [patch-opennext] pattern not found แปลว่า adapter เปลี่ยนเวอร์ชันแล้ว ให้ตรวจว่ายังต้อง patch หรือไม่ (ดู c… - [ตัวแปรสภาพแวดล้อมและ secret · Environment & secrets](https://devstack.bid/docs/operations/env-secrets.md): ตารางอ้างอิงเต็มอยู่ที่ reference/config-env.md หน้านี้เน้น "วิธีจัดการอย่างปลอดภัย" และเหตุผล - [Deploy ไป Cloudflare Workers](https://devstack.bid/docs/operations/deploy-cloudflare.md): คู่มือฉบับเต็มทีละคำสั่ง (TH + EN) คือ DEPLOY.md หน้านี้ไม่คัดลอกซ้ำ แต่สรุปกระบวนการ เหตุผล และ checklist ที่ต้องทำทุกครั้ง - [Rollback](https://devstack.bid/docs/operations/rollback.md): การ rollback คือการสั่งให้ Cloudflare กลับไปเสิร์ฟ เวอร์ชันก่อนหน้าของ Worker ทันที โดยไม่ต้อง build ใหม่ ใช้เมื่อ deploy แล้วพบปัญหาร้ายแรง (หน้าพัง, API error, ความปลอดภัย) คำสั่งต้นฉบับอยู่ใน DE… - [การเฝ้าระวัง · Monitoring](https://devstack.bid/docs/operations/monitoring.md): แอปไม่มีฐานข้อมูลและสถานะฝั่งเซิร์ฟเวอร์ สิ่งที่ต้องเฝ้าระวังจึงมีไม่มาก: ความพร้อมของหน้า, พฤติกรรมของ /api/plan (AI vs fallback, rate limit) และค่าใช้จ่าย OpenAI - [Rate limits และการคุมค่าใช้จ่าย · Rate limits & cost guard](https://devstack.bid/docs/operations/rate-limits-cost.md): ค่าใช้จ่ายจริงของระบบเกือบทั้งหมดมาจากการเรียก OpenAI ด้วย key ของผู้ดูแล หน้านี้อธิบายกลไกที่จำกัดความเสี่ยง วิธีคำนวณกรณีเลวร้ายที่สุด และวิธีปรับค่า - [โดเมนจริง devstack.bid · Custom domain](https://devstack.bid/docs/operations/custom-domain.md): สถานะ (11 ต.ค. 2026, v0.5.1): ใช้งานแล้ว แอปเสิร์ฟที่ https://devstack.bid (apex) ผ่าน Workers Custom Domain ของ Worker nvx-stack-builder บัญชี 2d92bd5b25768fa9093d6adc0a8887fc ส่วน www.devstack.bi… - [ฐานข้อมูล D1 และ R2 · D1 database & R2](https://devstack.bid/docs/operations/d1-database.md): หน้านี้เป็นคู่มือดูแลฐานข้อมูล D1 nvx-db ของ DevStack และบันทึกสถานะของ R2 schema อธิบายไว้ที่ architecture/chat-data-model.md และ reference/d1-schema.md - [Deploying NVX Stack Builder to Cloudflare Workers](https://devstack.bid/docs/deploy.md): Production (2026-10-11, v0.6.0): live at https://devstack.bid (apex). It is a Workers Custom Domain of Worker nvx-stack-builder in account 2d92bd5b25768fa9093d6adc0a8887fc; www.devstack.bid is also… - [Audit 2026-10-11 (v0.7.0)](https://devstack.bid/docs/operations/audit-2026-10-11.md): This is a full end-to-end check before deploying v0.7.0 (User Chat, Dev Chat, Sandbox Factory, HF provider, quotas, devbox executor). We checked everything locally first (opennextjs-cloudflare prev… ## Contributing (ร่วมพัฒนา) - [เพิ่ม Stack Template · Adding a template](https://devstack.bid/docs/contributing/add-template.md): หน้านี้เป็นคู่มือทีละขั้นพร้อมตัวอย่างเต็ม และอธิบายว่าทำไมต้องแตะแต่ละไฟล์ checklist ต้นฉบับยังอยู่ใน CONTRIBUTING.md แนวคิดอ่านที่ stack-template.md - [เพิ่มคอมโพเนนต์ UI · Adding a component](https://devstack.bid/docs/contributing/add-component.md): คอมโพเนนต์ของระบบดีไซน์อยู่ใน src/components/ui/ และ export ผ่าน src/components/ui/index.ts คู่มือฉบับเต็มเรื่องนี้ (TH + EN) อยู่ใน UI-FRAMEWORK.md หัวข้อ "Adding a component" หน้านี้สรุปขั้นตอนพร… - [การทดสอบ · Testing](https://devstack.bid/docs/contributing/testing.md): config: vitest.config.mts — alias @ → src, alias server-only เป็นโมดูลว่าง (เพื่อ test โค้ดฝั่งเซิร์ฟเวอร์ได้ตรง ๆ), JSX runtime automatic, include: tests/**/*.test.{ts,tsx}, setup ใน tests/setup.t… - [กระบวนการออกรุ่น · Release process](https://devstack.bid/docs/contributing/release-process.md): กระบวนการนี้สรุปจากการออกรุ่นจริง v0.1.0–v0.3.0 (ดู SUBSYSTEM-HISTORY.md) และใช้ Semantic Versioning + Keep a Changelog - [การดูแลเอกสารให้ทันสมัย · Keeping docs current](https://devstack.bid/docs/contributing/docs-maintenance.md): เป้าหมาย: ให้คนและ AI agent เชื่อเอกสารได้ และหาเอกสาร/ตัวอย่างโค้ดได้ง่ายเมื่อ repo เปลี่ยน วิธีคือ (1) กติกาว่าการเปลี่ยนแบบไหนต้องแก้เอกสารหน้าไหน (2) การตรวจอัตโนมัติ npm run docs:check ที่ล้มใ… ## Reference (อ้างอิง) - [API reference: /api/plan](https://devstack.bid/docs/reference/api-plan.md): endpoint เดียวของเซิร์ฟเวอร์ โค้ด: src/app/api/plan/route.ts คำสั่งในผลลัพธ์เป็น ข้อความเท่านั้น ไม่มีการรันบนเซิร์ฟเวอร์ ทุกคำตอบมี Cache-Control: no-store - [Chat & Factory API](https://devstack.bid/docs/reference/api-chat.md): ทุก route ตอบ Cache-Control: no-store ข้อผิดพลาดเป็น JSON { error, code, ... } (ข้อความไทย/อังกฤษ) - [Template data schema](https://devstack.bid/docs/reference/template-schema.md): ชนิดข้อมูลจริงอยู่ใน src/lib/types.ts หน้านี้อธิบายทุกฟิลด์ ค่าที่อนุญาต และ placeholder ทั้งหมด สำหรับผู้เขียนเทมเพลตและ AI agent ที่ต้องอ่าน/สร้างข้อมูลเทมเพลต - [Config & environment variables](https://devstack.bid/docs/reference/config-env.md): ตัวแปรทั้งหมดถูกตรวจใน src/lib/server/env.ts (zod) ค่าที่ไม่ถูกต้องถูกแทนด้วยค่าเริ่มต้นและ log เฉพาะชื่อ วิธีจัดการ secret ดู operations/env-secrets.md - [D1 schema reference (nvx-db)](https://devstack.bid/docs/reference/d1-schema.md): Reference ของทุกตารางในฐานข้อมูล D1 nvx-db (binding DB, id 3ee9bbab-06b5-49da-b175-5f7162ad5086, region WNAM) ที่มาของข้อมูลคือไฟล์ใน migrations/ เหตุผลของการออกแบบอยู่ที่ architecture/chat-data-mo… - [npm scripts & commands](https://devstack.bid/docs/reference/npm-scripts.md): ทุก script ใน package.json (ตรวจครบโดย npm run docs:check) ใช้ Node 22+ (export PATH=/tmp/node22/bin:$PATH บนเครื่อง box ของโปรเจกต์นี้) - [File map](https://devstack.bid/docs/reference/file-map.md): แผนที่ไฟล์ทั้งหมดใน repo (ยกเว้น node_modules, ไฟล์ build และภาพหน้าจอ) พร้อมลิงก์และหน้าที่ ใช้หาว่า "ต้องแก้ที่ไหน" docs:check ตรวจว่าทุกลิงก์ในหน้านี้ยังชี้ไฟล์ที่มีอยู่จริง ## For AI agents (สำหรับ AI agent) - [Agent playbook — การดูแลแพลตฟอร์ม NVX Stack Builder สำหรับ AI agent](https://devstack.bid/docs/agents/agent-playbook.md): สำหรับ AI agent (และมนุษย์) ที่ต้องดูแลหรือแก้ไขแพลตฟอร์มนี้ ฉบับย่อภาษาอังกฤษอยู่ที่ AGENTS.md ข้อมูลแบบเครื่องอ่านได้อยู่ที่ platform-manifest.json · English summary at the end of each section. ## Optional - [agents/platform-manifest.json](https://devstack.bid/docs/agents/platform-manifest.json): machine-readable platform manifest (JSON) - [llms-full.txt](https://devstack.bid/llms-full.txt): every page above concatenated into one file