การย้ายไปใช้ 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 ที่กำลังจะถูกแทนที่เท่านั้น:
| สิ่งที่ถูกลบ | เหตุผล |
|---|---|
| ไดเร็กทอรี/ไฟล์คำสั่ง slash แบบเก่า | ถูกแทนที่ด้วยระบบ skills ใหม่ |
openspec/AGENTS.md | ตัวทริกเกอร์เวิร์กโฟลว์ที่ล้าสมัย |
เครื่องหมาย OpenSpec ใน CLAUDE.md, AGENTS.md ฯลฯ | ไม่จำเป็นอีกต่อไป |
ตำแหน่งคำสั่งแบบเก่าตามเครื่องมือ (ตัวอย่าง—เครื่องมือของคุณอาจแตกต่าง):
- Claude Code:
.claude/commands/openspec/ - Cursor:
.cursor/commands/openspec-*.md - Windsurf:
.windsurf/workflows/openspec-*.md - Cline:
.cinerules/workflows/openspec-*.md - Roo:
.roo/commands/openspec-*.md - GitHub Copilot:
.github/prompts/openspec-*.prompt.md(สำหรับส่วนขยาย IDE เท่านั้น ไม่รองรับใน Copilot CLI) - Codex: OpenSpec ปัจจุบันใช้
.codex/skills/openspec-*การทำความสะอาดแบบเก่าเฉพาะเป้าหมายชื่อไฟล์ prompt ของ OpenSpec ที่อยู่ในรายการอนุญาตใน$CODEX_HOME/promptsหรือ~/.codex/promptsและลบเฉพาะหลังจากที่ skills ทดแทนมีอยู่ - และอื่นๆ (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 ปัจจุบันใช้ agent skills ซึ่งเป็นมาตรฐานใหม่ที่กำลังเกิดขึ้นสำหรับเอเจนต์เขียนโค้ด
สิ่งนี้ช่วยลดความซับซ้อนในการตั้งค่าของคุณในขณะที่ยังคงให้ทุกอย่างทำงานได้เหมือนเดิม
ไฟล์ที่จะลบ
ไม่มีเนื้อหาของผู้ใช้ที่จะเก็บรักษา:
• .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)สิ่งที่เกิดขึ้นเมื่อคุณตอบ yes:
- ไดเร็กทอรีคำสั่ง slash แบบเก่าถูกลบออก
- เครื่องหมาย OpenSpec ถูกลบออกจาก
CLAUDE.md,AGENTS.mdฯลฯ (เนื้อหาของคุณยังคงอยู่) openspec/AGENTS.mdถูกลบออก- skills ใหม่ถูกติดตั้งใน
.claude/skills/ openspec/config.yamlถูกสร้างขึ้นพร้อมสคีมาเริ่มต้น
การใช้ openspec update
รันคำสั่งนี้หากคุณต้องการเพียงย้ายข้อมูลและรีเฟรชเครื่องมือที่มีอยู่ของคุณไปยังรุ่นล่าสุด:
bash
openspec updateคำสั่ง update ยังตรวจหาและทำความสะอาดอาร์ติแฟกต์แบบเก่าเช่นกัน จากนั้นรีเฟรช skills/คำสั่งที่สร้างขึ้นให้ตรงกับโปรไฟล์และการตั้งค่าการส่งมอบปัจจุบันของคุณ
สภาพแวดล้อมที่ไม่โต้ตอบ / CI
สำหรับการย้ายข้อมูลด้วยสคริปต์:
bash
openspec init --force --tools claudeแฟล็ก --force จะข้ามพร้อมต์และยอมรับการทำความสะอาดโดยอัตโนมัติ
สิ่งนี้รวมถึงการทำความสะอาดไฟล์ พรอมต์ ของ Codex ที่จัดการโดย OpenSpec ในไดเร็กทอรี พรอมต์ ทั่วไปของ Codex การทำความสะอาดนี้เป้าหมายเฉพาะกับชื่อไฟล์ พรอมต์ Codex แบบเก่าที่อยู่ในรายการอนุญาตของ OpenSpec เท่านั้น ลบเฉพาะหลังจากที่ skills ทดแทน .codex/skills/openspec-* มีอยู่ และเก็บรักษาไฟล์อื่นๆ ทั้งหมด
การย้ายข้อมูลจาก project.md ไปยัง config.yaml
openspec/project.md แบบเก่าเป็นไฟล์ markdown แบบอิสระสำหรับบริบทของโปรเจกต์ openspec/config.yaml ใหม่มีโครงสร้างและ—ที่สำคัญ—ถูกใส่เข้าไปอย่างแข็งขันในทุกคำขอการวางแผน เพื่อให้ข้อกำหนดของคุณปรากฏอยู่เสมอเมื่อ AI ทำงาน
ก่อนหน้า (project.md)
markdown
# Project Context
This is a TypeScript monorepo using React and Node.js.
We use Jest for testing and follow strict ESLint rules.
Our API is RESTful and documented in docs/api.md.
## Conventions
- All public APIs must maintain backwards compatibility
- New features should include tests
- Use Given/When/Then format for specificationsหลังจาก (config.yaml)
yaml
schema: spec-driven
context: |
Tech stack: TypeScript, React, Node.js
Testing: Jest with React Testing Library
API: RESTful, documented in docs/api.md
We maintain backwards compatibility for all public APIs
rules:
proposal:
- Include rollback plan for risky changes
specs:
- Use Given/When/Then format for scenarios
- Reference existing patterns before inventing new ones
design:
- Include sequence diagrams for complex flowsความแตกต่างหลัก
| project.md | config.yaml |
|---|---|
| มาร์กดาวน์แบบอิสระ | YAML มีโครงสร้าง |
| ข้อความเป็นก้อนเดียว | แยกบริบทและกฎต่ออาร์ติแฟกต์ |
| ไม่ชัดเจนว่าจะใช้เมื่อไหร่ | บริบทปรากฏในอาร์ติแฟกต์ทั้งหมด; กฎปรากฏเฉพาะในอาร์ติแฟกต์ที่ตรงกันเท่านั้น |
| ไม่มีการเลือกสคีมา | ฟิลด์ schema: ที่ชัดเจนกำหนดเวิร์กโฟลว์เริ่มต้น |
สิ่งที่จะเก็บ สิ่งที่จะทิ้ง
เมื่อย้ายข้อมูล ให้เลือกอย่างมีเหตุผล ถามตัวเองว่า "AI จำเป็นต้องใช้สิ่งนี้สำหรับ ทุก คำขอการวางแผนหรือไม่?"
สิ่งที่เหมาะสำหรับใส่ใน context:
- เทคโนโลยีสแต็ก (ภาษา เฟรมเวิร์ก ฐานข้อมูล)
- รูปแบบสถาปัตยกรรมหลัก (monorepo, microservices ฯลฯ)
- ข้อจำกัดที่ไม่ชัดเจน ("เราไม่สามารถใช้ไลบรารี X เนื่องจาก...")
- ข้อกำหนดสำคัญที่มักจะถูกเพิกเฉย
ย้ายไปใส่ใน rules: แทน
- การจัดรูปแบบเฉพาะอาร์ติแฟกต์ ("ใช้ Given/When/Then ใน specs")
- เกณฑ์การตรวจทาน ("ข้อเสนอต้องมีแผนการย้อนกลับ")
- สิ่งเหล่านี้จะปรากฏเฉพาะในอาร์ติแฟกต์ที่ตรงกันเท่านั้น ทำให้คำขออื่นๆ เบาลง
ทิ้งออกทั้งหมด
- วิธีปฏิบัติที่ดีทั่วไปที่ AI ทราบอยู่แล้ว
- คำอธิบายที่ยาวเกินไปซึ่งสามารถสรุปได้
- บริบทประวัติศาสตร์ที่ไม่ส่งผลต่องานปัจจุบัน
ขั้นตอนการย้ายข้อมูล
สร้าง config.yaml (หากยังไม่ได้สร้างโดย init):
yamlschema: spec-drivenเพิ่มบริบทของคุณ (ให้กระชับ—สิ่งนี้จะถูกใส่เข้าไปในทุกคำขอ):
yamlcontext: | Your project background goes here. Focus on what the AI genuinely needs to know.เพิ่มกฎต่ออาร์ติแฟกต์ (ไม่จำเป็น):
yamlrules: proposal: - Your proposal-specific guidance specs: - Your spec-writing rulesลบ project.md เมื่อคุณย้ายสิ่งที่มีประโยชน์ทั้งหมดแล้ว
อย่าคิดมากเกินไป เริ่มต้นด้วยสิ่งจำเป็นและปรับปรุงต่อเนื่อง หากคุณสังเกตว่า AI ขาดสิ่งสำคัญบางอย่าง ให้เพิ่มเข้าไป หากบริบทดูยาวเกินไป ให้ตัดออกให้กระชับ นี่คือเอกสารที่ปรับปรุงได้ตลอดเวลา
ต้องการความช่วยเหลือ? ใช้พรอมต์นี้
หากคุณไม่แน่ใจว่าจะสรุป project.md ของคุณอย่างไร ถามผู้ช่วย AI ของคุณ:
I'm migrating from OpenSpec's old project.md to the new config.yaml format.
Here's my current project.md:
[paste your project.md content]
Please help me create a config.yaml with:
1. A concise `context:` section (this gets injected into every planning request, so keep it tight—focus on tech stack, key constraints, and conventions that often get ignored)
2. `rules:` for specific artifacts if any content is artifact-specific (e.g., "use Given/When/Then" belongs in specs rules, not global context)
Leave out anything generic that AI models already know. Be ruthless about brevity.AI จะช่วยคุณระบุว่าสิ่งใดเป็นสิ่งจำเป็น และสิ่งใดสามารถตัดออกได้
คำสั่งใหม่
ความพร้อมใช้งานของคำสั่งขึ้นอยู่กับโปรไฟล์:
ค่าเริ่มต้น (โปรไฟล์ core):
| คำสั่ง | ความหมาย |
|---|---|
/opsx:propose | สร้างการเปลี่ยนแปลงและสร้างอาร์ติแฟกต์การวางแผนในขั้นตอนเดียว |
/opsx:explore | คิดไอเดียโดยไม่มีโครงสร้าง |
/opsx:apply | นำงานปฏิบัติตามจาก tasks.md |
/opsx:archive | สิ้นสุดและเก็บถาวรการเปลี่ยนแปลง |
เวิร์กโฟลว์ขยาย (เลือกแบบกำหนดเอง):
| คำสั่ง | ความหมาย |
|---|---|
/opsx:new | เริ่มต้นโครงสร้างการเปลี่ยนแปลงใหม่ |
/opsx:continue | สร้างอาร์ติแฟกต์ถัดไป (ทีละอัน) |
/opsx:ff | กระโดดเร็ว—สร้างอาร์ติแฟกต์การวางแผนทั้งหมดในครั้งเดียว |
/opsx:verify | ตรวจสอบว่าการนำไปปฏิบัติตรงกับสเปค |
/opsx:sync | ผสานสเปค delta เข้าไปในสเปคหลัก |
/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คิดไอเดียร่วมกับพาร์ทเนอร์ก่อนที่จะยืนยันการเปลี่ยนแปลง
ทำความเข้าใจสถาปัตยกรรมใหม่
จากแบบล็อกเฟสเป็นแบบไหลลื่น
เวิร์กโฟลว์แบบเก่าบังคับให้เดินหน้าเป็นเส้นตรง:
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ การวางแผน │ ───► │ การนำไปปฏิบัติ │ ───► │ การเก็บถาวร │
│ เฟส │ │ เฟส │ │ เฟส │
└──────────────┘ └──────────────┘ └──────────────┘
หากคุณอยู่ในการนำไปปฏิบัติและรู้ว่าการออกแบบผิด?
น่าเสียดาย เกตเฟสไม่อนุญาตให้คุณย้อนกลับได้ง่ายOPSX ใช้การกระทำ ไม่ใช่เฟส:
┌───────────────────────────────────────────────┐
│ การกระทำ (ไม่ใช่เฟส) │
│ │
│ new ◄──► continue ◄──► apply ◄──► archive │
│ │ │ │ │ │
│ └──────────┴───────────┴─────────────┘ │
│ ลำดับใดๆ ก็ได้ │
└───────────────────────────────────────────────┘กราฟข้อ 의존
อาร์ติแฟกต์สร้างเป็นกราฟมีทิศทาง ข้อ 의존เป็นตัวเปิดใช้งาน ไม่ใช่เกต:
proposal
(โหนดราก)
│
┌─────────────┴─────────────┐
│ │
▼ ▼
specs design
(ต้องการ: (ต้องการ:
proposal) proposal)
│ │
└─────────────┬─────────────┘
│
▼
tasks
(ต้องการ:
specs, design)เมื่อคุณรัน /opsx:continue มันจะตรวจหาสิ่งที่พร้อมและเสนออาร์ติแฟกต์ถัดไป คุณยังสามารถสร้างอาร์ติแฟกต์ที่พร้อมหลายรายการในลำดับใดๆ ก็ได้
Skills กับ คำสั่ง
ระบบเก่าใช้ไฟล์คำสั่งเฉพาะเครื่องมือ:
.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 หลายเครื่องมือและให้ข้อมูลเมตาดาต้าเพิ่มเติม
Codex ใช้ skills เท่านั้นใน OPSX OpenSpec ไม่สร้างไฟล์ พรอมต์ ที่กำหนดเองของ Codex อีกต่อไป ใช้ไดเร็กทอรี .codex/skills/openspec-* ที่สร้างขึ้นแทน
ดำเนินการเปลี่ยนแปลงที่มีอยู่ต่อ
การเปลี่ยนแปลงที่คุณกำลังดำเนินการอยู่ทำงานร่วมกับคำสั่ง OPSX ได้อย่างลื่นไหล
มีการเปลี่ยนแปลงที่กำลังดำเนินการอยู่จากเวิร์กโฟลว์รุ่นเก่าหรือไม่?
/opsx:apply add-my-featureOPSX จะอ่านอาร์ติแฟกต์ที่มีอยู่แล้วและดำเนินการต่อจากจุดที่คุณหยุดไว้
ต้องการเพิ่มอาร์ติแฟกต์อื่นๆ ให้กับการเปลี่ยนแปลงที่มีอยู่หรือไม่?
/opsx:continue add-my-featureจะแสดงรายการสิ่งที่พร้อมสร้างตามสิ่งที่มีอยู่แล้ว
ต้องการดูสถานะหรือไม่?
bash
openspec status --change add-my-featureระบบการกำหนดค่าที่ใหม่
โครงสร้างของ config.yaml
yaml
# จำเป็น: สคีม่าเริ่มต้นสำหรับการเปลี่ยนแปลงใหม่
schema: spec-driven
# ตัวเลือก: บริบทของโปรเจกต์ (สูงสุด 50KB)
# ถูกแทรกเข้าไปในคำสั่งสำหรับอาร์ติแฟกต์ทั้งหมด
context: |
พื้นหลังของโปรเจกต์ของคุณ, สแต็กเทคโนโลยี,
ข้อตกลง และข้อจำกัด
# ตัวเลือก: กฎเฉพาะสำหรับแต่ละอาร์ติแฟกต์
# ถูกแทรกเข้าไปเฉพาะในอาร์ติแฟกต์ที่ตรงกันเท่านั้น
rules:
proposal:
- รวมแผนการย้อนกลับ
specs:
- ใช้รูปแบบ Given/When/Then
design:
- จัดทำเอกสารกลยุทธ์สำรอง
tasks:
- แบ่งเป็นชิ้นส่วนที่มีขนาดสูงสุด 2 ชั่วโมงการกำหนดสคีม่า
เมื่อต้องการกำหนดสคีม่าที่จะใช้ OPSX จะตรวจสอบตามลำดับต่อไปนี้:
- แฟล็ก CLI:
--schema <name>(ลำดับความสำคัญสูงสุด) - เมตาดาต้าของการเปลี่ยนแปลง: ไฟล์
.openspec.yamlในไดเรกทอรีของการเปลี่ยนแปลง - การกำหนดค่าของโปรเจกต์: ไฟล์
openspec/config.yaml - ค่าเริ่มต้น:
spec-driven
สคีม่าที่มีให้ใช้
| สคีม่า | อาร์ติแฟกต์ | เหมาะสำหรับ |
|---|---|---|
spec-driven | proposal → specs → design → tasks | โปรเจกต์ส่วนใหญ่ |
แสดงรายการสคีม่าทั้งหมดที่มีให้ใช้:
bash
openspec schemasสคีม่าที่กำหนดเอง
สร้างเวิร์กโฟลว์ของคุณเอง:
bash
openspec schema init my-workflowหรือ fork สคีม่าที่มีอยู่แล้ว:
bash
openspec schema fork spec-driven my-workflowดูรายละเอียดเพิ่มเติมที่ การปรับแต่ง
การแก้ไขปัญหา
"พบไฟล์รุ่นเก่าในโหมดไม่โต้ตอบ"
คุณกำลังทำงานในสภาพแวดล้อม CI หรือโหมดไม่โต้ตอบ ใช้คำสั่ง:
bash
openspec init --forceคำสั่งไม่ปรากฏหลังจากย้ายข้อมูล
รีสตาร์ท IDE ของคุณ ระบบจะตรวจพบสกิลเมื่อเริ่มทำงาน
"ไม่รู้จัก ID อาร์ติแฟกต์ในกฎ"
ตรวจสอบว่า คีย์ใน rules: ของคุณตรงกับ ID อาร์ติแฟกต์ของสคีม่า:
- 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 ฯลฯ
├── CLAUDE.md # ลบ Markers ของ OpenSpec แล้ว เนื้อหาของคุณยังคงอยู่
└── AGENTS.md # ลบ Markers ของ OpenSpec แล้ว เนื้อหาของคุณยังคงอยู่สิ่งที่ถูกลบออก
.claude/commands/openspec/— ถูกแทนที่ด้วย.claude/skills/openspec/AGENTS.md— ล้าสมัยopenspec/project.md— ย้ายข้อมูลไปยังconfig.yamlแล้วลบออก- บล็อก Markers ของ OpenSpec ใน
CLAUDE.md,AGENTS.mdฯลฯ
ตารางสรุปคำสั่ง
text
/opsx:propose เริ่มต้นอย่างรวดเร็ว (โปรไฟล์หลักเริ่มต้น)
/opsx:apply ดำเนินการงานที่กำหนด
/opsx:archive สิ้นสุดและเก็บถาวร
# เวิร์กโฟลว์ที่ขยายเพิ่มเติม (หากเปิดใช้งาน):
/opsx:new สร้างโครงสร้างของการเปลี่ยนแปลง
/opsx:continue สร้างอาร์ติแฟกต์ถัดไป
/opsx:ff สร้างอาร์ติแฟกต์การวางแผนการขอความช่วยเหลือ
- ดิสคอร์ด: discord.gg/YctCnvvshC
- ประเด็นใน GitHub: github.com/Fission-AI/OpenSpec/issues
- เอกสารประกอบ: docs/opsx.md สำหรับข้อมูลอ้างอิงทั้งหมดของ OPSX