26 पॉइंट द्वारा GN⁺ 2026-03-03 | 4 टिप्पणियां | WhatsApp पर शेयर करें
  • git-memento एक एक्सटेंशन टूल है जो AI द्वारा बनाए गए कोड सेशन को अपने-आप Git commit में रिकॉर्ड करता है, और हर commit से जुड़े AI बातचीत के इतिहास को git notes के रूप में सहेजता है
  • commit करते समय AI session ID देने पर, सारांश refs/notes/commits में और पूरी बातचीत refs/notes/memento-full-audit में अलग-अलग सहेजी जाती है, जिससे traceability और privacy दोनों सुनिश्चित होते हैं
  • यह Codex और Claude जैसे कई AI providers को सपोर्ट करता है, और summary बनाते समय user-defined skills लागू कर commit notes की गुणवत्ता नियंत्रित की जा सकती है
  • GitHub Actions के साथ इंटीग्रेशन के जरिए commit notes पर automatic comments, CI gate validation, और merge के समय notes का automatic transfer (merge-carry) जैसी सुविधाएँ मिलती हैं
  • Windows/Mac/Linux सपोर्ट. यह AI code generation की transparency बढ़ाने और collaborative environment में AI contributions की auditability सुनिश्चित करने वाला टूल है

git-memento का अवलोकन

  • git-memento एक Git एक्सटेंशन टूल है जो AI coding sessions को commit स्तर पर रिकॉर्ड करता है
    • commit के समय AI session की बातचीत को व्यवस्थित करके Markdown notes के रूप में सहेजता है
    • हर commit में AI session का source और conversation context छोड़ता है, जिससे code generation process को ट्रैक किया जा सकता है
  • यह डिफ़ॉल्ट रूप से Codex को सपोर्ट करता है, और Claude जैसे अन्य AI models भी कॉन्फ़िगर किए जा सकते हैं
  • यह MIT लाइसेंस के तहत उपलब्ध है और NativeAOT आधारित single executable के रूप में वितरित किया जाता है

मुख्य कमांड और फ़ीचर

  • git memento init से repository-स्तरीय configuration initialize किया जाता है, और AI provider की जानकारी .git/config में सहेजी जाती है
  • git memento commit कमांड से commit के साथ-साथ session notes भी जोड़े जाते हैं
    • --summary-skill विकल्प का उपयोग करने पर summary और पूरा session अलग-अलग सहेजा जाता है
    • summary refs/notes/commits में और पूरा log refs/notes/memento-full-audit में रिकॉर्ड होता है
  • git memento amend से मौजूदा commit में नया session जोड़ा या संशोधित किया जा सकता है
  • git memento audit commit range के भीतर missing notes और metadata validity की जाँच करता है
  • git memento doctor configuration, note references, और remote sync status की जाँच करता है

notes प्रबंधन और synchronization

  • git memento share-notes से notes को remote repository (origin आदि) में push किया जाता है
  • git memento notes-sync remote notes को सुरक्षित रूप से merge करता है और backup बनाता है
    • refs/notes/commits और refs/notes/memento-full-audit दोनों sync होते हैं
  • git memento notes-carry rebase या squash के बाद notes को नए commit में ट्रांसफ़र करता है
  • git memento notes-rewrite-setup automatic note transfer configuration को सक्रिय करता है

GitHub Actions इंटीग्रेशन

  • repository में reusable GitHub Action शामिल है
    • mode: comment — commit notes पढ़कर automatic comments बनाता है
    • mode: gateCI चरण में missing notes की जाँच, और असफल होने पर build रोक देता है
    • mode: merge-carryPR merge के समय notes को merge commit में ट्रांसफ़र करता है
  • हर mode action.yml में परिभाषित है, और Marketplace registration artifact (dist/note-comment-renderer.js) भी शामिल है
  • ignore-notes लेबल वाले PR gate check को छोड़ देते हैं और “Notes ignored” comment छोड़ते हैं

notes फ़ॉर्मैट और version management

  • notes को git notes add -f -m "" फ़ॉर्मैट में सहेजा जाता है
  • multi-session support के लिए version tags(``) और section separators का उपयोग होता है
  • user messages को Git username से, और AI responses को provider name से label किया जाता है
  • पुराने single-session notes ज़रूरत पड़ने पर अपने-आप upgrade हो जाते हैं, जिससे compatibility बनी रहती है

4 टिप्पणियां

 
wedding 2026-03-03

Private project में मैं session export करके commit करता हूँ, और public में अगर लगे कि summary file सच में ज़रूरी है, तभी commit करता हूँ.
आख़िर personal information भी होती है.. और tool के हिसाब से अलग होता है, लेकिन हर session आसानी से 10MB से ऊपर चला जाता है.. तो ऐसे ही बस upload कर देना थोड़ा ठीक नहीं लगता.

 
roxie 2026-03-28

लेकिन हम ऐसे दौर में जी रहे हैं जहाँ डिस्क पहले से कहीं ज़्यादा सस्ती हैं!

 
GN⁺ 2026-03-03
Hacker News की राय
  • मैं AI के साथ कोड लिखते समय project.md फ़ाइल से शुरुआत करता हूँ
    उसमें मैं मनचाहा परिणाम लिखता हूँ, और AI से उसी के आधार पर plan.md लिखवाता हूँ
    उसके बाद plan.md को कई बार संशोधित करता हूँ, और जब मनचाही योजना तैयार हो जाती है, तो एक विस्तृत todo list बनाकर plan.md के अंत में जोड़ देता हूँ
    जब मैं पूरी तरह संतुष्ट हो जाता हूँ, तो AI को todo पूरा करने के लिए कहता हूँ, और उसे निर्देश देता हूँ कि बीच में कुछ पूछे बिना अंत तक काम पूरा करे
    आखिर में project.md, plan.md, और पूरा कोड commit कर देता हूँ
    इससे plan.md एक तरह का पुनरुत्पादित किया जा सकने वाला artifact बन जाता है, जिसे बाद में कोई अधिक उन्नत मॉडल आधार बनाकर संशोधित कर सकता है या उसमें त्रुटियाँ खोज सकता है

    • मैं भी लगभग ऐसा ही करता हूँ, लेकिन इसे तीन दस्तावेज़ों में बाँटता हूँ — design, plan, debug
      design को feature unit के हिसाब से लिखता हूँ, और अनसुलझे सवालों को साफ़ दर्ज करता हूँ
      plan को plan/[feature]/phase-N-[description].md संरचना में रखता हूँ, और build या runtime limits से टकराने पर रुक जाता हूँ
      debug चरण में संभावित कारणों के hypothesis बनाता हूँ, उन्हें logging/tracing से सत्यापित करता हूँ, फिर fix करता हूँ
      इस तरीके से नए प्रोजेक्ट और legacy दोनों में लगभग 100% success rate मिला है
      कमी बस यह है कि markdown फ़ाइलें बहुत ज़्यादा जमा हो जाती हैं, लेकिन पुराने रिकॉर्ड भविष्य के बदलावों में काम आते हैं, इसलिए अभी तक इसे automate नहीं किया है
    • यह spec-आधारित approach जैसा लगता है
      GitHub spec-kit देखना उपयोगी हो सकता है
    • obra/superpowers का “brainstorming” फीचर लगभग यही workflow है। इस्तेमाल करके देखें, सच में शानदार है
    • पहले मैं Beads को इसी तरह इस्तेमाल करता था, बाद में GuardRails बनाया
      मॉडल से market research और proposal review बार-बार करवाते हुए, मॉडल के लिए खुद समझ आने वाली भाषा में prompt design हो जाता है
      हाल में पता चला कि XML Claude के व्यवहार को प्रभावित करता है, इसलिए GuardRails की संरचना पर फिर से सोच रहा हूँ
      परिचय लेख लिंक
    • मैं भी मिलती-जुलती संरचना इस्तेमाल करता हूँ, लेकिन “context” फ़ाइल अलग रखता हूँ
      plan पूरा होने पर “context.md” बनाता हूँ, ताकि बाद में किसी गलत plan को rollback करते समय उसे देख सकूँ
      अभी तक असल में उसकी ज़रूरत नहीं पड़ी, लेकिन अवधारणात्मक रूप से उपयोगी लगता है
      बस यह तय करना मुश्किल है कि ऐसी फ़ाइलें कहाँ रखी जाएँ, इसलिए अभी repo में शामिल नहीं करता
      वैसे जानना चाहूँगा कि लोग ऐसे काम-वार md फ़ाइलें कहाँ स्टोर करते हैं
  • मेरी नज़र में यह “क्या हर line को commit करना चाहिए?” जैसे सवाल जैसा है
    आखिरकार असली बात यह है कि यह रिकॉर्ड किसके लिए है
    ज़्यादातर sessions में बहुत शोर होता है, गलत कोशिशें होती हैं, और अनावश्यक जानकारी भी बहुत होती है
    अहम चीज़ session का output है, उसका पूरा process नहीं
    फिर भी शुरुआती spec या पहला prompt काफ़ी मूल्यवान हो सकता है। उसका सार commit message या markdown फ़ाइल में छोड़ना अच्छा है

    • इंसानों के लिए यह जटिल और शोरभरा हो सकता है, लेकिन ऐसी session जानकारी भविष्य के AI के लिए उपयोगी हो सकती है
      पुराने sessions को learning context बनाकर मौजूदा काम आगे बढ़ाया जा सकता है
      खासकर मॉडल की सीमाएँ समझने और यह पहचानने में मदद मिल सकती है कि कोड कहाँ user intent से भटक गया
      अंततः मुझे लगता है कि सभी मानवीय inputs का रिकॉर्ड open source models के विकास के लिए महत्वपूर्ण है
    • “क्या हर line commit करें?” से बेहतर उपमा शायद “क्या सभी नोट्स और असफल कोशिशें भी बचाकर रखनी चाहिए?” होगी
    • वैज्ञानिक शोध में भी यह समस्या पहले से है — reproducibility crisis
      शुरुआती conditions और noise के बावजूद वही परिणाम आना चाहिए
      वरना भविष्य का code maintenance इरादे का अंदाज़ा लगाने का खेल बन जाएगा
      संबंधित लेख
    • जिन संगठनों में transparency महत्वपूर्ण है, वहाँ audit के लिए इसका मूल्य हो सकता है, लेकिन व्यवहारिक रूप से इतना लंबा log कौन पढ़ेगा
    • हर session सहेजना ज़रूरी नहीं, लेकिन बारीक संशोधनों के दौरान जब requirements ठोस रूप लेने लगती हैं, वह पल मूल्यवान होता है
  • मैंने एक हफ़्ते पहले ऐसा ही एक विचार सुझाया था (लिंक)
    लेकिन विरोधी राय भी बहुत थीं — AI projects किसी एक input से नहीं बनते, बल्कि वे conversational process होते हैं, इसलिए उन्हें source code की तरह artifact में बदलना कठिन है
    फिर भी Show HN में आने वाले generated projects इतने ज़्यादा हो गए हैं कि noise गंभीर हो गया है
    उन्हें पूरी तरह बाहर तो नहीं किया जा सकता, लेकिन अभी की स्थिति में रुचि कम हो रही है
    सोच रहा हूँ कि community को इस समस्या से कैसे निपटना चाहिए

    • मैं Boris Tane के Claude code लिखने के तरीके का संदर्भ लेता हूँ
      research.md और plan.md को commit करके architecture और features के living dictionary की तरह इस्तेमाल करता हूँ
      feature नाम को filename के prefix के रूप में जोड़ता हूँ, ताकि Claude जल्दी से संबंधित design उठा सके
      संदर्भ ब्लॉग
    • समस्या context की कमी नहीं, बल्कि effort की threshold कम हो जाना है
      जो projects पहले दिलचस्प लगते थे, अब बहुत आसानी से बन जाते हैं
      लोगों से लंबे session logs पढ़वाना इसका हल नहीं है। अब सार निकालने की क्षमता और planning ज़्यादा महत्वपूर्ण हो गई है
    • अच्छा होगा अगर Codex पूरे session को markdown में export कर सके
      vibe coding की असली value कोशिश और नाकामी की प्रक्रिया देखने में है
    • मैं भी सोच रहा हूँ कि अपने दो projects Show HN पर डालूँ या नहीं
      सिर्फ़ output दिखाने से ज़्यादा दिलचस्प तब होता है जब बनाने की प्रक्रिया और व्याख्या भी साथ हो
      इसलिए [Show HN] के अलावा [Creations] जैसी कोई category होनी चाहिए
      उदाहरण: साधारण chess engine [Creations] में, लेकिन 1k में बना chess engine [Show HN] में
      PerfBoard और Lerc इसके उदाहरण हैं
  • sessions सिर्फ़ intermediate artifacts हैं, अंतिम परिणाम का हिस्सा होना ज़रूरी नहीं
    अगर code बदलाव का कारण महत्वपूर्ण है, तो उसे commit message या documentation में दर्ज करना चाहिए

    • यह आखिरकार summary की समस्या है
      commit के समय यह पता नहीं होता कि भविष्य का पाठक कौन-सा सवाल पूछेगा
      इसलिए मैं session को save करके बाद में सवालों के आधार पर summary generate करने का तरीका पसंद करता हूँ
      Git AI यही approach इस्तेमाल करता है
      आजकल engineers इतनी तेज़ी से काम करते हैं कि एक हफ़्ते बाद ही भूल जाते हैं कि ऐसा क्यों किया था
    • कम से कम session का summary version तो होना ही चाहिए
      research-type prompts का सार होना चाहिए, और code-generation prompts को ज्यों का त्यों रखना बेहतर है
      तभी reproducibility और reviewability सुनिश्चित हो पाएगी
    • पहले मैं भी LLM से सिर्फ़ commit messages लिखवाता था, लेकिन अब लगता है कि plan फ़ाइलों का version control बेहतर है
      क्योंकि plan में error-fixing process भी परिलक्षित हो जाती है, और अगली iteration में वह उपयोगी दस्तावेज़ बन जाती है
    • मेरे मामले में repo खुद agent की memory store है
      हर repo एक-दूसरे को messages भेजते हुए feature requests संभालता है
      मूल बातचीत और semantic रूप से compress की गई memory को साथ रखकर, specs और requirements को फिर से व्यवस्थित किया जाता है
    • session save करना bug के कारणों का पता लगाने या बाद की analysis में भी उपयोगी है
  • session logs ज़्यादातर noise होते हैं
    वे गलत कोशिशों और rollback का सिलसिला होते हैं, इसलिए उन्हें commit के साथ रखना browser history सहेजने जैसा है
    असली महत्व इरादा और constraints बताने वाले commit message का है
    अगर AI ने code लिखा है, तो अहम बात बातचीत नहीं बल्कि आपने उससे ऐसा क्यों कहा है
    आखिरकार समस्या session save करने से ज़्यादा, commit messages को हल्के में लेने की आदत हो सकती है

  • मैं AI का उपयोग करते हुए भी पारंपरिक design process बनाए रखता हूँ
    requirements → use cases → class design → constraints definition → AI execution
    इससे इंसान की architectural judgment बनी रहती है, और AI repetitive implementation को तेज़ करता है
    session logs की जगह ऐसे UML/constraint documents को commit में शामिल किया जाए, तो इरादा और context साफ़ तौर पर बचा रहता है
    मुझे लगता है 2026 का developer इसी तरह की गरिमापूर्ण collaboration structure को बनाए रखे

  • यह कुछ-कुछ commit को squash करना है या नहीं जैसी बहस है
    अगर आप squash पसंद करते हैं, तो परिणाम महत्वपूर्ण है और process नहीं बचता
    अगर नहीं, तो पूरी यात्रा दर्ज होती है
    AI sessions के साथ भी यही बात है; सोच की प्रक्रिया को debug करने में वे उपयोगी हो सकते हैं, लेकिन साफ़-सुथरी history पसंद करने वाले लोगों को वे ज़रूरी नहीं लगेंगे
    व्यावहारिक रूप से sessions को repo के बाहर अलग से संभालना बेहतर है

    • मैं भी squash camp में हूँ, लेकिन अगर कोई system internal history को खोलकर दिखा सके, तो session भी साथ देखना चाहूँगा
      सुना है Mercurial या Fossil में यह बेहतर तरीके से संभव है
    • मुझे लगता है यह उपमा सबसे सटीक है
      vibe-coding में code से ज़्यादा prompts सोच के निशान दिखाते हैं
      उन्हें git में डालना या नहीं, वह अलग सवाल है, लेकिन उन्हें सुलभ रखना मूल्यवान है
    • अगर development इंसान-नेतृत्व वाला है, तो AI सिर्फ़ एक tool भर है
      ऐसे में real-time process देखने की ज़रूरत नहीं
      लेकिन अगर code पूरी तरह AI ने लिखा है, तो prompts को सार्वजनिक करना चाहिए
  • मैंने भी sessions निकालकर देखे हैं
    कुछ information loss का जोखिम है, लेकिन readability और accessibility काफ़ी बेहतर हो जाती है

  • कम से कम session के summary किए गए prompts तो save करने चाहिए, ऐसा मेरा मानना है
    AI code review इंसानों की तुलना में कम सख़्त होता है, और इरादा सिर्फ़ prompts में ही मौजूद होता है
    वरना वही गलतियाँ बार-बार दोहराई जाएँगी
    code review का मूल्य सीखने और सुधार में है, लेकिन AI सीखता नहीं, इसलिए prompt records को वह भूमिका निभानी चाहिए
    साथ ही यह prompt skill के मूल्यांकन या junior training के लिए भी ज़रूरी है

    • लेकिन मैं इससे सहमत नहीं कि यह “स्वाभाविक” है
      हम key inputs, menu clicks, debugging attempts जैसी चीज़ें commit में शामिल नहीं करते
      सारी बातचीत save करेंगे तो noise बहुत ज़्यादा होगा
      इसलिए इरादे और assumptions वाले दस्तावेज़ तक सीमित रहना ही व्यावहारिक है
    • वैसे, यह भी जानना दिलचस्प होगा कि लोग session का आकार कितना मानते हैं
  • यह वैसा ही सवाल है जैसे “क्या Google search history को commits में शामिल करना चाहिए?” — मेरे हिसाब से बिल्कुल नहीं

    • यह एकदम सही उपमा है। सोच के हर टुकड़े को रिकॉर्ड करना signal-to-noise ratio को बहुत खराब कर देता है
      इसकी बजाय कारण, assumptions, और alternatives का सार बचाकर रखना बेहतर है
    • लेकिन session को सहेजने पर AI द्वारा किए गए search queries और results भी साथ रहेंगे, जो project context में उपयोगी हो सकते हैं
    • कोई भी यह नहीं जानना चाहता कि “div को center align” करने के लिए कितनी बार search किया गया
      उसी तरह, model ने छोटी-मोटी समस्या में कितना भटका, उसके logs भी अनावश्यक हैं
    • और ऊपर से हर search commit से संबंधित भी नहीं होती। उसमें sensitive information भी हो सकती है
 
roxie 2026-03-28

“क्या Google search history को commit में शामिल करना चाहिए?” जैसा सवाल है — मुझे तो साफ़ तौर पर नहीं लगता

यह टिप्पणी अच्छी लगी