การย้ายไปใช้ OPSX
คู่มือนี้ช่วยให้คุณเปลี่ยนผ่านจากขั้นตอนการทำงานแบบเดิมของ OpenSpec ไปสู่ OPSX การย้ายถูกออกแบบมาให้ราบรื่น—ผลงานที่มีอยู่ของคุณจะถูกเก็บรักษาไว้ และระบบใหม่เสนอความยืดหยุ่นที่มากกว่า
มีอะไรเปลี่ยนแปลงบ้าง?
OPSX เข้ามาแทนที่ขั้นตอนการทำงานแบบล็อกเฟสเดิมด้วยแนวทางที่ลื่นไหลและเน้นการกระทำ นี่คือการเปลี่ยนแปลงที่สำคัญ:
| ด้าน | ระบบเดิม | OPSX |
|---|---|---|
| คำสั่ง | /openspec:proposal, /openspec:apply, /openspec:archive | ค่าเริ่มต้น: /opsx:propose, /opsx:apply, /opsx:sync, /opsx:archive (คำสั่งขั้นตอนการทำงานแบบขยายเป็นตัวเลือกเสริม) |
| ขั้นตอนการทำงาน | สร้างผลงานทั้งหมดในครั้งเดียว | สร้างแบบเพิ่มทีละส่วนหรือทั้งหมดในครั้งเดียว—ตามที่คุณเลือก |
| การย้อนกลับ | มีด่านเฟสที่ยุ่งยาก | เป็นธรรมชาติ—อัปเดตผลงานใดก็ได้เมื่อใดก็ได้ |
| การปรับแต่ง | โครงสร้างคงที่ | ขับเคลื่อนด้วย Schema, ปรับแต่งได้เต็มที่ |
| การกำหนดค่า | CLAUDE.md พร้อมเครื่องหมาย + project.md | การกำหนดค่าที่สะอาดใน openspec/config.yaml |
การเปลี่ยนแปลงในปรัชญา: งานไม่ได้เป็นเส้นตรง OPSX เลิกแสร้งทำเป็นว่ามันเป็นเช่นนั้น
ก่อนเริ่มต้น
งานที่คุณทำไว้จะปลอดภัย
กระบวนการย้ายข้อมูลถูกออกแบบมาโดยคำนึงถึงการรักษาข้อมูลเดิม:
- การเปลี่ยนแปลงที่ใช้งานอยู่ใน
openspec/changes/— ถูกเก็บรักษาไว้ทั้งหมด คุณสามารถดำเนินการต่อด้วยคำสั่ง OPSX ได้ - การเปลี่ยนแปลงที่เก็บถาวรแล้ว — ไม่ถูกแตะต้อง ประวัติของคุณยังคงครบถ้วน
- ข้อกำหนดหลักใน
openspec/specs/— ไม่ถูกแตะต้อง สิ่งเหล่านี้คือแหล่งข้อมูลที่แท้จริงของคุณ - เนื้อหาของคุณใน CLAUDE.md, AGENTS.md เป็นต้น — ถูกเก็บรักษาไว้ เฉพาะบล็อกเครื่องหมาย OpenSpec ที่ถูกลบออก ทุกสิ่งที่คุณเขียนไว้จะยังคงอยู่
สิ่งที่ถูกลบออก
เฉพาะไฟล์ที่จัดการโดย OpenSpec ที่กำลังถูกแทนที่:
| สิ่งที่ | เหตุผล |
|---|---|
| ไดเรกทอรี/ไฟล์คำสั่งแบบเดิม (legacy slash command) | ถูกแทนที่ด้วยระบบทักษะใหม่ |
openspec/AGENTS.md | ตัวกระตุ้นเวิร์กโฟลว์ที่ล้าสมัย |
เครื่องหมาย OpenSpec ใน CLAUDE.md, AGENTS.md เป็นต้น | ไม่จำเป็นอีกต่อไป |
ตำแหน่งคำสั่งเดิมแยกตามเครื่องมือ (ตัวอย่าง—เครื่องมือของคุณอาจแตกต่างออกไป):
- Claude Code:
.claude/commands/openspec/ - Cursor:
.cursor/commands/openspec-*.md - Windsurf:
.windsurf/workflows/openspec-*.md - Cline:
.clinerules/workflows/openspec-*.md - Roo:
.roo/commands/openspec-*.md - GitHub Copilot:
.github/prompts/openspec-*.prompt.md(เฉพาะส่วนขยาย IDE; ไม่รองรับใน Copilot CLI) - และอื่นๆ (Augment, Continue, Amazon Q เป็นต้น)
การย้ายข้อมูลจะตรวจจับเครื่องมือที่คุณกำหนดค่าไว้และลบไฟล์เดิมของเครื่องมือเหล่านั้น
รายการที่ลบอาจดูยาว แต่ทั้งหมดนี้เป็นไฟล์ที่ OpenSpec สร้างขึ้นมาแต่เดิม เนื้อหาของคุณเองจะไม่ถูกลบ
สิ่งที่ต้องให้ความสนใจของคุณ
มีไฟล์หนึ่งที่ต้องย้ายข้อมูลด้วยตนเอง:
openspec/project.md — ไฟล์นี้ไม่ถูกลบโดยอัตโนมัติเพราะอาจมีบริบทของโครงการที่คุณเขียนไว้ คุณจะต้อง:
- ตรวจสอบเนื้อหา
- ย้ายบริบทที่เป็นประโยชน์ไปยัง
openspec/config.yaml(ดูคำแนะนำด้านล่าง) - ลบไฟล์เมื่อพร้อม
เหตุผลที่เราทำการเปลี่ยนแปลงนี้:
project.md เดิมเป็นแบบพาสซีฟ—ตัวแทนอาจอ่าน อาจไม่อ่าน หรืออาจลืมสิ่งที่อ่านไป เราพบว่าความน่าเชื่อถือไม่สม่ำเสมอ
บริบทใหม่ของ config.yaml ถูก ฉีดเข้าไปในทุกคำขอวางแผนของ OpenSpec อย่างแอคทีฟ ซึ่งหมายความว่าข้อตกลงของโครงการ สแต็คเทคโนโลยี และกฎของคุณจะปรากฏอยู่เสมอเมื่อ AI กำลังสร้างสิ่งประดิษฐ์ มีความน่าเชื่อถือสูงกว่า
การแลกเปลี่ยน:
เนื่องจากบริบทถูกฉีดเข้าไปในทุกคำขอ คุณจะต้องกระชับ มุ่งเน้นสิ่งที่สำคัญจริงๆ:
- สแต็คเทคโนยีและข้อตกลงหลัก
- ข้อจำกัดที่ไม่ชัดเจนที่ AI จำเป็นต้องรู้
- กฎที่มักถูกละเลยก่อนหน้านี้
ไม่ต้องกังวลว่าจะต้องสมบูรณ์แบบ เรากำลังเรียนรู้ว่าอะไรทำงานได้ดีที่สุดที่นี่ และเราจะปรับปรุงวิธีการฉีดบริบทเมื่อเราทดลอง
การดำเนินการย้ายข้อมูล
ทั้ง openspec init และ openspec update จะตรวจจับไฟล์เดิมและแนะนำคุณตลอดกระบวนการล้างข้อมูลเดียวกัน ใช้คำสั่งที่เหมาะกับสถานการณ์ของคุณ:
- การติดตั้งใหม่จะใช้โปรไฟล์
coreเป็นค่าเริ่มต้น (propose,explore,apply,sync,archive) - การติดตั้งที่ย้ายข้อมูลจะเก็บรักษาเวิร์กโฟลว์ที่ติดตั้งไว้ก่อนหน้าของคุณโดยเขียนโปรไฟล์
customเมื่อจำเป็น
การใช้ openspec init
รันคำสั่งนี้หากคุณต้องการเพิ่มเครื่องมือใหม่หรือกำหนดค่าเครื่องมือที่ตั้งค่าไว้ใหม่:
bash
openspec initคำสั่ง init จะตรวจจับไฟล์เดิมและแนะนำคุณตลอดกระบวนการล้างข้อมูล:
กำลังอัปเกรดเป็น OpenSpec ใหม่
OpenSpec ตอนนี้ใช้ทักษะของตัวแทน ซึ่งเป็นมาตรฐานที่เกิดขึ้นใหม่ใน
ตัวแทนเขียนโค้ด สิ่งนี้ทำให้การตั้งค่าของคุณง่ายขึ้นในขณะที่รักษาทุกอย่าง
ให้ทำงานเหมือนเดิม
ไฟล์ที่ต้องลบ
ไม่มีเนื้อหาผู้ใช้ที่ต้องเก็บรักษา:
• .claude/commands/openspec/
• openspec/AGENTS.md
ไฟล์ที่ต้องอัปเดต
เครื่องหมาย OpenSpec จะถูกลบออก เนื้อหาของคุณจะถูกเก็บรักษาไว้:
• CLAUDE.md
• AGENTS.md
ต้องให้ความสนใจของคุณ
• openspec/project.md
เราจะไม่ลบไฟล์นี้ อาจมีบริบทโครงการที่เป็นประโยชน์
openspec/config.yaml ใหม่มีส่วน "context:" สำหรับบริบทการวางแผน
สิ่งนี้จะรวมอยู่ในทุกคำขอ OpenSpec และทำงานได้
น่าเชื่อถือกว่าวิธี project.md เดิม
ตรวจสอบ project.md ย้ายเนื้อหาที่เป็นประโยชน์ไปยังส่วน context ของ config.yaml
จากนั้นลบไฟล์เมื่อพร้อม
? อัปเกรดและลบไฟล์เดิม? (Y/n)สิ่งที่เกิดขึ้นเมื่อคุณตอบตกลง:
- ไดเรกทอรีคำสั่งแบบเดิมถูกลบออก
- เครื่องหมาย OpenSpec ถูกลบออกจาก
CLAUDE.md,AGENTS.mdเป็นต้น (เนื้อหาของคุณยังคงอยู่) openspec/AGENTS.mdถูกลบ- ทักษะใหม่ถูกติดตั้งใน
.claude/skills/ openspec/config.yamlถูกสร้างขึ้นพร้อมโครงร่างเริ่มต้น
การใช้ openspec update
รันคำสั่งนี้หากคุณต้องการแค่ย้ายข้อมูลและรีเฟรชเครื่องมือที่มีอยู่เป็นเวอร์ชันล่าสุด:
bash
openspec updateคำสั่ง update จะตรวจจับและลบสิ่งตกค้างเดิม จากนั้นรีเฟรชทักษะ/คำสั่งที่สร้างขึ้นให้ตรงกับโปรไฟล์และการตั้งค่าการจัดส่งปัจจุบันของคุณ
สภาพแวดล้อมแบบไม่โต้ตอบ / CI
สำหรับการย้ายข้อมูลแบบสคริปต์:
bash
openspec init --force --tools claudeแฟล็ก --force จะข้ามคำเตือนและยอมรับการล้างข้อมูลโดยอัตโนมัติ
การย้าย project.md ไปยัง config.yaml
openspec/project.md เดิมเป็นไฟล์มาร์กดาวน์แบบอิสระสำหรับบริบทโครงการ openspec/config.yaml ใหม่มีโครงสร้างและ—ที่สำคัญ—ถูกฉีดเข้าไปในทุกคำขอวางแผน เพื่อให้ข้อตกลงของคุณปรากฏอยู่เสมอเมื่อ AI ทำงาน
ก่อนหน้า (project.md)
markdown
# บริบทโครงการ
นี่คือ TypeScript monorepo ที่ใช้ React และ Node.js
เราใช้ Jest สำหรับการทดสอบและปฏิบัติตามกฎ ESLint ที่เข้มงวด
API ของเราเป็น RESTful และมีเอกสารใน docs/api.md
## ข้อตกลง
- API สาธารณะทั้งหมดต้องรักษาความเข้ากันได้ย้อนหลัง
- คุณสมบัติใหม่ควรรวมการทดสอบ
- ใช้รูปแบบ Given/When/Then สำหรับข้อกำหนดหลังจากนั้น (config.yaml)
yaml
schema: spec-driven
context: |
สแต็คเทคโนยี: TypeScript, React, Node.js
การทดสอบ: Jest พร้อม React Testing Library
API: RESTful, มีเอกสารใน docs/api.md
เรารักษาความเข้ากันได้ย้อนหลังสำหรับ API สาธารณะทั้งหมด
rules:
proposal:
- รวมแผนย้อนกลับสำหรับการเปลี่ยนแปลงที่มีความเสี่ยง
specs:
- ใช้รูปแบบ Given/When/Then สำหรับสถานการณ์
- อ้างอิงรูปแบบที่มีอยู่ก่อนคิดค้นใหม่
design:
- รวมแผนภาพลำดับสำหรับกระแสที่ซับซ้อนความแตกต่างหลัก
| project.md | config.yaml |
|---|---|
| มาร์กดาวน์แบบอิสระ | YAML ที่มีโครงสร้าง |
| ข้อความก้อนเดียว | แยกบริบทและกฎต่อสิ่งประดิษฐ์ |
| ไม่ชัดเจนว่าใช้เมื่อใด | บริบทปรากฏในทุกสิ่งประดิษฐ์; กฎปรากฏเฉพาะในสิ่งประดิษฐ์ที่ตรงกัน |
| ไม่มีการเลือกโครงร่าง | ฟิลด์ schema: ที่ชัดเจนตั้งค่าเวิร์กโฟลว์เริ่มต้น |
สิ่งที่ควรเก็บ สิ่งที่ควรทิ้ง
เมื่อย้ายข้อมูล ให้เลือกสรร ถามตัวเองว่า: "AI จำเป็นต้องรู้สิ่งนี้สำหรับ ทุก คำขอวางแผนหรือไม่?"
ตัวเลือกที่ดีสำหรับ context:
- สแต็คเทคโนยี (ภาษา โครงสร้าง ฐานข้อมูล)
- รูปแบบสถาปัตยกรรมหลัก (monorepo, microservices เป็นต้น)
- ข้อจำกัดที่ไม่ชัดเจน ("เราไม่สามารถใช้ไลบรารี X เพราะ...")
- ข้อตกลงสำคัญที่มักถูกละเลย
ย้ายไปที่ rules: แทน
- การจัดรูปแบบเฉพาะสิ่งประดิษฐ์ ("ใช้ Given/When/Then ในข้อกำหนด")
- เกณฑ์การตรวจสอบ ("ข้อเสนอต้องรวมแผนย้อนกลับ")
- สิ่งเหล่านี้ปรากฏเฉพาะสำหรับสิ่งประดิษฐ์ที่ตรงกัน ทำให้คำขออื่นเบาลง
ละทิ้งทั้งหมด
- แนวปฏิบัติที่ดีทั่วไปที่ AI รู้อยู่แล้ว
- คำอธิบายที่เยิ่นเย้อที่สามารถสรุปได้
- บริบททางประวัติศาสตร์ที่ไม่ส่งผลต่อการทำงานปัจจุบัน
ขั้นตอนการย้ายข้อมูล
สร้าง config.yaml (หากยังไม่ได้สร้างโดย init):
yamlschema: spec-drivenเพิ่มบริบทของคุณ (ให้กระชับ—สิ่งนี้จะเข้าไปในทุกคำขอ):
yamlcontext: | บริบทโครงการของคุณอยู่ที่นี่ มุ่งเน้นสิ่งที่ AI จำเป็นต้องรู้จริงๆเพิ่มกฎต่อสิ่งประดิษฐ์ (ไม่บังคับ):
yamlrules: proposal: - คำแนะนำเฉพาะสำหรับข้อเสนอของคุณ specs: - กฎการเขียนข้อกำหนดของคุณลบ project.md เมื่อย้ายทุกสิ่งที่เป็นประโยชน์แล้ว
อย่าคิดมาก เริ่มจากสิ่งจำเป็นและปรับปรุง หากคุณสังเกตว่า AI ขาดสิ่งสำคัญ ให้เพิ่มเข้าไป หากบริบทดูเทอะทะ ให้ตัดทอน นี่คือเอกสารที่มีชีวิต
ต้องการความช่วยเหลือ? ใช้พรอมต์นี้
หากคุณไม่แน่ใจวิธีกลั่นกรอง project.md ของคุณ ให้ถามผู้ช่วย AI ของคุณ:
ฉันกำลังย้ายข้อมูลจาก project.md เดิมของ OpenSpec ไปยังรูปแบบ config.yaml ใหม่
นี่คือ project.md ปัจจุบันของฉัน:
[วางเนื้อหา project.md ของคุณที่นี่]
กรุณาช่วยฉันสร้าง config.yaml ที่มี:
1. ส่วน `context:` ที่กระชับ (สิ่งนี้จะถูกฉีดเข้าไปในทุกคำขอวางแผน ดังนั้นให้เก็บไว้ให้แน่น—มุ่งเน้นที่สแต็คเทคโนยี ข้อจำกัดหลัก และข้อตกลงที่มักถูกละเลย)
2. `rules:` สำหรับสิ่งประดิษฐ์เฉพาะ หากเนื้อหาใดเป็นเฉพาะสิ่งประดิษฐ์ (เช่น "ใช้ Given/When/Then" ควรอยู่ในกฎข้อกำหนด ไม่ใช่บริบททั่วไป)
ละทิ้งสิ่งทั่วไปที่โมเดล AI รู้อยู่แล้ว ให้เข้มงวดเรื่องความกระชับAI จะช่วยคุณระบุสิ่งที่จำเป็นเทียบกับสิ่งที่สามารถตัดทอนได้
คำสั่งใหม่
ความพร้อมใช้งานของคำสั่งขึ้นอยู่กับโปรไฟล์:
ค่าเริ่มต้น (โปรไฟล์ core):
| คำสั่ง | วัตถุประสงค์ |
|---|---|
/opsx:propose | สร้างการเปลี่ยนแปลงและสร้างสิ่งประดิษฐ์การวางแผนในขั้นตอนเดียว |
/opsx:explore | คิดผ่านแนวคิดโดยไม่มีโครงสร้าง |
/opsx:apply | ดำเนินงานจาก tasks.md |
/opsx:archive | สรุปและเก็บถาวรการเปลี่ยนแปลง |
เวิร์กโฟลว์ขยาย (การเลือกแบบกำหนดเอง):
| คำสั่ง | วัตถุประสงค์ |
|---|---|
/opsx:new | เริ่มโครงร่างการเปลี่ยนแปลงใหม่ |
/opsx:continue | สร้างสิ่งประดิษฐ์ถัดไป (ทีละรายการ) |
/opsx:ff | กรอไปข้างหน้า—สร้างสิ่งประดิษฐ์การวางแผนทั้งหมดพร้อมกัน |
/opsx:verify | ตรวจสอบว่าการดำเนินการตรงกับข้อกำหนด |
/opsx:sync | ผสานข้อกำหนดเดลต้าเข้ากับข้อกำหนดหลัก |
/opsx:bulk-archive | เก็บถาวรหลายการเปลี่ยนแปลงพร้อมกัน |
/opsx:onboard | เวิร์กโฟลว์การเริ่มต้นใช้งานแบบมีคำแนะนำตั้งแต่ต้นจนจบ |
เปิดใช้งานคำสั่งขยายด้วย openspec config profile จากนั้นรัน openspec update
การแมปคำสั่งจากเดิม
| เดิม | เทียบเท่า OPSX |
|---|---|
/openspec:proposal | /opsx:propose (ค่าเริ่มต้น) หรือ /opsx:new จากนั้น /opsx:ff (ขยาย) |
/openspec:apply | /opsx:apply |
/openspec:archive | /opsx:archive |
ความสามารถใหม่
ความสามารถเหล่านี้เป็นส่วนหนึ่งของชุดคำสั่งเวิร์กโฟลว์ขยาย
การสร้างสิ่งประดิษฐ์แบบละเอียด:
/opsx:continueสร้างสิ่งประดิษฐ์ทีละรายการตามการพึ่งพา ใช้สิ่งนี้เมื่อคุณต้องการตรวจสอบแต่ละขั้นตอน
โหมดสำรวจ:
/opsx:exploreคิดผ่านแนวคิดกับพาร์ทเนอร์ก่อนที่จะตัดสินใจเปลี่ยนแปลง
การเข้าใจสถาปัตยกรรมใหม่
จากแบบล็อกเฟสสู่แบบไหล
ขั้นตอนการทำงานเดิมบังคับให้ดำเนินไปอย่างเป็นเส้นตรง:
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ PLANNING │ ───► │ IMPLEMENTING │ ───► │ ARCHIVING │
│ PHASE │ │ PHASE │ │ PHASE │
└──────────────┘ └──────────────┘ └──────────────┘
ถ้าคุณอยู่ในขั้นตอนการพัฒนาแล้วพบว่าการออกแบบผิด?
แย่หน่อย ด่านเฟสไม่ปล่อยให้คุณย้อนกลับได้ง่ายๆOPSX ใช้การกระทำ (actions) ไม่ใช่เฟส:
┌───────────────────────────────────────────────┐
│ ACTIONS (not phases) │
│ │
│ new ◄──► continue ◄──► apply ◄──► archive │
│ │ │ │ │ │
│ └──────────┴───────────┴─────────────┘ │
│ any order │
└───────────────────────────────────────────────┘กราฟความสัมพันธ์
สิ่งประดิษฐ์ (artifacts) สร้างเป็นกราฟแบบมีทิศทาง ความสัมพันธ์เป็นตัวเปิดใช้งาน ไม่ใช่ด่าน:
proposal
(root node)
│
┌─────────────┴─────────────┐
│ │
▼ ▼
specs design
(requires: (requires:
proposal) proposal)
│ │
└─────────────┬─────────────┘
│
▼
tasks
(requires:
specs, design)เมื่อคุณรัน /opsx:continue มันจะตรวจสอบว่าอะไรพร้อมแล้วและเสนอสิ่งประดิษฐ์ถัดไป คุณยังสามารถสร้างสิ่งประดิษฐ์ที่พร้อมหลายรายการในลำดับใดก็ได้
ทักษะกับคำสั่ง
ระบบเดิมใช้ไฟล์คำสั่งเฉพาะเครื่องมือ:
.claude/commands/openspec/
├── proposal.md
├── apply.md
└── archive.mdOPSX ใช้มาตรฐาน skills ที่กำลังเกิดขึ้น:
.claude/skills/
├── openspec-explore/SKILL.md
├── openspec-new-change/SKILL.md
├── openspec-continue-change/SKILL.md
├── openspec-apply-change/SKILL.md
└── ...ทักษะ (skills) ได้รับการยอมรับในเครื่องมือเขียนโค้ด AI หลายตัวและให้ข้อมูลเมตาที่สมบูรณ์กว่า
การดำเนินการต่อจากการเปลี่ยนแปลงที่มีอยู่
การเปลี่ยนแปลงที่คุณกำลังดำเนินการอยู่ทำงานได้อย่างราบรื่นกับคำสั่ง OPSX
มีการเปลี่ยนแปลงที่ใช้งานอยู่จากขั้นตอนการทำงานเดิม?
/opsx:apply add-my-featureOPSX อ่านสิ่งประดิษฐ์ที่มีอยู่และดำเนินการต่อจากจุดที่ค้างไว้
ต้องการเพิ่มสิ่งประดิษฐ์เพิ่มเติมในการเปลี่ยนแปลงที่มีอยู่?
/opsx:continue add-my-featureแสดงสิ่งที่พร้อมสร้างตามสิ่งที่มีอยู่แล้ว
ต้องการดูสถานะ?
bash
openspec status --change add-my-featureระบบการกำหนดค่าใหม่
โครงสร้าง config.yaml
yaml
# Required: Default schema for new changes
schema: spec-driven
# Optional: Project context (max 50KB)
# Injected into ALL artifact instructions
context: |
Your project background, tech stack,
conventions, and constraints.
# Optional: Per-artifact rules
# Only injected into matching artifacts
rules:
proposal:
- Include rollback plan
specs:
- Use Given/When/Then format
design:
- Document fallback strategies
tasks:
- Break into 2-hour maximum chunksการเลือก Schema
เมื่อกำหนดว่าจะใช้ schema ใด OPSX จะตรวจสอบตามลำดับ:
- CLI flag:
--schema <name>(ลำดับความสำคัญสูงสุด) - ข้อมูลเมตาของการเปลี่ยนแปลง:
.openspec.yamlในไดเรกทอรีการเปลี่ยนแปลง - การกำหนดค่าโปรเจกต์:
openspec/config.yaml - ค่าเริ่มต้น:
spec-driven
Schema ที่มีอยู่
| Schema | สิ่งประดิษฐ์ | เหมาะสำหรับ |
|---|---|---|
spec-driven | proposal → specs → design → tasks | โปรเจกต์ส่วนใหญ่ |
แสดงรายการ schema ที่มีทั้งหมด:
bash
openspec schemasSchema ที่กำหนดเอง
สร้างขั้นตอนการทำงานของคุณเอง:
bash
openspec schema init my-workflowหรือแยกสาขาจากที่มีอยู่:
bash
openspec schema fork spec-driven my-workflowดูรายละเอียดที่ การปรับแต่ง
การแก้ไขปัญหา
"พบไฟล์เดิมในโหมดไม่โต้ตอบ"
คุณกำลังรันในสภาพแวดล้อม CI หรือไม่โต้ตอบ ใช้:
bash
openspec init --forceคำสั่งไม่ปรากฏหลังการย้ายข้อมูล
รีสตาร์ท IDE ของคุณ ทักษะ (skills) จะถูกตรวจจับเมื่อเริ่มต้น
"ไม่รู้จัก ID สิ่งประดิษฐ์ในกฎ"
ตรวจสอบว่าคีย์ rules: ของคุณตรงกับ ID สิ่งประดิษฐ์ของ schema:
- spec-driven:
proposal,specs,design,tasks
รันคำสั่งนี้เพื่อดู ID สิ่งประดิษฐ์ที่ถูกต้อง:
bash
openspec schemas --jsonการกำหนดค่าไม่ถูกนำไปใช้
- ตรวจสอบให้แน่ใจว่าไฟล์อยู่ที่
openspec/config.yaml(ไม่ใช่.yml) - ตรวจสอบความถูกต้องของไวยากรณ์ YAML
- การเปลี่ยนแปลงการกำหนดค่ามีผลทันที—ไม่จำเป็นต้องรีสตาร์ท
project.md ไม่ได้ถูกย้าย
ระบบตั้งใจเก็บ project.md ไว้เนื่องจากอาจมีเนื้อหาที่คุณกำหนดเอง ตรวจสอบด้วยตนเอง ย้ายส่วนที่มีประโยชน์ไปยัง config.yaml แล้วลบออก
ต้องการดูว่าจะถูกล้างอะไร?
รัน init และปฏิเสธคำขอล้าง—คุณจะเห็นสรุปการตรวจจับทั้งหมดโดยไม่มีการเปลี่ยนแปลงใดๆ
อ้างอิงด่วน
ไฟล์หลังการย้ายข้อมูล
project/
├── openspec/
│ ├── specs/ # ไม่เปลี่ยนแปลง
│ ├── changes/ # ไม่เปลี่ยนแปลง
│ │ └── archive/ # ไม่เปลี่ยนแปลง
│ └── config.yaml # ใหม่: การกำหนดค่าโปรเจกต์
├── .claude/
│ └── skills/ # ใหม่: ทักษะ OPSX
│ ├── openspec-propose/ # โปรไฟล์หลักเริ่มต้น
│ ├── openspec-explore/
│ ├── openspec-apply-change/
│ ├── openspec-sync-specs/
│ └── ... # โปรไฟล์ขยายเพิ่ม new/continue/ff/etc.
├── CLAUDE.md # มาร์กเกอร์ OpenSpec ถูกลบ เนื้อหาของคุณถูกเก็บไว้
└── AGENTS.md # มาร์กเกอร์ OpenSpec ถูกลบ เนื้อหาของคุณถูกเก็บไว้สิ่งที่หายไป
.claude/commands/openspec/— ถูกแทนที่ด้วย.claude/skills/openspec/AGENTS.md— ล้าสมัยopenspec/project.md— ย้ายไปยังconfig.yamlแล้วลบ- บล็อกมาร์กเกอร์ OpenSpec ใน
CLAUDE.md,AGENTS.mdเป็นต้น
ตารางสรุปคำสั่ง
text
/opsx:propose เริ่มต้นอย่างรวดเร็ว (โปรไฟล์หลักเริ่มต้น)
/opsx:apply ดำเนินงาน
/opsx:archive เสร็จสิ้นและเก็บถาวร
# ขั้นตอนการทำงานแบบขยาย (หากเปิดใช้งาน):
/opsx:new สร้างโครงร่างการเปลี่ยนแปลง
/opsx:continue สร้างสิ่งประดิษฐ์ถัดไป
/opsx:ff สร้างสิ่งประดิษฐ์วางแผนขอความช่วยเหลือ
- Discord: discord.gg/YctCnvvshC
- GitHub Issues: github.com/Fission-AI/OpenSpec/issues
- เอกสาร: docs/opsx.md สำหรับข้อมูลอ้างอิง OPSX แบบเต็ม