Skip to content

अपना प्रोजेक्ट सेट करें ​

किसी प्रोजेक्ट में OpenSpec जोड़ें: init चलाएँ, देखें कि इसने क्या लिखा, और उसे समायोजित करें।

चुनें कि OpenSpec कहाँ रहेगा ​

  • आपके रिपॉज़िटरी में (डिफ़ॉल्ट): स्पेक्स और परिवर्तन उसी कोड के पास रहते हैं जिन्हें वे वर्णित करते हैं और उसके साथ वर्ज़न किए जाते हैं। इस पृष्ठ का बाकी भाग इसी मार्ग का अनुसरण करता है।
  • स्टोर में: एक अलग प्लानिंग रिपॉज़िटरी जिसे उसका उपयोग करने वाली रिपॉज़िटरीज़ साझा करती हैं, मल्टी-रिपो सेटअप के लिए या प्लानिंग को रिपॉज़िटरी से पूरी तरह बाहर रखने के लिए। स्टोर्स (बीटा) बताता है कि यह कब फायदेमंद है और इसे कैसे सेट करें।

अपना प्रोजेक्ट इनिशियलाइज़ करें ​

CLI इंस्टॉल होने के बाद (इंस्टॉलेशन), अपने प्रोजेक्ट की रूट में init चलाएँ। अपने टर्मिनल में:

bash
cd <your-project>
openspec init

init पूछता है कि आप कौन-से AI टूल्स उपयोग करते हैं, आपके चुने हुए टूल्स के लिए वर्कफ़्लो फ़ाइलें लिखता है, और बताता है कि आपको क्या मिला:

OpenSpec Setup Complete

Created: Claude Code
6 skills and 6 commands in .claude/
Config: openspec/config.yaml (schema: spec-driven)

नए कमांड्स के प्रभावी होने के लिए अपने IDE को रीस्टार्ट करें।

init फिर से चलाना सुरक्षित है:

  • पहले से सेट किए गए टूल्स Created के बजाय Refreshed प्रिंट करते हैं।
  • नया टूल चुनकर init फिर चलाने पर वह टूल जुड़ जाता है।
  • --tools फ़्लैग पिकर को छोड़ देता है (CLI संदर्भ)।

मौजूदा project.md को माइग्रेट करें ​

init लेगेसी openspec/project.md को config.yaml में कॉपी नहीं करता। यह फ़ाइल को रखता है और AI-सहायित माइग्रेशन अनुरोध प्रिंट करता है।

अपने AI चैट में:

Review openspec/project.md and migrate its useful content to openspec/config.yaml.
Keep context concise: include only project-wide facts needed during artifact creation, apply, and archive.
Move artifact-specific guidance into rules for the matching artifacts.
Move guidance for apply or archive into the matching operations entry.
Leave out generic, outdated, or verbose material. Do not delete project.md.

config.yaml की समीक्षा करें, फिर तैयार होने पर project.md हटा दें।

init क्या इंस्टॉल करता है ​

init चलाने पर आपके प्रोजेक्ट में दो चीज़ें बनती हैं:

  • रिपॉज़िटरी रूट में एक openspec/ फ़ोल्डर
  • आपके AI टूल के फ़ोल्डर (.agents/, .claude/, आदि) में जोड़ी गई वर्कफ़्लो फ़ाइलें (स्किल्स और कमांड्स)

इसे बाकी सोर्स की तरह पूरा कमिट करें। init आपके रिपॉज़िटरी में और कुछ नहीं बदलता (यदि इसे पुराने OpenSpec वर्ज़न के अवशेष मिलते हैं, तो उन्हें साफ़ करने से पहले पूछता है)।

openspec/ फ़ोल्डर ​

हर OpenSpec आर्टिफ़ैक्ट यहीं, आपके प्रोजेक्ट की रूट में रहता है। यह ऐसा दिखता है:

openspec/
├── config.yaml     project settings and context for the AI
├── specs/          your specs (empty for now)
└── changes/        in-motion changes (empty for now)
    └── archive/    completed changes move here

प्रोजेक्ट कॉन्फ़िग में config.yaml को समझाया गया है।

वर्कफ़्लो फ़ाइलें (स्किल्स और कमांड्स) ​

ये OpenSpec वर्कफ़्लो हैं, वे क्रियाएँ जिन्हें आप काम करते समय उपयोग करेंगे। ये इंस्टॉल की गई स्किल्स के रूप में, अधिकांश टूल्स द्वारा उपयोग किए जाने वाले साझा .agents/ फ़ोल्डर में दिखाई गई हैं:

.agents/skills/
├── openspec-explore/              think through an idea first
├── openspec-propose/              propose a change
├── openspec-apply-change/         implement a change's tasks
├── openspec-update-change/        revise a change's plan
├── openspec-sync-specs/           sync a change's spec updates into specs/
├── openspec-archive-change/       move a finished change to the archive
├── openspec-verify-change/        check the implementation matches the plan (not included by default)
└── openspec-bulk-archive-change/  archive several changes at once (not included by default)

यह डिफ़ॉल्ट सेट है, साथ में दो वैकल्पिक वर्कफ़्लो भी। प्रोफ़ाइल्स सभी बारह की सूची देता है।

डिफ़ॉल्ट रूप से प्रत्येक वर्कफ़्लो दो रूपों में इंस्टॉल होता है:

  • स्किल (openspec-apply-change): निर्देश जिन्हें आपका एजेंट तब स्वयं उठा लेता है जब आप वह काम करने को कहते हैं।
  • कमांड (Claude Code में /opsx:apply): उसी वर्कफ़्लो के लिए एक टाइप किया जाने वाला एंट्री पॉइंट, छोटे नाम के अंतर्गत।

दोनों कार्यात्मक रूप से समान हैं। किसी वर्कफ़्लो की स्किल और उसका कमांड समान निर्देश रखते हैं।

दो क्यों: कमांड पहले आए, और हर टूल उन्हें अपने-अपने तरीके से लिखता है। स्किल्स नया मानक है जो टूल्स के बीच साझा है, लेकिन हर टूल सीधे स्किल को इनवोक नहीं कर सकता, इसलिए कमांड उन टूल्स के एंट्री पॉइंट के रूप में बने रहते हैं।

कुछ टूल्स केवल स्किल रूप में इंस्टॉल होते हैं। जहाँ टूल स्किल्स को सीधे चलाता है, वहाँ init कमांड्स को छोड़ देता है और ऐसा बताता है (Commands skipped for: codex (uses skills)).

हम स्किल्स को प्राथमिकता देते हैं और अपेक्षा करते हैं कि कमांड्स को अंततः हटा दिया जाएगा।

बदलें कि क्या इंस्टॉल होता है ​

इंटरैक्टिव पिकर डिलीवरी फ़ॉर्म और वर्कफ़्लो सेट बदलता है (प्रोफ़ाइल्स)। अपने टर्मिनल में:

bash
openspec config profile

यहाँ केवल स्किल्स पर स्विच करना दिखाया गया है:

Current profile settings
  Delivery: both

? What do you want to configure? Delivery only
? Delivery mode (how workflows are installed): Skills only

Config changes:
  delivery: both -> skills
? Apply changes to this project now? (Y/n) y

हाँ उत्तर देने पर यह तुरंत वर्तमान प्रोजेक्ट पर लागू हो जाता है। अन्य प्रोजेक्ट्स इसे अपने अगले openspec update पर उठा लेते हैं। सेटिंग प्रति मशीन वैश्विक है।

Claude Code वर्कफ़्लो नहीं दिखाता ​

Claude Code आपकी डिलीवरी सेटिंग के आधार पर इनमें से एक या दोनों प्रोजेक्ट पाथ्स से OpenSpec वर्कफ़्लो लोड करता है:

  • स्किल्स: .claude/skills/openspec-*/SKILL.md
  • कमांड्स: .claude/commands/opsx/<id>.md

यदि फ़ाइलें गायब हैं, तो प्रोजेक्ट को रीफ़्रेश करें। अपने टर्मिनल में:

bash
openspec update

यदि कमांड फ़ाइलें मौजूद हैं लेकिन /opsx: कोई OpenSpec कमांड नहीं दिखाता, तो Claude Code अपडेट करें और उसे रीस्टार्ट करें। यदि कमांड्स फिर भी लोड नहीं होते, तो स्किल्स भी सक्षम करें। अपने टर्मिनल में:

bash
openspec config set delivery both
openspec update

Claude Code रीस्टार्ट करें, फिर उसके चैट में /openspec-propose चलाएँ। यदि केवल कुछ वर्कफ़्लो गायब हैं, तो अपनी प्रोफ़ाइल बदलें।

सेटअप पूरा हुआ। क्विकस्टार्ट यहाँ से आपके पहले परिवर्तन को आगे बढ़ाता है।