Skip to content

परिवर्तन पर संपादन और पुनरावृत्ति

किसी भी परिवर्तन में प्रत्येक आर्टिफैक्ट बस एक मार्कडाउन फाइल है जिसे आप किसी भी समय संपादित कर सकते हैं। इसमें कोई लॉक किया हुआ "प्लानिंग फेज" नहीं है, कोई अनुमोदन गेट नहीं है, और इसमें प्रवेश के लिए कोई विशेष संपादन मोड भी नहीं है। बिल्डिंग शुरू करने के बाद प्रस्ताव बदलना चाहते हैं? proposal.md खोलें और इसे बदल दें। कार्यान्वयन के बीच डिजाइन गलत पता चला? design.md ठीक करें और आगे बढ़ें। यही पूरा जवाब है, और यह जानबूझकर ऐसा किया गया है।

यह पेज उस समय के लिए है जब आप सोचते हैं "रुको, क्या मैं वापस जाकर उसे बदल सकता हूं?" हां। यहां प्रत्येक सामान्य स्थिति के लिए यह कैसे करें, बताया गया है।

किसी भी चीज को संपादित करने के दो तरीके

आपके पास हमेशा ये दोनों विकल्प होते हैं:

  1. फाइल को सीधे संपादित करें। आर्टिफैक्ट्स openspec/changes/<name>/ में सादे मार्कडाउन फाइलें होती हैं। अपने एडिटर में proposal.md, design.md, tasks.md, या specs/ के अंतर्गत किसी डेल्टा स्पेक को खोलें और इसे बदल दें। इसमें कुछ और की जरूरत नहीं है।
  2. अपने AI से इसे संशोधित करने के लिए कहें। चैट में बस बताएं कि आप क्या चाहते हैं: "प्रस्ताव में कैशिंग आइडिया हटाकर रेट-लिमिट सेक्शन जोड़ें," या "डिजाइन में पोलिंग के बजाय क्यू का उपयोग करना चाहिए।" AI बाकी परिवर्तन को संदर्भ के रूप में उपयोग करते हुए आर्टिफैक्ट को आपके लिए संपादित कर देता है।

उस विकल्प का उपयोग करें जो उस पल के लिए उपयुक्त हो। छोटे शब्दों में बदलाव? फाइल को संपादित करें। महत्वपूर्ण पुनर्विचार? AI से पूरे संदर्भ के साथ संशोधन करने दें।

"मैंने शुरू कर दिया है, उसके बाद प्रस्ताव (या स्पेक्स) को कैसे अपडेट करूं?"

बस इसे अपडेट कर दें। वही परिवर्तन, बेहतर किया हुआ।

यदि आप विस्तारित कमांड का उपयोग कर रहे हैं, तो इसका स्वाभाविक फ्लो है: आर्टिफैक्ट को संपादित करें, फिर नए स्टेट से जारी रखने के लिए /opsx:continue चलाएं, या अपडेटेड प्लान के खिलाफ कार्यान्वयन जारी रखने के लिए /opsx:apply चलाएं। यदि आप डिफॉल्ट core कमांड का उपयोग कर रहे हैं, तो आर्टिफैक्ट को संपादित करें और /opsx:apply चलाएं; यह करंट फाइलों को पढ़ता है, इसलिए यह आर्टिफैक्ट्स में जो कुछ भी अभी लिखा हो, उसके आधार पर बिल्ड करता है।

मानसिक मॉडल: आर्टिफैक्ट्स लाइव प्लान होते हैं, कोई हस्ताक्षरित अनुबंध नहीं। AI हमेशा उनकी करंट सामग्री से काम करता है, इसलिए उन्हें संपादित करने से काम को दिशा दी जा सकती है।

text
आप: मैं इस परिवर्तन में दृष्टिकोण बदलना चाहता हूं।

आप: [design.md संपादित करें, या AI से बताएं:]
     design.md को सिंक्रोनस कॉल के बजाय बैकग्राउंड जॉब का उपयोग करने के लिए अपडेट करें।

AI:  design.md अपडेट कर दिया है। टास्क लिस्ट अभी भी फिट बैठता है; क्या मैं अप्लाई करना जारी रखूं?

आप: /opsx:apply

यह एक बहुत ही सामान्य सवाल का जवाब देता है: "प्रस्ताव अपडेट करें" के लिए कोई अलग कमांड नहीं है क्योंकि आपको इसे की जरूरत नहीं है। फाइल ही स्रोत सत्य है, और इसे (हाथ से या AI के जरिए) संपादित करना ही अपडेट है।

"कार्यान्वयन के बाद समीक्षा के लिए वापस कैसे जाऊं?"

आपको "वापस जाने" की जरूरत नहीं है, क्योंकि आप कभी नहीं गए थे। वर्कफ्लो तरल है: समीक्षा, संपादन और कार्यान्वयन ऐसे क्रमबद्ध फेज नहीं हैं जिनमें आप फंस जाएं।

वास्तव में, कुछ /opsx:apply कार्य के बाद:

  • प्लान को फिर से जांचना चाहते हैं? आर्टिफैक्ट्स को खोलें और पढ़ें, या एक संगठित दृश्य के लिए अपने टर्मिनल में openspec show <change> चलाएं।
  • कुछ बदलने के लिए पाया? आर्टिफैक्ट को संपादित करें (या AI से कहें), फिर जारी रखें।
  • यह जांचने के लिए कि कोड प्लान से मेल खाता है, कि संरचित जांच चाहते हैं? /opsx:verify (विस्तारित कमांड) चलाएं। यह किसी चीज को ब्लॉक किए बिना पूर्णता, सटीकता और सुसंगतता की रिपोर्ट करता है। वर्कफ्लो: Verify देखें।

वापस जाने के लिए कोई "समीक्षा फेज" नहीं है, क्योंकि समीक्षा आप किसी भी पल कर सकते हैं, कार्यान्वयन के बाद भी समावेशित है।

"मैंने कोड को हाथ से संपादित कर दिया है। इसे OpenSpec के साथ कैसे समन्वयित करूं?"

यह लगातार होता है और यह ठीक है। आपने अपने एडिटर में कुछ बदल दिया, और अब कोड और आर्टिफैक्ट्स अलग-अलग बातें कह रहे हैं। उन्हें जिस दिशा में सत्य हो, उसमें फिर से सिंक कर लें:

  • अब कोड सही है, स्पेक पुराना हो गया है। वह व्यवहार वर्णित करने के लिए जो आपने वास्तव में शिप किया है, डेल्टा स्पेक (और जरूरी हो तो टास्क) को अपडेट करें। आप आर्काइव करने से पहले स्पेक को वास्तविकता से मेल खाना चाहिए, क्योंकि आर्काइविंग स्पेक को आपके सत्य के स्रोत में मर्ज कर देती है।
  • स्पेक सही है, कोड हट गया है। कोड को स्पेक से मेल खाने तक बिल्ड या फिक्स करता रहें।

मिसमैच को प्रकट करने का एक तेज़ तरीका /opsx:verify है: यह आपके आर्टिफैक्ट्स और कोड को पढ़ता है और आपको बताता है कि वे कहां अलग हो रहे हैं। इसके आउटपुट को समन्वयन के लिए टू-डू लिस्ट के रूप में देखें, फिर जब वे सहमत हो जाएं तो आर्काइव कर लें।

सिद्धांत: आर्काइव समय पर, आपके स्पेक्स रेकॉर्ड का सत्य बन जाते हैं। इसलिए आप आर्काइव करने से पहले, स्पेक्स को कोड के बारे में जो काम करता है, उसके बारे में ईमानदार बना लें। मैन्युअल संपादन स्वागत हैं; बस इनसे स्पेक को चुपचाप डिसिंक होने न दें।

जिस प्रस्ताव से आप संतुष्ट नहीं हैं, उसे बेहतर बनाना

यदि कोई उत्पन्न प्रस्ताव लक्ष्य से चूक जाता है, तो आपके पास तीन अच्छे विकल्प होते हैं:

  • स्थान पर पुनरावृत्ति करें। AI से बताएं कि क्या गलत है ("स्कोप बहुत व्यापक है, एडमिन फीचर्स को हटा दें") और इसे संशोधित होने दें। सबसे सस्ता और आमतौर पर सही विकल्प।
  • पहले एक्सप्लोर करें, फिर फिर से प्रस्ताव प्रस्तुत करें। यदि समस्या यह है कि आइडिया स्वयं अस्पष्ट है, तो /opsx:explore पर वापस जाएं, इसे अच्छी तरह से सोचें, और उससे एक बेहतर प्रस्ताव निकलने दें। पहले एक्सप्लोर करें देखें।
  • नया शुरू करें। यदि इरादा मूल रूप से बदल गया है, तो पुराने को पैच करने की तुलना में नया परिवर्तन अधिक स्पष्ट हो सकता है।

यह आखिरी विकल्प के लिए अपना खुद का निर्णण गाइड है, अगले में दिया गया है।

कब अपडेट करें और कब नया परिवर्तन शुरू करें

संक्षिप्त संस्करण: जब काम को बेहतर बनाया गया हो तो अपडेट करें; जब इरादा मूल रूप से बदल गया हो या स्कोप अलग-अलग काम में फटकर बढ़ गया हो तो नया शुरू करें।

  • वही लक्ष्य, बेहतर दृष्टिकोण? अपडेट करें।
  • स्कोप संकुचन (अभी MVP शिप करें, बाद में और)? अपडेट करें, फिर आर्काइव करें, फिर दूसरे चरण के लिए नया परिवर्तन शुरू करें।
  • समस्या स्वयं बदल गई ("डार्क मोड जोड़ें" बनकर "पूर्ण थीमिंग सिस्टम बनाएं")? नया परिवर्तन।

वर्कफ्लो: अपडेट करने बनाम नया शुरू करने का समय में एक पूरा फ्लोचार्ट और काम किए गए उदाहरण हैं, और OPSX: अपडेट करने बनाम नया शुरू करने का समय में इस पर गहरा विवरण दिया गया है।

टास्क्स पर एक नोट

tasks.md एक जीवंत चेकलिस्ट है, कोई जमा हुआ प्लान नहीं। जैसे-जैसे आप कार्यान्वयन करते हैं, आप जो टास्क खोजते हैं उन्हें जोड़ सकते हैं, जो अनावश्यक निकलते हैं उन्हें हटा सकते हैं, या उन्हें फिर से व्यवस्थित कर सकते हैं। AI /opsx:apply के दौरान टास्क पूरा करते समय उन्हें चेक मार्क देता है, और यदि आप बाद में वापस आते हैं तो यह पहले अनचेक्ड टास्क से जारी करता है। कार्य के बीच लिस्ट को संपादित करना अपेक्षित है।

आगे कहां जाएं