CLI संदर्भ
OpenSpec CLI (openspec) परियोजना सेटअप, सत्यापन, स्थिति निरीक्षण और प्रबंधन के लिए टर्मिनल कमांड प्रदान करता है। ये कमांड Commands में दस्तावेजित AI स्लैश कमांड (जैसे /opsx:propose) के पूरक हैं।
सारांश
| श्रेणी | कमांड | उद्देश्य |
|---|---|---|
| सेटअप | init, update | अपनी परियोजना में OpenSpec को आरंभ करें और अपडेट करें |
| स्टोर (स्वतंत्र OpenSpec रिपॉजिट्री) | store setup, store register, store unregister, store remove, store list, store doctor | स्टोरों का प्रबंधन करें — वे स्वतंत्र OpenSpec रिपॉजिट्री जिन्हें आपने पंजीकृत किया है |
| स्वास्थ्य | doctor | हल किए गए रूट के लिए संबंधों का स्वास्थ्य रिपोर्ट करें |
| कार्य संदर्भ | context | कार्य सेट को एक साथ संयोजित करें (रूट + संदर्भित स्टोर) |
| व्यक्तिगत कार्य सेट | workset create, workset list, workset open, workset remove | अपने टूल में व्यक्तिगत, स्थानीय कार्य दृश्यों को सहेजें और खोलें |
| ब्राउज़िंग | list, view, show | परिवर्तन और स्पेक्स का अन्वेषण करें |
| सत्यापन | validate | परिवर्तन और स्पेक्स में समस्याओं की जांच करें |
| जीवनचक्र | archive | पूर्ण किए गए परिवर्तनों को अंतिम रूप दें |
| कार्यप्रवाह | new change, status, instructions, templates, schemas | आर्टिफैक्ट-चालित कार्यप्रवाह समर्थन |
| स्कीमा | schema init, schema fork, schema validate, schema which | कस्टम कार्यप्रवाह बनाएं और प्रबंधित करें |
| कॉन्फ़िग | config | सेटिंग्स को देखें और संशोधित करें |
| यूटिलिटी | feedback, completion | फीडबैक और शेल इंटीग्रेशन |
मानव बनाम एजेंट कमांड
अधिकांश CLI कमांड को टर्मिनल में मानव उपयोग के लिए डिज़ाइन किया गया है। कुछ कमांड JSON आउटपुट के माध्यम से एजेंट/स्क्रिप्ट उपयोग का भी समर्थन करते हैं।
केवल मानव के लिए कमांड
ये कमांड इंटरैक्टिव होते हैं और टर्मिनल उपयोग के लिए डिज़ाइन किए गए हैं:
| कमांड | उद्देश्य |
|---|---|
openspec init | प्रोजेक्ट को इनिशियलाइज़ करें (इंटरैक्टिव प्रॉम्प्ट) |
openspec view | इंटरैक्टिव डैशबोर्ड |
openspec workset open <name> | सहेजे गए वर्कसेट को खोलें (एडिटर विंडो या टर्मिनल एजेंट सत्र) |
openspec config edit | कॉन्फ़िग को एडिटर में खोलें |
openspec feedback | GitHub के माध्यम से फीडबैक जमा करें |
openspec completion install | शेल कंप्लीशन इंस्टॉल करें |
एजेंट-संगत कमांड
ये कमांड AI एजेंट और स्क्रिप्ट द्वारा प्रोग्रामेटिक उपयोग के लिए --json आउटपुट का समर्थन करते हैं:
| कमांड | मानव उपयोग | एजेंट उपयोग |
|---|---|---|
openspec list | परिवर्तन/स्पेक ब्राउज़ करें | संरचित डेटा के लिए --json |
openspec show <item> | कंटेंट पढ़ें | पार्सिंग के लिए --json |
openspec validate | समस्याओं की जांच करें | बल्क वैलिडेशन के लिए --all --json |
openspec status | आर्टिफैक्ट प्रोग्रेस देखें | संरचित स्टेटस के लिए --json |
openspec instructions | अगले चरण प्राप्त करें | एजेंट इंस्ट्रक्शंस के लिए --json |
openspec templates | टेम्पलेट पाथ ढूंढें | पाथ रिज़ॉल्यूशन के लिए --json |
openspec schemas | उपलब्ध स्कीमा सूचीबद्ध करें | स्कीमा डिस्कवरी के लिए --json |
openspec store setup <id> | एक स्थानीय स्टोर बनाएं और रजिस्टर करें | संरचित सेटअप आउटपुट के लिए स्पष्ट इनपुट के साथ --json |
openspec store register <path> | मौजूदा स्टोर को रजिस्टर करें | संरचित रजिस्ट्रेशन आउटपुट के लिए --json |
openspec store unregister <id> | स्थानीय स्टोर रजिस्ट्रेशन भूल जाएं | संरचित क्लीनअप आउटपुट के लिए --json |
openspec store remove <id> | रजिस्टर किए गए स्थानीय स्टोर फोल्डर हटाएं | नॉन-इंटरैक्टिव डिलीशन के लिए --yes --json |
openspec store list | रजिस्टर किए गए स्टोर ब्राउज़ करें | संरचित रजिस्ट्रेशंस के लिए --json |
openspec store doctor | स्थानीय स्टोर सेटअप की जांच करें | संरचित डायग्नोस्टिक्स के लिए --json |
openspec new change <id> | रेपो-लोकल चेंज स्कैफोल्डिंग बनाएं | रजिस्टर किए गए स्टोर को OpenSpec रूट के रूप में उपयोग करने के लिए --store <id> सहित --json |
openspec workset create [name] | व्यक्तिगत कार्य व्यू बनाएं | नॉन-इंटरैक्टिव कंपोज़िशन के लिए --member <path> --json |
openspec workset list | सहेजे गए वर्कसेट ब्राउज़ करें | संरचित व्यू के लिए --json |
openspec workset remove <name> | सहेजी गई व्यू हटाएं | नॉन-इंटरैक्टिव रिमूवल के लिए --yes --json |
ग्लोबल ऑप्शन्स
ये ऑप्शन्स सभी कमांड के साथ काम करते हैं:
| विकल्प | विवरण |
|---|---|
--version, -V | वर्जन नंबर दिखाएं |
--no-color | कलर आउटपुट अक्षम करें |
--help, -h | कमांड के लिए हेल्प दिखाएं |
सेटअप कमांड
openspec init
अपने प्रोजेक्ट में OpenSpec को इनिशियलाइज़ करें। फोल्डर संरचना बनाता है और AI टूल इंटीग्रेशंस को कॉन्फ़िगर करता है।
डिफॉल्ट व्यवहार ग्लोबल कॉन्फ़िग डिफॉल्ट का उपयोग करता है: प्रोफाइल core, डिलीवरी both, वर्कफ्लो propose, explore, apply, sync, archive.
openspec init [path] [options]आर्ग्यूमेंट:
| आर्ग्यूमेंट | आवश्यक | विवरण |
|---|---|---|
path | नहीं | टार्गेट डिरेक्ट्री (डिफॉल्ट: वर्तमान डिरेक्ट्री) |
विकल्प:
| विकल्प | विवरण |
|---|---|
--tools <list> | AI टूल को नॉन-इंटरैक्टिव तरीके से कॉन्फ़िगर करें। all, none, या कॉमा से अलग किए गए सूची का उपयोग करें |
--force | प्रॉम्प्ट किए बिना लीगेसी फाइलों का ऑटो-क्लीनअप करें |
--profile <profile> | इस इनिशियलाइज़ेशन रन के लिए ग्लोबल प्रोफाइल ओवरराइड करें (core या custom) |
--profile custom ग्लोबल कॉन्फ़िग में वर्तमान में चयनित किसी भी वर्कफ्लो का उपयोग करता है (openspec config profile).
समर्थित टूल आईडी (--tools): amazon-q, antigravity, auggie, bob, claude, cline, codeartsagent, codex, forgecode, codebuddy, continue, costrict, crush, cursor, factory, gemini, github-copilot, hermes, iflow, junie, kilocode, kimi, kiro, lingma, vibe, oh-my-pi, opencode, pi, qoder, qwen, roocode, trae, windsurf, zcode
यह सूची
src/core/config.tsमेंAI_TOOLSकी नकल करती है। प्रत्येक टूल की स्किल और कमांड पाथ के लिए समर्थित टूल देखें।
उदाहरण:
bash
# इंटरैक्टिव इनिशियलाइज़ेशन
openspec init
# किसी विशिष्ट डिरेक्ट्री में इनिशियलाइज़ करें
openspec init ./my-project
# नॉन-इंटरैक्टिव: क्लॉड और कर्सर के लिए कॉन्फ़िगर करें
openspec init --tools claude,cursor
# सभी समर्थित टूल के लिए कॉन्फ़िगर करें
openspec init --tools all
# इस रन के लिए प्रोफाइल ओवरराइड करें
openspec init --profile core
# प्रॉम्पट्स को छोड़ें और लीगेसी फाइलों का ऑटो-क्लीनअप करें
openspec init --forceयह क्या बनाता है:
openspec/
├── specs/ # आपके स्पेसिफिकेशन (सत्य का मूल स्रोत)
├── changes/ # प्रस्तावित परिवर्तन
└── config.yaml # प्रोजेक्ट कॉन्फ़िगरेशन
.claude/skills/ # क्लॉड कोड स्किल्स (यदि क्लॉड चुना गया हो)
.cursor/skills/ # कर्सर स्किल्स (यदि कर्सर चुना गया हो)
.cursor/commands/ # कर्सर OPSX कमांड (यदि डिलीवरी में कमांड शामिल हैं)
... (अन्य टूल कॉन्फ़िगरेशंस)openspec update
CLI को अपग्रेड करने के बाद OpenSpec इंस्ट्रक्शन फाइलों को अपडेट करें। अपने वर्तमान ग्लोबल प्रोफाइल, चयनित वर्कफ्लो और डिलीवरी मोड का उपयोग करके AI टूल कॉन्फ़िगरेशन फाइलों को फिर से जनरेट करता है।
openspec update [path] [options]आर्ग्यूमेंट:
| आर्ग्यूमेंट | आवश्यक | विवरण |
|---|---|---|
path | नहीं | टार्गेट डिरेक्ट्री (डिफॉल्ट: वर्तमान डिरेक्ट्री) |
विकल्प:
| विकल्प | विवरण |
|---|---|
--force | फाइलें पहले से ही अप टू डेट होने के बावजूद अपडेट को फोर्स करें |
उदाहरण:
bash
# npm अपग्रेड के बाद इंस्ट्रक्शन फाइलों को अपडेट करें
npm update @fission-ai/openspec
openspec updateस्टोर (स्टैंडअलोन OpenSpec रेपो)
बीटा. स्टोर और उन पर निर्मित फीचर्स (रेफरेंस, वर्किंग कॉन्टेक्स्ट, वर्कसेट) नए हैं; रिलीज़ के बीच कमांड नाम, फ्लैग, फाइल फॉर्मेट और JSON आउटपुट में बदलाव आ सकता है। प्रॉब्लम-फर्स्ट वॉकथ्रू के लिए स्टोर गाइड देखें।
स्टोर एक स्टैंडअलोन OpenSpec रेपो है जिसे आपने इस मशीन पर रजिस्टर किया है — उदाहरण के लिए एक प्लानिंग रेपो या कॉन्ट्रैक्ट रेपो। स्टोर को रजिस्टर करने से नॉर्मल कमांड (list, show, status, validate, new change, archive, ...) किसी भी जगह से --store <id> पास करके उसमें कार्य कर सकते हैं।
openspec store setup
एक स्थानीय स्टोर बनाएं और रजिस्टर करें। टर्मिनल में कोई आर्ग्यूमेंट के बिना, OpenSpec उपयोगकर्ता को सेटअप के माध्यम से गाइड करता है। एजेंट और स्क्रिप्ट को स्पष्ट इनपुट पास करना चाहिए और --json का उपयोग करना चाहिए।
bash
openspec store setup [id] [options]विकल्प:
| विकल्प | विवरण |
|---|---|
--path <path> | वह फोल्डर जहां स्टोर होना चाहिए (उदाहरण के लिए ~/openspec/<id>) |
--remote <url> | नए स्टोर के store.yaml में कैनोनिकल रिमोट रिकॉर्ड करें |
--init-git | एक Git रेपो को इनिशियल कमिट के साथ इनिशियलाइज़ करें (डिफॉल्ट) |
--no-init-git | हर Git एक्शन को छोड़ें: कोई इनिशियलाइज़ेशन नहीं, कोई इनिशियल कमिट नहीं |
--json | JSON आउटपुट |
नॉन-इंटरैक्टिव रन (--json, स्क्रिप्ट, एजेंट) को स्टोर आईडी और --path दोनों पास करने होते हैं। इंटरैक्टिव टर्मिनल में, सेटअप स्थान के लिए प्रॉम्प्ट करता है जिसमें एक संपादन योग्य सुझाव दिखाई देता है जो उपयोगकर्ता के स्वामित्व वाली स्थान पर हो (उदाहरण के लिए ~/openspec/<id>); यह कभी भी OpenSpec के मैनेज्ड डेटा डिरेक्ट्री को डिफॉल्ट नहीं करता है।
उदाहरण:
bash
openspec store setup
openspec store setup team-context
openspec store setup team-context --path ~/openspec/team-context --no-init-git
openspec store setup team-context --path ~/openspec/team-context --no-init-git --jsonopenspec store register
एक मौजूदा स्थानीय स्टोर फोल्डर को रजिस्टर करें। स्टोर्स बीटा के दौरान, किसी भी परिवर्तन मौजूद न होने, स्पेक लागू न होने या परिवर्तन आर्काइव न होने से पहले एक रूट रजिस्टर किया जा सकता है; उस स्थिति में openspec/changes/, openspec/specs/, और openspec/changes/archive/ तब तक अनुपस्थित हो सकते हैं जब तक नॉर्मल कमांड उन्हें नहीं बनाते। एक केवल कॉन्फ़िग रेपो जो store: <id> घोषित करता है, दूसरे स्टोर का एक पॉइंटर बना रहता है और जब तक वह पॉइंटर हटाया नहीं जाता, तब तक इसे स्टोर रूट के रूप में रजिस्टर नहीं किया जाता।
bash
openspec store register [path] [options]विकल्प:
| विकल्प | विवरण |
|---|---|
--id <id> | स्टोर आईडी; डिफॉल्ट रूप से स्टोर मेटाडेटा या फोल्डर नाम |
--yes | एक स्वस्थ OpenSpec रूट के लिए स्टोर आइडेंटिटी मेटाडेटा बनाने की पुष्टि करें |
--json | JSON आउटपुट |
openspec store unregister
फाइलों को हटाए बिना स्थानीय स्टोर रजिस्ट्रेशन भूल जाएं।
bash
openspec store unregister <id> [--json]इसका उपयोग तब करें जब कोई स्टोर किसी अन्य जगह स्थानांतरित हो गया हो, क्लोन हो गया हो, या इस मशीन पर OpenSpec द्वारा अब इसे नहीं दिखाना चाहिए।
openspec store remove
स्थानीय स्टोर रजिस्ट्रेशन भूल जाएं और उसके स्थानीय फोल्डर को हटाएं।
bash
openspec store remove <id> [--yes] [--json]इंटरैक्टिव टर्मिनल में remove डिलीशन से पहले सटीक फोल्डर दिखाता है। एजेंट, स्क्रिप्ट और JSON कॉलर को डिलीशन की पुष्टि करने के लिए --yes पास करना होता है। OpenSpec उस फोल्डर को हटाने से मना करता है जिसमें मैचिंग स्टोर मेटाडेटा न हो।
openspec store list
स्थानीय रूप से रजिस्टर किए गए स्टोर की सूची बनाएं।
bash
openspec store list [--json]
openspec store ls [--json]openspec store doctor
स्थानीय स्टोर रजिस्ट्रेशन, मेटाडेटा और Git उपस्थिति की जांच करें।
bash
openspec store doctor [id] [--json]डॉक्टर केवल डायग्नोस्टिक होता है; यह स्टोर को बदले बिना गुम रूट, मेटाडेटा मिसमैच और अमान्य स्थानीय रजिस्ट्री स्टेट रिपोर्ट करता है।
प्रोजेक्ट से स्टोर का संदर्भ लेना
एक प्रोजेक्ट रेपो अपने कार्य के लिए किन स्टोर का उपयोग करता है, उसे openspec/config.yaml में घोषित कर सकता है:
yaml
schema: spec-driven
references:
- team-contextउसके बाद से उस रेपो में openspec instructions आउटपुट (पर-आर्टिफैक्ट और apply सरफेस दोनों, JSON और मानव मोड) प्रत्येक संदर्भित स्टोर के स्पेक का इंडेक्स ले जाता है — स्पेक आईडी, प्रत्येक स्पेक के Purpose सेक्शन से एक-लाइन सारांश, और फेच कमांड (openspec show <spec-id> --type spec --store <id>)। इंडेक्स हर रन पर रजिस्टर किए गए चेकआउट से लाइव बनाया जाता है; स्पेक कंटेंट को कभी भी आउटपुट में कॉपी नहीं किया जाता है।
रेफरेंस रीड-ओनली कॉन्टेक्स्ट होते हैं। ये कभी भी कमांड के कार्य करने की जगह नहीं बदलते: कार्य रेपो के अपने रूट में ही रहता है, और संदर्भित स्टोर में लिखना एक स्पष्ट --store एक्शन बना रहता है। जो रेफरेंस रिज़ॉल्यू नहीं हो पाता (उदाहरण के लिए, इस मशीन पर रजिस्टर न किया गया स्टोर), इंडेक्स में सटीक फिक्स के साथ एक वार्निंग में डीग्रेड हो जाता है, और इंस्ट्रक्शंस फिर भी जनरेट होते हैं। openspec doctor एक ही जगह रेफरेंस हेल्थ रिपोर्ट करता है।
स्टोर को कहां से क्लोन किया गया है, उसे रिकॉर्ड करना
एक स्टोर अपने कमिटेड आइडेंटिटी फाइल में अपना कैनोनिकल क्लोन सोर्स रिकॉर्ड कर सकता है, ताकि ऑनबोर्डिंग कभी "स्टोर रजिस्टर करें" पर नहीं अटक जाती:
bash
openspec store setup team-context --path ~/openspec/team-context \
--remote git@github.com:acme/team-context.gitरिमोट इनिशियल कमिट के अंदर .openspec-store/store.yaml में लैंड होता है, ताकि हर क्लोन इसे जानकर ही पैदा होता है। मौजूदा स्टोर के लिए, store.yaml को हाथ से एडिट करें और कमिट करें। store doctor रिकॉर्डेड रिमोट (और चेकआउट का ऑब्जर्व्ड Git ऑरिजिन) दिखाता है; सेटअप/रजिस्टर शेयरिंग गाइडेंस इसे नाम दिखाती है; और रजिस्टर चेकआउट के ऑरिजिन को मशीन-लोकल रजिस्ट्री में रिकॉर्ड करता है।
रेफरेंस डिक्लेरेशन में क्लोन सोर्स भी शामिल हो सकता है, ताकि उस टीम मेम्बर जिसके पास अभी तक स्टोर नहीं है, को एक पूरा, पेस्ट करने योग्य फिक्स मिल जाता है (git clone <remote> <path> && openspec store register <path> --id <id>):
yaml
references:
- { id: team-context, remote: "git@github.com:acme/team-context.git" }रिमोट रिकॉर्ड करना सिंक नहीं है: OpenSpec कभी भी अपने आप क्लोन, पुल या पुश नहीं करता है।
डिफॉल्ट स्टोर घोषित करना
जिस रेपो की प्लानिंग पूरी तरह से एक्सटर्नलाइज़्ड हो — कोई स्थानीय openspec/specs/ या openspec/changes/ न हो — वह हर कमांड पर --store पास करने के बजाय एक बार अपना स्टोर घोषित कर सकता है:
yaml
# openspec/config.yaml (openspec/ के अंदर एकमात्र फाइल)
store: team-contextफिर नॉर्मल कमांड स्वतः घोषित स्टोर के लिए रिज़ॉल्यू हो जाते हैं; रूट बैनर और JSON root ब्लॉक स्टोर आईडी के साथ source: "declared" रिपोर्ट करता है, और प्रिंटेड हिंट अभी भी --store <id> ले जाते हैं। घोषणा एक फॉलबैक है, कभी भी ओवरराइड नहीं: स्पष्ट --store हमेशा जीतता है, और वास्तविक प्लानिंग फोल्डर वाली डिरेक्ट्री पॉइंटर को नजरअंदाज कर देती है (एक वार्निंग के साथ)। एक पॉइंटर रेपो को स्थानीय OpenSpec रूट में कन्वर्ट करने के लिए, store: लाइन हटाएं और openspec init चलाएं — घोषणा मौजूद होने पर इनिशियलाइज़ेशन स्कैफोल्डिंग करने से मना करता है।
एक मशीन-लेवल वैरिएंट एक बार में हर रेपो को कवर करता है: openspec config set defaultStore <id> (कॉन्फ़िगरेशन देखें)। यह केवल तब परामर्श लेता है जब --store, स्थानीय रूट और प्रोजेक्ट पॉइंटर सभी रिज़ॉल्यू होने में फेल हो जाएं; फिर रूट बैनर और JSON root ब्लॉक source: "global_default" रिपोर्ट करता है।
डॉक्टर (संबंध स्वास्थ्य)
एक ही केवल पढ़ने योग्य प्रश्न, एक ही जगह: क्या OpenSpec रूट स्वस्थ है, और क्या इसके द्वारा संदर्भित स्टोर इस मशीन पर उपलब्ध हैं?
bash
openspec doctor [--store <id>] [--json]रिपोर्ट रूट स्वास्थ्य, स्टोर मेटाडेटा स्वास्थ्य (जिसमें रिकॉर्ड किए गए रिमोट और चेकआउट की ऑरिजिन अलग होने पर एक नोट, और स्टोर चेकआउट अपने आखिरी फ़ेच किए गए अपस्ट्रीम ट्रैकिंग रेफ से पीछे चलने पर एक नोट शामिल है), और संदर्भ स्वास्थ्य (डायग्नोस्टिक निर्देशों का समान प्रदर्शन, अनरिज़ॉल्व्ड संदर्भों के लिए क्लोन फिक्स शामिल) को अलग करती है। किसी भी गंभीरता वाले स्वास्थ्य फाइंडिंग का एक्जिट कोड 0 होता है — एजेंट्स status ऐरे को पढ़ते हैं; केवल कमांड फेल्योर (कोई रूट मौजूद नहीं, अज्ञात स्टोर) का एक्जिट कोड 1 होता है। डॉक्टर कभी क्लोन, सिंक या रिपेयर नहीं करता है। असेंबल्ड सेट के स्वयं को प्राप्त करने के बजाय इसके स्वास्थ्य को प्राप्त करने के लिए openspec context का उपयोग करें।
कार्य संदर्भ (असेंबल्ड सेट)
OpenSpec घोषणाओं के माध्यम से इस कार्य से संबंधित सभी चीजें, एक ही कार्य सेट में: OpenSpec रूट और उसके द्वारा संदर्भित स्टोर।
bash
openspec context [--store <id>] [--json] [--code-workspace <path> [--force]]JSON ब्रीफ एजेंट-उपभोग्य है (प्रत्येक उपलब्ध संदर्भित स्टोर अपना फ़ेच रेसिपी लिए हुए होता है; अनरिज़ॉल्व्ड सदस्यों के पास समान फिक्स निर्देश और डॉक्टर शो होता है)। --code-workspace अतिरिक्त रूप से रूट और उपलब्ध संदर्भित स्टोर (ref:<id> फोल्डर) को शामिल करने वाला एक VS Code वर्कस्पेस फाइल लिखता है — यही लिखावरण इस कमांड द्वारा किया जाता है, यदि फाइल पहले से मौजूद हो तो --force के बिना इसे रद्द कर दिया जाता है। अनुपलब्ध सदस्यों की रिपोर्ट की जाती है, उनके बारे में कभी अनुमान नहीं लगाया जाता है।
"कार्य संदर्भ" असेंबल्ड सेट है; openspec/config.yaml में context: फ़ील्ड निर्देशों में इंजेक्ट किया गया प्रोजेक्ट बैकग्राउंड है — ये दोनों अलग-अलग चीजें हैं। openspec doctor बताता है कि सेट स्वस्थ है या नहीं; openspec context बताता है कि सेट क्या है।
व्यक्तिगत वर्कसेट
बीटा. वर्कसेट नए बीटा सरफेस का हिस्सा हैं; रिलीज के बीच कमांड, फ्लैग और फाइल फॉर्मेट बदल सकते हैं। वॉकथ्रू के लिए स्टोर्स गाइड देखें।
एक वर्कसेट उन फोल्डरों का व्यक्तिगत, नामित व्यू होता है जिन पर आप एक साथ काम करते हैं — एक प्लानिंग रूट प्लस जो कुछ भी आप चुनें — यह आपके मशीन पर सहेजा रहता है और आपके टूल में नाम से फिर से खोला जा सकता है। यह पूरी तरह से लोकल है: यह कभी कमिट नहीं होता, कभी शेयर नहीं होता, कभी डिक्लेरेशंस से उत्पन्न नहीं होता, और इसे हटाने से कभी भी कोई मेम्बर फोल्डर प्रभावित नहीं होता।
bash
openspec workset create [name] [--member <path> | --member <name>=<path>]... [--tool <id>] [--json]
openspec workset list [--json]
openspec workset open <name> [--tool <id>]
openspec workset remove <name> [--yes] [--json]create एक छोटे गाइडेड फ्लो को चलाता है (या नॉन-इंटरैक्टिव मोड में --member फ्लैग लेता है; पहला मेम्बर प्राथमिक होता है — सत्र वहां से शुरू होते हैं)। open चुने गए टूल को लॉन्च करता है: एडिटर (VS Code, Cursor) हर मेम्बर के साथ एक विंडो खोलते हैं और वापस आ जाते हैं; CLI एजेंट (Claude Code, codex) हर मेम्बर अटैच होने के साथ इस टर्मिनल को एक सत्र के रूप में ले लेते हैं और कोई प्री-फिल पंप्ट नहीं होता, जब तक आप एक्जिट नहीं करते तब तक यह समाप्त होता है। ओपन टाइम पर मिसिंग मेम्बर फोल्डर को एक नोट के साथ स्किप कर दिया जाता है; बाकी सभी खोल दी जाती हैं। सेव किए गए टूल प्राथमिकता को हर ओपन पर --tool के साथ ओवरराइड किया जा सकता है।
नया टूल सपोर्ट करना कोड नहीं, कॉन्फ़िगरेशन है। हर टूल दो लॉन्च स्टाइल्स में से एक होता है — workspace-file (जनरेट किए गए .code-workspace के साथ लॉन्च किया जाता है) या attach-dirs (प्रति मेम्बर एक अटैच फ्लैग) — और ग्लोबल config.json में openers की (इसे openspec config edit से खोलें) किसी भी फील्ड के अनुसार टूल जोड़ता है या बिल्ट-इन्स को एडजस्ट करता है:
json
{
"openers": {
"zed": { "style": "workspace-file" },
"claude": { "attach_flag": "--dir" }
}
}सभी वर्कसेट स्टेट ग्लोबल डेटा डिरेक्ट्री के worksets/ फोल्डर के अंदर स्टोर होता है (सेव किए गए व्यू प्लस जनरेट किए गए <name>.code-workspace फाइलें, हर ओपन पर फिर से जनरेट होती हैं); उस फोल्डर को डिलीट करने से उसका सारा ट्रेस हट जाता है।
ब्राउज़िंग कमांड
openspec list
अपने प्रोजेक्ट में चेंजेज या स्पेक्स को लिस्ट करें।
openspec list [options]विकल्प:
| विकल्प | विवरण |
|---|---|
--specs | चेंजेज के बजाय स्पेक्स को लिस्ट करें |
--changes | चेंजेज को लिस्ट करें (डिफॉल्ट) |
--sort <order> | recent (डिफॉल्ट) या name के अनुसार सॉर्ट करें |
--json | JSON के रूप में आउटपुट करें |
उदाहरण:
bash
# सभी एक्टिव चेंजेज को लिस्ट करें
openspec list
# सभी स्पेक्स को लिस्ट करें
openspec list --specs
# स्क्रिप्ट के लिए JSON आउटपुट
openspec list --jsonआउटपुट (टेक्स्ट):
Changes:
add-dark-mode No tasks just nowopenspec view
स्पेक्स और चेंजेज को एक्सप्लोर करने के लिए इंटरैक्टिव डैशबोर्ड डिस्प्ले करें।
openspec viewअपने प्रोजेक्ट की स्पेसिफिकेशंस और चेंजेज को नेविगेट करने के लिए टर्मिनल-आधारित इंटरफेस खोलता है।
openspec show
किसी चेंज या स्पेक का डिटेल डिस्प्ले करें।
openspec show [item-name] [options]आर्ग्यूमेंट्स:
| आर्ग्यूमेंट | आवश्यक | विवरण |
|---|---|---|
item-name | नहीं | चेंज या स्पेक का नाम (यदि छोड़ दिया जाए तो प्रॉम्प्ट होता है) |
विकल्प:
| विकल्प | विवरण |
|---|---|
--type <type> | टाइप निर्दिष्ट करें: change या spec (यदि अनबिग्यूस हो तो ऑटो-डिटेक्ट होता है) |
--json | JSON के रूप में आउटपुट करें |
--no-interactive | प्रॉम्प्ट को डिसेबल करें |
चेंज-स्पेसिफिक विकल्प:
| विकल्प | विवरण |
|---|---|
--deltas-only | केवल डेल्टा स्पेक्स दिखाएं (JSON मोड) |
स्पेक-स्पेसिफिक विकल्प:
| विकल्प | विवरण |
|---|---|
--requirements | केवल रिक्वायरमेंट्स दिखाएं, सिनारियो को बाहर रखें (JSON मोड) |
--no-scenarios | सिनारियो कंटेंट को बाहर रखें (JSON मोड) |
-r, --requirement <id> | 1-आधारित इंडेक्स से विशिष्ट रिक्वायरमेंट दिखाएं (JSON मोड) |
उदाहरण:
bash
# इंटरैक्टिव सिलेक्शन
openspec show
# एक विशिष्ट चेंज दिखाएं
openspec show add-dark-mode
# एक विशिष्ट स्पेक दिखाएं
openspec show auth --type spec
# पार्सिंग के लिए JSON आउटपुट
openspec show add-dark-mode --jsonवैलिडेशन कमांड
openspec validate
चेंजेज और स्पेक्स को स्ट्रक्चरल इशू के लिए वैलिडेट करें।
openspec validate [item-name] [options]जिस चेंज में कोई स्पेक डेल्टा न हो, उसकी वैलिडेशन फेल होती है जब तक उसके .openspec.yaml में skip_specs: true डिक्लेयर न हो (शुद्ध रिफैक्टर, टूलिंग या डॉक्स वर्क के लिए — रेसिपी 5 देखें)।
आर्ग्यूमेंट्स:
| आर्ग्यूमेंट | आवश्यक | विवरण |
|---|---|---|
item-name | नहीं | वैलिडेट करने के लिए विशिष्ट आइटम (यदि छोड़ दिया जाए तो प्रॉम्प्ट होता है) |
विकल्प:
| विकल्प | विवरण |
|---|---|
--all | सभी चेंजेज और स्पेक्स को वैलिडेट करें |
--changes | सभी चेंजेज को वैलिडेट करें |
--specs | सभी स्पेक्स को वैलिडेट करें |
--type <type> | जब नाम अनबिग्यूस हो तो टाइप निर्दिष्ट करें: change या spec |
--strict | स्ट्रिक्ट वैलिडेशन मोड सक्षम करें |
--json | JSON के रूप में आउटपुट करें |
--concurrency <n> | अधिकतम पैरallel वैलिडेशन (डिफॉल्ट: 6, या OPENSPEC_CONCURRENCY एनवायरनमेंट वेरिएबल) |
--no-interactive | प्रॉम्प्ट को डिसेबल करें |
उदाहरण:
bash
# इंटरैक्टिव वैलिडेशन
openspec validate
# एक विशिष्ट चेंज को वैलिडेट करें
openspec validate add-dark-mode
# सभी चेंजेज को वैलिडेट करें
openspec validate --changes
# सभी कुछ को JSON आउटपुट के साथ वैलिडेट करें (CI/स्क्रिप्ट के लिए)
openspec validate --all --json
# इंक्रीस्ड पैरallelिज्म के साथ स्ट्रिक्ट वैलिडेशन
openspec validate --all --strict --concurrency 12आउटपुट (टेक्स्ट):
Validating add-dark-mode...
✓ proposal.md valid
✓ specs/ui/spec.md valid
⚠ design.md: missing "Technical Approach" section
1 warning foundआउटपुट (JSON):
json
{
"version": "1.0.0",
"results": {
"changes": [
{
"name": "add-dark-mode",
"valid": true,
"warnings": ["design.md: missing 'Technical Approach' section"]
}
]
},
"summary": {
"total": 1,
"valid": 1,
"invalid": 0
}
}लाइफसाइकल कमांड
openspec archive
पूर्ण चेंज को आर्काइव करें और मुख्य स्पेक्स में डेल्टा स्पेक्स को मर्ज करें।
openspec archive [change-name] [options]आर्ग्यूमेंट्स:
| आर्ग्यूमेंट | आवश्यक | विवरण |
|---|---|---|
change-name | नहीं | आर्काइव करने के लिए चेंज (यदि छोड़ दिया जाए तो प्रॉम्प्ट होता है) |
विकल्प:
| विकल्प | विवरण |
|---|---|
-y, --yes | कन्फर्मेशन प्रॉम्प्ट को स्किप करें |
--skip-specs | एक आर्काइव रन के लिए स्पेक अपडेट्स को स्किप करें। जिस चेंज में स्थायी रूप से कोई स्पेक डेल्टा न हो, उसके बजाय उसके .openspec.yaml में skip_specs: true डिक्लेयर करना चाहिए — इसे बिना किसी फ्लैग के आर्काइव होता है |
--no-validate | वैलिडेशन को स्किप करें (कन्फर्मेशन की आवश्यकता होती है) |
उदाहरण:
bash
# इंटरैक्टिव आर्काइव
openspec archive
# विशिष्ट चेंज को आर्काइव करें
openspec archive add-dark-mode
# प्रॉम्प्ट के बिना आर्काइव करें (CI/स्क्रिप्ट के लिए)
openspec archive add-dark-mode --yes
# उस टूलिंग चेंज को आर्काइव करें जो स्पेक्स को प्रभावित नहीं करता
openspec archive update-ci-config --skip-specsयह क्या करता है:
- चेंज को वैलिडेट करता है (जब तक
--no-validateइस्तेमाल न किया गया हो) - कन्फर्मेशन के लिए प्रॉम्प्ट करता है (जब तक
--yesइस्तेमाल न किया गया हो) - डेल्टा स्पेक्स को
openspec/specs/में मर्ज करता है - चेंज फोल्डर को
openspec/changes/archive/YYYY-MM-DD-<name>/में मूव करता है
वर्कफ्लो कमांड
ये कमांड आर्टिफैक्ट-ड्रिवन OPSX वर्कफ्लो का सपोर्ट करते हैं। ये प्रोग्रेस चेक करने वाले इंसानों और अगले स्टेप्स निर्धारित करने वाले एजेंट्स दोनों के लिए उपयोगी हैं।
openspec new change
रिज़ॉल्व किए गए OpenSpec रूट में एक चेंज डिरेक्ट्री और ऑप्शनल चेक-इन मेटाडेटा बनाएं।
bash
openspec new change <name> [options]चेंज नाम लोअरकेस कैब-केस इस्तेमाल करने चाहिए। वे एक लोअरकेस अक्षर से शुरू होते हैं, फिर लोअरकेस अक्षर, नंबर और सिंगल हाइफन होते हैं। वे नंबर से शुरू नहीं हो सकते, स्पेस, अंडरस्कोर, अपरकेस अक्षर, लगातार हाइफन, या लीडिंग/ट्रेलिंग हाइफन नहीं हो सकते। जब बाहरी टिकट आईडी शामिल करते हैं, तो उससे पहले एक शब्द प्रीफिक्स लगाएं, उदाहरण के लिए 123-add-notifications के बजाय ticket-123-add-notifications इस्तेमाल करें।
विकल्प:
| विकल्प | विवरण |
|---|---|
--description <text> | index.md में जोड़ने के लिए विवरण |
--goal <text> | चेंज के साथ स्टोर करने के लिए ऑप्शनल गोल मेटाडेटा |
--schema <name> | इस्तेमाल करने के लिए वर्कफ्लो स्कीमा |
--store <id> | OpenSpec रूट के रूप में इस्तेमाल करने के लिए स्टोर आईडी (एक स्टोर वह स्टैंडअलोन OpenSpec रेपो है जिसे आपने रजिस्टर किया है) |
--json | JSON आउटपुट करें |
उदाहरण:
bash
openspec new change add-billing-api
openspec new change add-billing-api --store team-context --jsonopenspec status
किसी चेंज के लिए आर्टिफैक्ट कंप्लीशन स्टेटस डिस्प्ले करें।
openspec status [options]विकल्प:
| विकल्प | विवरण |
|---|---|
--change <id> | चेंज का नाम (यदि छोड़ दिया जाए तो प्रॉम्प्ट होता है) |
--schema <name> | स्कीमा ओवरराइड (चेंज के कॉन्फ़िग से ऑटो-डिटेक्ट होता है) |
--json | JSON के रूप में आउटपुट करें |
उदाहरण:
bash
# इंटरैक्टिव स्टेटस चेक
openspec status
# विशिष्ट चेंज के लिए स्टेटस
openspec status --change add-dark-mode
# एजेंट उपयोग के लिए JSON
openspec status --change add-dark-mode --jsonआउटपुट (टेक्स्ट):
Change: add-dark-mode
Schema: spec-driven
Progress: 2/4 artifacts complete
[x] proposal
[ ] design
[x] specs
[-] tasks (blocked by: design)जिस चेंज में skip_specs: true डिक्लेयर हो, उसकी स्पेक्स स्टेज [~] specs (skipped: change declares skip_specs) के रूप में दिखाई देता है और इसे प्रोग्रेस काउंट से बाहर रखा जाता है।
आउटपुट (JSON):
json
{
"changeName": "add-dark-mode",
"schemaName": "spec-driven",
"isComplete": false,
"applyRequires": ["tasks"],
"artifacts": [
{"id": "proposal", "outputPath": "proposal.md", "status": "done", "requires": []},
{"id": "design", "outputPath": "design.md", "status": "ready", "requires": ["proposal"]},
{"id": "specs", "outputPath": "specs/**/*.md", "status": "done", "requires": ["proposal"]},
{"id": "tasks", "outputPath": "tasks.md", "status": "blocked", "requires": ["specs", "design"], "missingDeps": ["design"]}
]
}openspec instructions
किसी आर्टिफैक्ट बनाने या टास्क्स अप्लाई करने के लिए एन्रिच्ड इंस्ट्रक्शंस प्राप्त करें। AI एजेंट्स द्वारा अगला क्या बनाना है समझने के लिए इस्तेमाल किया जाता है।
openspec instructions [artifact] [options]आर्ग्यूमेंट्स:
| आर्ग्यूमेंट | आवश्यक | विवरण |
|---|---|---|
artifact | नहीं | आर्टिफैक्ट आईडी: proposal, specs, design, tasks, या apply |
विकल्प:
| विकल्प | विवरण |
|---|---|
--change <id> | चेंज का नाम (नॉन-इंटरैक्टिव मोड में आवश्यक) |
--schema <name> | स्कीमा ओवरराइड |
--json | JSON के रूप में आउटपुट करें |
विशेष केस: टास्क इंप्लीमेंटेशन इंस्ट्रक्शंस प्राप्त करने के लिए आर्टिफैक्ट के रूप में apply इस्तेमाल करें।
उदाहरण:
bash
# अगले आर्टिफैक्ट के लिए इंस्ट्रक्शंस प्राप्त करें
openspec instructions --change add-dark-mode
# विशिष्ट आर्टिफैक्ट इंस्ट्रक्शंस प्राप्त करें
openspec instructions design --change add-dark-mode
# अप्लाई/इंप्लीमेंटेशन इंस्ट्रक्शंस प्राप्त करें
openspec instructions apply --change add-dark-mode
# एजेंट कंज्यूम्पशन के लिए JSON
openspec instructions design --change add-dark-mode --jsonआउटपुट में शामिल होता है:
- आर्टिफैक्ट के लिए टेम्प्लेट कंटेंट
- कॉन्फ़िग से प्रोजेक्ट कॉन्टेक्स्ट
- डिपेंडेंसी आर्टिफैक्ट्स से कंटेंट
- कॉन्फ़िग से प्रति-आर्टिफैक्ट नियम
skip_specs: true के माध्यम से स्किप किए गए आर्टिफैक्ट के लिए, आउटपुट केवल एक वार्निंग होती है (JSON में skipped/warning फील्ड जोड़ता है) — आर्टिफैक्ट बनाया नहीं जाना चाहिए।
openspec templates
किसी स्कीमा में सभी आर्टिफैक्ट्स के रिज़ॉल्व किए गए टेम्प्लेट पाथ दिखाएं।
openspec templates [options]विकल्प:
| विकल्प | विवरण |
|---|---|
--schema <name> | इंस्पेक्ट करने के लिए स्कीमा (डिफॉल्ट: spec-driven) |
--json | JSON के रूप में आउटपुट करें |
उदाहरण:
bash
# डिफॉल्ट स्कीमा के लिए टेम्प्लेट पाथ दिखाएं
openspec templates
# कस्टम स्कीमा के लिए टेम्प्लेट दिखाएं
openspec templates --schema my-workflow
# प्रोग्रामेटिक उपयोग के लिए JSON
openspec templates --jsonआउटपुट (टेक्स्ट):
Schema: spec-driven
Templates:
proposal → ~/.openspec/schemas/spec-driven/templates/proposal.md
specs → ~/.openspec/schemas/spec-driven/templates/specs.md
design → ~/.openspec/schemas/spec-driven/templates/design.md
tasks → ~/.openspec/schemas/spec-driven/templates/tasks.mdopenspec schemas
उपलब्ध वर्कफ्लो स्कीमों को उनके विवरण और आर्टिफैक्ट फ्लो के साथ लिस्ट करें।
openspec schemas [options]विकल्प:
| विकल्प | विवरण |
|---|---|
--json | JSON के रूप में आउटपुट करें |
उदाहरण:
bash
openspec schemasआउटपुट:
Available schemas:
spec-driven (package)
The default spec-driven development workflow
Flow: proposal → specs → design → tasks
my-custom (project)
Custom workflow for this project
Flow: research → proposal → tasksस्कीमा कमांड्स
कस्टम वर्कफ़्लो स्कीमाओं को बनाने और प्रबंधित करने के लिए कमांड्स।
openspec schema init
एक नया प्रोजेक्ट-लोकल स्कीमा बनाएं।
openspec schema init <name> [options]आर्ग्यूमेंट्स:
| आर्ग्यूमेंट | आवश्यक | विवरण |
|---|---|---|
name | हां | स्कीमा का नाम (केबेब-केस) |
विकल्प:
| विकल्प | विवरण |
|---|---|
--description <text> | स्कीमा विवरण |
--artifacts <list> | अल्पविराम से अलग किए गए आर्टिफैक्ट आईडी (डिफ़ॉल्ट: proposal,specs,design,tasks) |
--default | प्रोजेक्ट का डिफ़ॉल्ट स्कीमा सेट करें |
--no-default | डिफ़ॉल्ट सेट करने के लिए प्रॉम्प्ट न दें |
--force | मौजूदा स्कीमा को ओवरराइट करें |
--json | JSON के रूप में आउटपुट करें |
उदाहरण:
bash
# इंटरैक्टिव स्कीमा निर्माण
openspec schema init research-first
# विशिष्ट आर्टिफैक्ट के साथ नॉन-इंटरैक्टिव
openspec schema init rapid \
--description "Rapid iteration workflow" \
--artifacts "proposal,tasks" \
--defaultयह क्या बनाता है:
openspec/schemas/<name>/
├── schema.yaml # स्कीमा परिभाषा
└── templates/
├── proposal.md # प्रत्येक आर्टिफैक्ट के लिए टेम्पलेट
├── specs.md
├── design.md
└── tasks.mdopenspec schema fork
कस्टमाइज़ेशन के लिए अपने प्रोजेक्ट में एक मौजूदा स्कीमा की कॉपी बनाएं।
openspec schema fork <source> [name] [options]आर्ग्यूमेंट्स:
| आर्ग्यूमेंट | आवश्यक | विवरण |
|---|---|---|
source | हां | कॉपी करने के लिए स्कीमा |
name | नहीं | नया स्कीमा नाम (डिफ़ॉल्ट: <source>-custom) |
विकल्प:
| विकल्प | विवरण |
|---|---|
--force | मौजूदा डेस्टिनेशन को ओवरराइट करें |
--json | JSON के रूप में आउटपुट करें |
उदाहरण:
bash
# इनबिल्ट spec-driven स्कीमा को फॉर्क करें
openspec schema fork spec-driven my-workflowopenspec schema validate
स्कीमा की संरचना और टेम्पलेट्स को वैलिडेट करें।
openspec schema validate [name] [options]आर्ग्यूमेंट्स:
| आर्ग्यूमेंट | आवश्यक | विवरण |
|---|---|---|
name | नहीं | वैलिडेट करने के लिए स्कीमा (यदि छोड़ दिया जाए तो सभी को वैलिडेट करता है) |
विकल्प:
| विकल्प | विवरण |
|---|---|
--verbose | विस्तृत वैलिडेशन स्टेप्स दिखाएं |
--json | JSON के रूप में आउटपुट करें |
उदाहरण:
bash
# किसी विशिष्ट स्कीमा को वैलिडेट करें
openspec schema validate my-workflow
# सभी स्कीमाओं को वैलिडेट करें
openspec schema validateopenspec schema which
दिखाएं कि स्कीमा कहां से रिज़ॉल्व होती है (प्रीसेडेंस डीबग करने के लिए उपयोगी)।
openspec schema which [name] [options]आर्ग्यूमेंट्स:
| आर्ग्यूमेंट | आवश्यक | विवरण |
|---|---|---|
name | नहीं | स्कीमा का नाम |
विकल्प:
| विकल्प | विवरण |
|---|---|
--all | उनके सोर्स के साथ सभी स्कीमाओं की सूची बनाएं |
--json | JSON के रूप में आउटपुट करें |
उदाहरण:
bash
# जांचें कि स्कीमा कहां से आती है
openspec schema which spec-drivenआउटपुट:
spec-driven पैकेज से रिज़ॉल्व होता है:
Source: /usr/local/lib/node_modules/@fission-ai/openspec/schemas/spec-drivenस्कीमा प्राथमिकता:
- प्रोजेक्ट:
openspec/schemas/<name>/ - यूजर:
~/.local/share/openspec/schemas/<name>/ - पैकेज: इनबिल्ट स्कीमा
कॉन्फ़िगरेशन कमांड्स
openspec config
ग्लोबल OpenSpec कॉन्फ़िगरेशन देखें और संशोधित करें।
openspec config <subcommand> [options]सबकमांड्स:
| सबकमांड | विवरण |
|---|---|
path | कॉन्फ़िग फाइल का लोकेशन दिखाएं |
list | सभी वर्तमान सेटिंग्स दिखाएं |
get <key> | एक विशिष्ट मान प्राप्त करें |
set <key> <value> | एक मान सेट करें |
unset <key> | एक कुंजी हटाएं |
reset | डिफ़ॉल्ट पर रीसेट करें |
edit | $EDITOR में खोलें |
profile [preset] | इंटरैक्टिवली या प्रीसेट के माध्यम से वर्कफ़्लो प्रोफ़ाइल कॉन्फ़िगर करें |
उदाहरण:
bash
# कॉन्फ़िग फाइल पथ दिखाएं
openspec config path
# सभी सेटिंग्स की सूची बनाएं
openspec config list
# एक विशिष्ट मान प्राप्त करें
openspec config get telemetry.enabled
# एक मान सेट करें
openspec config set telemetry.enabled false
# एक स्ट्रिंग मान स्पष्ट रूप से सेट करें
openspec config set user.name "My Name" --string
# एक कस्टम सेटिंग हटाएं
openspec config unset user.name
# फॉलबैक रूट के रूप में मशीन-लेवल डिफ़ॉल्ट स्टोर सेट करें (जब कोई --store, लोकल रूट या प्रोजेक्ट स्टोर न हो: पॉइंटर रिज़ॉल्व होता है)
openspec config set defaultStore team-plans
# सभी कॉन्फ़िगरेशन रीसेट करें
openspec config reset --all --yes
# अपने एडिटर में कॉन्फ़िग संपादित करें
openspec config edit
# एक्शन-आधारित विज़ार्ड के साथ प्रोफ़ाइल कॉन्फ़िगर करें
openspec config profile
# फास्ट प्रीसेट: वर्कफ़्लो को कोर पर स्विच करें (डिलीवरी मोड बनाए रखता है)
openspec config profile coreopenspec config profile वर्तमान-स्थिति सारांश के साथ शुरू होता है, फिर आपको निम्नलिखित विकल्प चुनने की अनुमति देता है:
- डिलीवरी + वर्कफ़्लो बदलें
- केवल डिलीवरी बदलें
- केवल वर्कफ़्लो बदलें
- वर्तमान सेटिंग्स बनाए रखें (एग्जिट)
यदि आप वर्तमान सेटिंग्स बनाए रखते हैं, तो कोई बदलाव लिखा नहीं जाता और कोई अपडेट प्रॉम्प्ट नहीं दिखाई देता। यदि कोई कॉन्फ़िगरेशन बदलाव नहीं है लेकिन वर्तमान प्रोजेक्ट फाइलें आपके ग्लोबल प्रोफ़ाइल/डिलीवरी के साथ सिंक नहीं हैं, तो OpenSpec एक चेतावनी दिखाएगा और openspec update सुझाएगा। Ctrl+C दबाने से फ्लो भी साफ-साफ रद्द हो जाता है (कोई स्टैक ट्रेस नहीं) और कोड 130 के साथ एग्जिट होता है। वर्कफ़्लो चेकलिस्ट में, [x] का मतलब है कि वर्कफ़्लो ग्लोबल कॉन्फ़िगरेशन में चुना गया है। इन चयनों को प्रोजेक्ट फाइलों पर लागू करने के लिए, openspec update चलाएं (या प्रोजेक्ट के अंदर प्रॉम्प्ट होने पर Apply changes to this project now? चुनें)।
इंटरैक्टिव उदाहरण:
bash
# केवल डिलीवरी अपडेट
openspec config profile
# चुनें: केवल डिलीवरी बदलें
# डिलीवरी चुनें: केवल स्किल्स
# केवल वर्कफ़्लो अपडेट
openspec config profile
# चुनें: केवल वर्कफ़्लो बदलें
# चेकलिस्ट में वर्कफ़्लो टॉगल करें, फिर पुष्टि करेंयूटिलिटी कमांड्स
openspec feedback
OpenSpec के बारे में फीडबैक सबमिट करें. एक GitHub इश्यू बनाता है।
openspec feedback <message> [options]आर्ग्यूमेंट्स:
| आर्ग्यूमेंट | आवश्यक | विवरण |
|---|---|---|
message | हां | फीडबैक संदेश |
विकल्प:
| विकल्प | विवरण |
|---|---|
--body <text> | विस्तृत विवरण |
आवश्यकताएं: GitHub CLI (gh) इंस्टॉल और ऑथेंटिकेट होना चाहिए.
उदाहरण:
bash
openspec feedback "Add support for custom artifact types" \
--body "I'd like to define my own artifact types beyond the built-in ones."openspec completion
OpenSpec CLI के लिए शेल कंप्लीशन्स प्रबंधित करें।
openspec completion <subcommand> [shell]सबकमांड्स:
| सबकमांड | विवरण |
|---|---|
generate [shell] | कंप्लीशन स्क्रिप्ट को stdout पर आउटपुट करें |
install [shell] | अपने शेल के लिए कंप्लीशन इंस्टॉल करें |
uninstall [shell] | इंस्टॉल किए गए कंप्लीशन्स को हटाएं |
समर्थित शेल्स: bash, zsh, fish, powershell
उदाहरण:
bash
# कंप्लीशन इंस्टॉल करें (शेल को ऑटो-डिटेक्ट करता है)
openspec completion install
# विशिष्ट शेल के लिए इंस्टॉल करें
openspec completion install zsh
# मैन्युअल इंस्टॉलेशन के लिए स्क्रिप्ट जनरेट करें
openspec completion generate bash > ~/.bash_completion.d/openspec
# अनइंस्टॉल करें
openspec completion uninstallएक्सिट कोड्स
| कोड | अर्थ |
|---|---|
0 | सफलता |
1 | एरर (वैलिडेशन फेल्योर, फाइलें गुम, आदि) |
एनवायरनमेंट वेरिएबल्स
| वेरिएबल | विवरण |
|---|---|
OPENSPEC_TELEMETRY | टेलीमेट्री को डिसेबल करने के लिए 0 पर सेट करें |
DO_NOT_TRACK | टेलीमेट्री को डिसेबल करने के लिए 1 पर सेट करें (मानक DNT सिग्नल) |
OPENSPEC_CONCURRENCY | बल्क वैलिडेशन के लिए डिफ़ॉल्ट कंकरेंसी (डिफ़ॉल्ट: 6) |
EDITOR or VISUAL | openspec config edit के लिए एडिटर |
NO_COLOR | सेट करने पर कलर आउटपुट डिसेबल करें |
संबंधित डॉक्यूमेंटेशन
- कमांड्स - AI स्लैश कमांड्स (
/opsx:propose,/opsx:apply, आदि) - वर्कफ़्लो - सामान्य पैटर्न और प्रत्येक कमांड का उपयोग कब करें
- कस्टमाइज़ेशन - कस्टम स्कीमा और टेम्पलेट्स बनाएं
- गेटिंग स्टार्टेड - पहली बार सेटअप गाइड