Skip to content

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 feedbackGitHub के माध्यम से फीडबैक जमा करें
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 एक्शन को छोड़ें: कोई इनिशियलाइज़ेशन नहीं, कोई इनिशियल कमिट नहीं
--jsonJSON आउटपुट

नॉन-इंटरैक्टिव रन (--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 --json

openspec store register

एक मौजूदा स्थानीय स्टोर फोल्डर को रजिस्टर करें। स्टोर्स बीटा के दौरान, किसी भी परिवर्तन मौजूद न होने, स्पेक लागू न होने या परिवर्तन आर्काइव न होने से पहले एक रूट रजिस्टर किया जा सकता है; उस स्थिति में openspec/changes/, openspec/specs/, और openspec/changes/archive/ तब तक अनुपस्थित हो सकते हैं जब तक नॉर्मल कमांड उन्हें नहीं बनाते। एक केवल कॉन्फ़िग रेपो जो store: <id> घोषित करता है, दूसरे स्टोर का एक पॉइंटर बना रहता है और जब तक वह पॉइंटर हटाया नहीं जाता, तब तक इसे स्टोर रूट के रूप में रजिस्टर नहीं किया जाता।

bash
openspec store register [path] [options]

विकल्प:

विकल्पविवरण
--id <id>स्टोर आईडी; डिफॉल्ट रूप से स्टोर मेटाडेटा या फोल्डर नाम
--yesएक स्वस्थ OpenSpec रूट के लिए स्टोर आइडेंटिटी मेटाडेटा बनाने की पुष्टि करें
--jsonJSON आउटपुट

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 के अनुसार सॉर्ट करें
--jsonJSON के रूप में आउटपुट करें

उदाहरण:

bash
# सभी एक्टिव चेंजेज को लिस्ट करें
openspec list

# सभी स्पेक्स को लिस्ट करें
openspec list --specs

# स्क्रिप्ट के लिए JSON आउटपुट
openspec list --json

आउटपुट (टेक्स्ट):

Changes:
  add-dark-mode     No tasks      just now

openspec view

स्पेक्स और चेंजेज को एक्सप्लोर करने के लिए इंटरैक्टिव डैशबोर्ड डिस्प्ले करें।

openspec view

अपने प्रोजेक्ट की स्पेसिफिकेशंस और चेंजेज को नेविगेट करने के लिए टर्मिनल-आधारित इंटरफेस खोलता है।


openspec show

किसी चेंज या स्पेक का डिटेल डिस्प्ले करें।

openspec show [item-name] [options]

आर्ग्यूमेंट्स:

आर्ग्यूमेंटआवश्यकविवरण
item-nameनहींचेंज या स्पेक का नाम (यदि छोड़ दिया जाए तो प्रॉम्प्ट होता है)

विकल्प:

विकल्पविवरण
--type <type>टाइप निर्दिष्ट करें: change या spec (यदि अनबिग्यूस हो तो ऑटो-डिटेक्ट होता है)
--jsonJSON के रूप में आउटपुट करें
--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स्ट्रिक्ट वैलिडेशन मोड सक्षम करें
--jsonJSON के रूप में आउटपुट करें
--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

यह क्या करता है:

  1. चेंज को वैलिडेट करता है (जब तक --no-validate इस्तेमाल न किया गया हो)
  2. कन्फर्मेशन के लिए प्रॉम्प्ट करता है (जब तक --yes इस्तेमाल न किया गया हो)
  3. डेल्टा स्पेक्स को openspec/specs/ में मर्ज करता है
  4. चेंज फोल्डर को 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 रेपो है जिसे आपने रजिस्टर किया है)
--jsonJSON आउटपुट करें

उदाहरण:

bash
openspec new change add-billing-api
openspec new change add-billing-api --store team-context --json

openspec status

किसी चेंज के लिए आर्टिफैक्ट कंप्लीशन स्टेटस डिस्प्ले करें।

openspec status [options]

विकल्प:

विकल्पविवरण
--change <id>चेंज का नाम (यदि छोड़ दिया जाए तो प्रॉम्प्ट होता है)
--schema <name>स्कीमा ओवरराइड (चेंज के कॉन्फ़िग से ऑटो-डिटेक्ट होता है)
--jsonJSON के रूप में आउटपुट करें

उदाहरण:

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>स्कीमा ओवरराइड
--jsonJSON के रूप में आउटपुट करें

विशेष केस: टास्क इंप्लीमेंटेशन इंस्ट्रक्शंस प्राप्त करने के लिए आर्टिफैक्ट के रूप में 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)
--jsonJSON के रूप में आउटपुट करें

उदाहरण:

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.md

openspec schemas

उपलब्ध वर्कफ्लो स्कीमों को उनके विवरण और आर्टिफैक्ट फ्लो के साथ लिस्ट करें।

openspec schemas [options]

विकल्प:

विकल्पविवरण
--jsonJSON के रूप में आउटपुट करें

उदाहरण:

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मौजूदा स्कीमा को ओवरराइट करें
--jsonJSON के रूप में आउटपुट करें

उदाहरण:

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.md

openspec schema fork

कस्टमाइज़ेशन के लिए अपने प्रोजेक्ट में एक मौजूदा स्कीमा की कॉपी बनाएं।

openspec schema fork <source> [name] [options]

आर्ग्यूमेंट्स:

आर्ग्यूमेंटआवश्यकविवरण
sourceहांकॉपी करने के लिए स्कीमा
nameनहींनया स्कीमा नाम (डिफ़ॉल्ट: <source>-custom)

विकल्प:

विकल्पविवरण
--forceमौजूदा डेस्टिनेशन को ओवरराइट करें
--jsonJSON के रूप में आउटपुट करें

उदाहरण:

bash
# इनबिल्ट spec-driven स्कीमा को फॉर्क करें
openspec schema fork spec-driven my-workflow

openspec schema validate

स्कीमा की संरचना और टेम्पलेट्स को वैलिडेट करें।

openspec schema validate [name] [options]

आर्ग्यूमेंट्स:

आर्ग्यूमेंटआवश्यकविवरण
nameनहींवैलिडेट करने के लिए स्कीमा (यदि छोड़ दिया जाए तो सभी को वैलिडेट करता है)

विकल्प:

विकल्पविवरण
--verboseविस्तृत वैलिडेशन स्टेप्स दिखाएं
--jsonJSON के रूप में आउटपुट करें

उदाहरण:

bash
# किसी विशिष्ट स्कीमा को वैलिडेट करें
openspec schema validate my-workflow

# सभी स्कीमाओं को वैलिडेट करें
openspec schema validate

openspec schema which

दिखाएं कि स्कीमा कहां से रिज़ॉल्व होती है (प्रीसेडेंस डीबग करने के लिए उपयोगी)।

openspec schema which [name] [options]

आर्ग्यूमेंट्स:

आर्ग्यूमेंटआवश्यकविवरण
nameनहींस्कीमा का नाम

विकल्प:

विकल्पविवरण
--allउनके सोर्स के साथ सभी स्कीमाओं की सूची बनाएं
--jsonJSON के रूप में आउटपुट करें

उदाहरण:

bash
# जांचें कि स्कीमा कहां से आती है
openspec schema which spec-driven

आउटपुट:

spec-driven पैकेज से रिज़ॉल्व होता है:
  Source: /usr/local/lib/node_modules/@fission-ai/openspec/schemas/spec-driven

स्कीमा प्राथमिकता:

  1. प्रोजेक्ट: openspec/schemas/<name>/
  2. यूजर: ~/.local/share/openspec/schemas/<name>/
  3. पैकेज: इनबिल्ट स्कीमा

कॉन्फ़िगरेशन कमांड्स

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 core

openspec 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 VISUALopenspec config edit के लिए एडिटर
NO_COLORसेट करने पर कलर आउटपुट डिसेबल करें

संबंधित डॉक्यूमेंटेशन