การย้ายไปยัง OPSX
คู่มือนี้ช่วยให้คุณเปลี่ยนผ่านจากขั้นตอนการทำงาน OpenSpec แบบเดิมไปยัง OPSX การย้ายถูกออกแบบมาให้ราบรื่น—งานที่มีอยู่ของคุณจะได้รับการเก็บรักษาไว้ และระบบใหม่มีความยืดหยุ่นมากขึ้น
มีอะไรเปลี่ยนแปลงบ้าง?
OPSX แทนที่ขั้นตอนการทำงานแบบล็อกเฟสเดิมด้วยวิธีการที่ยืดหยุ่นและเน้นการกระทำ นี่คือการเปลี่ยนแปลงหลัก:
| แง่มุม | แบบเดิม | OPSX |
|---|---|---|
| คำสั่ง | /openspec:proposal, /openspec:apply, /openspec:archive | ค่าเริ่มต้น: /opsx:propose, /opsx:apply, /opsx:archive (คำสั่งขั้นตอนการทำงานที่ขยายเป็นตัวเลือก) |
| ขั้นตอนการทำงาน | สร้างเอกสารทั้งหมดพร้อมกัน | สร้างทีละส่วนหรือทั้งหมด—เป็นทางเลือกของคุณ |
| การย้อนกลับ | ขั้นตอนที่ยุ่งยาก | เป็นธรรมชาติ—อัปเดตเอกสารใดก็ได้ตลอดเวลา |
| การปรับแต่ง | โครงสร้างที่ตายตัว | ขับเคลื่อนด้วย Schema ปรับแต่งได้อย่างเต็มที่ |
| การกำหนดค่า | CLAUDE.md พร้อมเครื่องหมาย + project.md | การกำหนดค่าที่เรียบร้อยใน openspec/config.yaml |
การเปลี่ยนแปลงในปรัชญา: งานไม่ใช่เส้นตรง OPSX หยุดแกล้งทำเป็นว่ามันเป็นเช่นนั้น
ก่อนเริ่มต้น
งานที่มีอยู่ของคุณปลอดภัย
กระบวนการย้ายข้อมูลได้รับการออกแบบโดยคำนึงถึงการรักษาข้อมูล:
- การเปลี่ยนแปลงที่กำลังดำเนินการอยู่ใน
openspec/changes/— ถูกเก็บรักษาไว้ทั้งหมด คุณสามารถดำเนินการต่อด้วยคำสั่ง OPSX ได้ - การเปลี่ยนแปลงที่จัดเก็บแล้ว — ไม่ได้รับผลกระทบ ประวัติของคุณยังคงสมบูรณ์
- ข้อกำหนดหลักใน
openspec/specs/— ไม่ได้รับผลกระทบ สิ่งเหล่านี้คือแหล่งข้อมูลที่ถูกต้องของคุณ - เนื้อหาของคุณใน CLAUDE.md, AGENTS.md ฯลฯ — ถูกเก็บรักษาไว้ เฉพาะบล็อกเครื่องหมาย OpenSpec เท่านั้นที่ถูกลบออก สิ่งที่คุณเขียนไว้ทั้งหมดยังคงอยู่
สิ่งที่ถูกลบออก
เฉพาะไฟล์ที่จัดการโดย OpenSpec ซึ่งกำลังจะถูกแทนที่เท่านั้น:
| สิ่งที่ | ทำไม |
|---|---|
| ไดเรกทอรี/ไฟล์คำสั่งแบบ slash แบบเดิม | ถูกแทนที่ด้วยระบบทักษะใหม่ |
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,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)สิ่งที่เกิดขึ้นเมื่อคุณตอบตกลง:
- ไดเรกทอรีคำสั่งแบบ slash แบบเดิมจะถูกลบออก
- เครื่องหมาย 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 แบบเดิมเป็นไฟล์ 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 |
|---|---|
| Markdown รูปแบบอิสระ | YAML ที่มีโครงสร้าง |
| ข้อความก้อนเดียว | แยกบริบทและกฎตามชิ้นงาน |
| ไม่ชัดเจนว่าใช้เมื่อใด | บริบทปรากฏในทุกชิ้นงาน; กฎปรากฏเฉพาะในชิ้นงานที่ตรงกันเท่านั้น |
| ไม่มีการเลือกสคีมา | ฟิลด์ schema: ชัดเจนจะตั้งค่าเวิร์กโฟลว์เริ่มต้น |
สิ่งที่ควรเก็บ สิ่งที่ควรทิ้ง
เมื่อย้ายข้อมูล ให้เลือกอย่างระมัดระวัง ถามตัวเองว่า: "AI ต้องการสิ่งนี้สำหรับ ทุก คำขอการวางแผนหรือไม่?"
ผู้สมัครที่ดีสำหรับ context:
- เทคโนโลยี (ภาษา แฟรมเวิร์ก ฐานข้อมูล)
- รูปแบบสถาปัตยกรรมหลัก (มอนิโรวิว ไมโครเซอร์วิส ฯลฯ)
- ข้อจำกัดที่ไม่ชัดเจน ("เราไม่สามารถใช้ไลบรารี 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" ควรอยู่ในกฎของ specs ไม่ใช่บริบทสากล)
ละเว้นสิ่งทั่วไปที่โมเดล AI รู้อยู่แล้ว จงเด็ดขาดเกี่ยวกับความกระชับAI จะช่วยคุณระบุว่าสิ่งใดจำเป็น vs. สิ่งใดสามารถตัดทอนได้
คำสั่งใหม่
ความพร้อมใช้งานของคำสั่งขึ้นอยู่กับโปรไฟล์:
ค่าเริ่มต้น (โปรไฟล์ 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) แทนขั้นตอน (phases):
┌───────────────────────────────────────────────┐
│ 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 มันจะตรวจสอบว่าสิ่งใดพร้อมแล้วและเสนอสิ่งที่สร้างขึ้นถัดไป คุณยังสามารถสร้างสิ่งที่สร้างขึ้นหลายรายการที่พร้อมแล้วได้ในลำดับใดก็ได้
ทักษะ (Skills) เทียบกับ คำสั่ง (Commands)
ระบบเดิมใช้ไฟล์คำสั่งเฉพาะสำหรับเครื่องมือ:
.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
└── ...ทักษะได้รับการยอมรับในเครื่องมือเขียนโค้ด 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:
plan:
- Include rollback plan
specs:
- Use Given/When/Then format
design:
- Document fallback strategies
tasks:
- Break into 2-hour maximum chunksการแก้ไข Schema
เมื่อกำหนดว่าจะใช้ schema ใด OPSX จะตรวจสอบตามลำดับ:
- แฟล็ก CLI:
--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ดูรายละเอียดที่ การปรับแต่ง
การแก้ไขปัญหา
"Legacy files detected in non-interactive mode"
คุณกำลังรันในสภาพแวดล้อม CI หรือแบบไม่โต้ตอบ ใช้:
bash
openspec init --forceคำสั่งไม่ปรากฏหลังการย้ายข้อมูล
รีสตาร์ท IDE ของคุณ ทักษะจะถูกตรวจจับเมื่อเริ่มต้น
"Unknown artifact ID in rules"
ตรวจสอบว่าคีย์ 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/
│ └── ... # โปรไฟล์ที่ขยายเพิ่ม new/continue/ff/ฯลฯ
├── 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 ทั้งหมด