Skip to content

การย้ายไปใช้ 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 — ไฟล์นี้จะไม่ถูกลบโดยอัตโนมัติเนื่องจากอาจมีบริบทของโปรเจกต์ที่คุณเขียนไว้ คุณจำเป็นต้อง:

  1. ทบทวนเนื้อหาของไฟล์นี้
  2. ย้ายบริบทที่มีประโยชน์ไปยัง openspec/config.yaml (ดูคำแนะนำด้านล่าง)
  3. ลบไฟล์นี้เมื่อพร้อม

เหตุผลที่เราทำการเปลี่ยนแปลงนี้:

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:

  1. ไดเร็กทอรีคำสั่ง slash แบบเก่าถูกลบออก
  2. เครื่องหมาย OpenSpec ถูกลบออกจาก CLAUDE.md, AGENTS.md ฯลฯ (เนื้อหาของคุณยังคงอยู่)
  3. openspec/AGENTS.md ถูกลบออก
  4. skills ใหม่ถูกติดตั้งใน .claude/skills/
  5. 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.mdconfig.yaml
มาร์กดาวน์แบบอิสระYAML มีโครงสร้าง
ข้อความเป็นก้อนเดียวแยกบริบทและกฎต่ออาร์ติแฟกต์
ไม่ชัดเจนว่าจะใช้เมื่อไหร่บริบทปรากฏในอาร์ติแฟกต์ทั้งหมด; กฎปรากฏเฉพาะในอาร์ติแฟกต์ที่ตรงกันเท่านั้น
ไม่มีการเลือกสคีมาฟิลด์ schema: ที่ชัดเจนกำหนดเวิร์กโฟลว์เริ่มต้น

สิ่งที่จะเก็บ สิ่งที่จะทิ้ง

เมื่อย้ายข้อมูล ให้เลือกอย่างมีเหตุผล ถามตัวเองว่า "AI จำเป็นต้องใช้สิ่งนี้สำหรับ ทุก คำขอการวางแผนหรือไม่?"

สิ่งที่เหมาะสำหรับใส่ใน context:

  • เทคโนโลยีสแต็ก (ภาษา เฟรมเวิร์ก ฐานข้อมูล)
  • รูปแบบสถาปัตยกรรมหลัก (monorepo, microservices ฯลฯ)
  • ข้อจำกัดที่ไม่ชัดเจน ("เราไม่สามารถใช้ไลบรารี X เนื่องจาก...")
  • ข้อกำหนดสำคัญที่มักจะถูกเพิกเฉย

ย้ายไปใส่ใน rules: แทน

  • การจัดรูปแบบเฉพาะอาร์ติแฟกต์ ("ใช้ Given/When/Then ใน specs")
  • เกณฑ์การตรวจทาน ("ข้อเสนอต้องมีแผนการย้อนกลับ")
  • สิ่งเหล่านี้จะปรากฏเฉพาะในอาร์ติแฟกต์ที่ตรงกันเท่านั้น ทำให้คำขออื่นๆ เบาลง

ทิ้งออกทั้งหมด

  • วิธีปฏิบัติที่ดีทั่วไปที่ AI ทราบอยู่แล้ว
  • คำอธิบายที่ยาวเกินไปซึ่งสามารถสรุปได้
  • บริบทประวัติศาสตร์ที่ไม่ส่งผลต่องานปัจจุบัน

ขั้นตอนการย้ายข้อมูล

  1. สร้าง config.yaml (หากยังไม่ได้สร้างโดย init):

    yaml
    schema: spec-driven
  2. เพิ่มบริบทของคุณ (ให้กระชับ—สิ่งนี้จะถูกใส่เข้าไปในทุกคำขอ):

    yaml
    context: |
      Your project background goes here.
      Focus on what the AI genuinely needs to know.
  3. เพิ่มกฎต่ออาร์ติแฟกต์ (ไม่จำเป็น):

    yaml
    rules:
      proposal:
        - Your proposal-specific guidance
      specs:
        - Your spec-writing rules
  4. ลบ 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.md

OPSX ใช้มาตรฐาน 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-feature

OPSX จะอ่านอาร์ติแฟกต์ที่มีอยู่แล้วและดำเนินการต่อจากจุดที่คุณหยุดไว้

ต้องการเพิ่มอาร์ติแฟกต์อื่นๆ ให้กับการเปลี่ยนแปลงที่มีอยู่หรือไม่?

/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 จะตรวจสอบตามลำดับต่อไปนี้:

  1. แฟล็ก CLI: --schema <name> (ลำดับความสำคัญสูงสุด)
  2. เมตาดาต้าของการเปลี่ยนแปลง: ไฟล์ .openspec.yaml ในไดเรกทอรีของการเปลี่ยนแปลง
  3. การกำหนดค่าของโปรเจกต์: ไฟล์ openspec/config.yaml
  4. ค่าเริ่มต้น: spec-driven

สคีม่าที่มีให้ใช้

สคีม่าอาร์ติแฟกต์เหมาะสำหรับ
spec-drivenproposal → 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

การกำหนดค่าไม่ถูกนำไปใช้

  1. ตรวจสอบให้แน่ใจว่าไฟล์อยู่ในตำแหน่ง openspec/config.yaml (ไม่ใช่ .yml)
  2. ตรวจสอบความถูกต้องของไวยากรณ์ YAML
  3. การเปลี่ยนแปลงในการกำหนดค่าจะมีผลทันที ไม่จำเป็นต้องรีสตาร์ท

ไฟล์ 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           สร้างอาร์ติแฟกต์การวางแผน

การขอความช่วยเหลือ