@mcptoolshop/housekeeping 1.4.0 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.hi.md CHANGED
@@ -1,5 +1,5 @@
1
1
  <p align="center">
2
- <a href="README.ja.md">日本語</a> | <a href="README.zh.md">中文</a> | <a href="README.es.md">Español</a> | <a href="README.fr.md">Français</a> | <a href="README.md">English</a> | <a href="README.it.md">Italiano</a> | <a href="README.pt-BR.md">Português (BR)</a>
2
+ <a href="README.md">English</a> | <a href="README.ja.md">日本語</a> | <a href="README.zh.md">中文</a> | <a href="README.es.md">Español</a> | <a href="README.fr.md">Français</a> | <a href="README.hi.md">हिन्दी</a> | <a href="README.it.md">Italiano</a> | <a href="README.pt-BR.md">Português (BR)</a>
3
3
  </p>
4
4
 
5
5
  <p align="center">
@@ -21,47 +21,55 @@
21
21
  <a href="https://mcp-tool-shop-org.github.io/housekeeping/handbook/"><img src="https://img.shields.io/badge/Handbook-read-blue" alt="Handbook" /></a>
22
22
  </p>
23
23
 
24
- एक बार में सभी रिपॉजिटरी की सीआई स्थिति, खुली समस्याओं और पुल अनुरोधों, रिलीज़, संस्करण टैग, वर्कफ़्लो फ़ाइलों, शाखा सुरक्षा, सुरक्षा अलर्ट, लॉकफ़ाइलों और एक्शन बिलिंग को एकत्र करता है, फिर इसे SQLite में संग्रहीत करता है और फिर इसे लिखित नियमों के विरुद्ध ऑडिट करता है।
24
+ एक बार में सभी रिपॉजिटरी की सीआई स्थिति, खुली समस्याओं और पुल अनुरोधों,
25
+ रिलीज़, संस्करण टैग, वर्कफ़्लो फ़ाइलें, शाखा सुरक्षा, सुरक्षा अलर्ट,
26
+ लॉकफ़ाइलें और एक्शन बिलिंग को SQLite में एकत्र किया जाता है, फिर उन सभी का लिखित
27
+ नियमों के अनुसार ऑडिट किया जाता है।
25
28
 
26
29
  यह एक साथ पूरी संस्था के लिए उत्तर देता है:
27
30
 
28
31
  - कौन सी डिफ़ॉल्ट शाखाएँ लाल हैं, और क्या यह एक टूटी हुई मुख्य शाखा या पुरानी इतिहास है?
29
- - कौन से पुल अनुरोध कभी भी मर्ज नहीं हो सकते, क्योंकि एक आवश्यक जाँच कुछ भी उत्सर्जित नहीं कर रही है और उन्हें अवरुद्ध कर रही है?
30
- - रिपॉजिटरी की अपनी सेटिंग्स कौन से परिनियोजन को अस्वीकार करती हैं?
31
- - `package.json`, गिट टैग और npm रजिस्ट्री कहाँ अलग हो गए हैं?
32
- - कौन से वर्कफ़्लो एक्शन लागत नियमों का उल्लंघन करते हैं, उनकी लागत क्या थी, और किन नौकरियों ने इसे खर्च किया?
33
- - कौन सी रिपॉजिटरी ऐसी सलाहें रखती हैं जिन्हें GitHub का अपना अलर्ट काउंट याद नहीं करता?
32
+ - कौन से पुल अनुरोध कभी भी मर्ज नहीं हो सकते, क्योंकि एक आवश्यक जाँच कुछ भी नहीं दे रही है और उन्हें रोक रही है?
33
+ - रिपॉजिटरी की अपनी सेटिंग्स कौन से डिप्लॉय को अस्वीकार करती हैं?
34
+ - `package.json`, गिट टैग और एनपीएम रजिस्ट्री कहाँ अलग हो गए हैं?
35
+ - कौन से वर्कफ़्लो एक्शन लागत नियमों का उल्लंघन करते हैं, उनकी लागत क्या थी, और किन कार्यों ने इसे खर्च किया?
36
+ - कौन सी रिपॉजिटरी ऐसी सलाहें रखती हैं जिन्हें GitHub का अपना अलर्ट काउंट नहीं दिखाता है?
34
37
 
35
- यह एक ऑडिट उपकरण है, न कि एक सुधारक। यह GitHub को पढ़ता है और कुछ भी नहीं बदलता।
38
+ यह एक ऑडिट उपकरण है, न कि एक सुधारक। यह GitHub को पढ़ता है और कुछ भी नहीं बदलता है।
36
39
 
37
40
  ## प्रत्येक रिपॉजिटरी पर एक एजेंट
38
41
 
39
- दर्जनों रिपॉजिटरी वाली संस्था के पास कोई एक स्थान नहीं है जहाँ उसकी स्थिति संग्रहीत हो। हाउसकीपिंग वह स्थान है, और इसका एमसीपी सर्वर, `hk-mcp`, इसे एक एआई एजेंट को सौंपता है। इसके साथ, एक एजेंट पूरी संस्था के लिए समन्वयक के रूप में कार्य कर सकता है:
42
+ दर्जनों रिपॉजिटरी वाली संस्था के पास कोई एक जगह नहीं है जहाँ उसकी
43
+ स्थिति मौजूद हो। हाउसकीपिंग वह जगह है, और इसका एमसीपी सर्वर, `hk-mcp`, इसे एक एआई एजेंट को सौंपता है। इसके साथ, एक एजेंट पूरी
44
+ संस्था के लिए समन्वयक के रूप में कार्य कर सकता है:
40
45
 
41
46
  1. **स्वीप।** `hk refresh` प्रत्येक रिपॉजिटरी का एक स्नैपशॉट लेता है।
42
- 2. **ट्राइएज।** एजेंट पूछता है कि क्या लाल है, क्या अवरुद्ध है और क्या बदतर हो गया है, और ऐसे उत्तर प्राप्त करता है जो पहले से ही एक टूटी हुई मुख्य शाखा को पुरानी इतिहास से और एक अटकी हुई पुल अनुरोध को एक संघर्षपूर्ण से अलग बताते हैं।
43
- 3. **एक लहर की योजना बनाएं।** एक `hk_sql` क्वेरी प्रत्येक रिपॉजिटरी को समान आकार के साथ ढूंढती है, इसलिए एक सुधार एक शिकार के बजाय प्रति रिपॉजिटरी एक पुल अनुरोध बन जाता है।
44
- 4. **काम करें।** हाउसकीपिंग कभी भी नहीं लिखता। एजेंट अपने स्वयं के उपकरणों के साथ, अपनी अनुमति के तहत और आपकी समीक्षा के तहत पुल अनुरोध खोलता है।
47
+ 2. **ट्राइएज।** एजेंट पूछता है कि क्या लाल है, क्या अवरुद्ध है और क्या बदतर हो गया है,
48
+ और ऐसे उत्तर प्राप्त करता है जो पहले से ही एक टूटी हुई मुख्य शाखा को पुरानी इतिहास से और
49
+ एक अटकी हुई पुल अनुरोध को एक संघर्षपूर्ण अनुरोध से अलग बताते हैं।
50
+ 3. **एक लहर की योजना बनाएं।** एक `hk_sql` क्वेरी हर उस रिपॉजिटरी को ढूंढती है जिसमें समान
51
+ आकार है, इसलिए एक सुधार एक शिकार के बजाय प्रति रिपॉजिटरी एक पुल अनुरोध बन जाता है।
52
+ 4. **काम करें।** हाउसकीपिंग कभी भी नहीं लिखता है। एजेंट अपने स्वयं के उपकरणों के साथ, अपनी अनुमति के तहत और आपकी समीक्षा के साथ पुल अनुरोध खोलता है।
45
53
  5. **सत्यापित करें।** फिर से स्वीप करें। निष्कर्ष चला गया है या नहीं, और दो स्नैपशॉट के बीच का परिवर्तन एक क्वेरी है।
46
54
 
47
55
  एक एजेंट एक या दो कॉल में जिन प्रश्नों का उत्तर देता है:
48
56
 
49
- - कौन सी डिफ़ॉल्ट शाखाएँ लाल हैं, और कौन सी नौकरी और चरण विफल हो गए?
50
- - कौन से पुल अनुरोध कभी भी मर्ज नहीं हो सकते, और क्या ट्रिगर या संघर्ष को दोषी ठहराया जा सकता है?
57
+ - कौन सी डिफ़ॉल्ट शाखाएँ लाल हैं, और कौन सा कार्य और चरण विफल रहा?
58
+ - कौन से पुल अनुरोध कभी भी मर्ज नहीं हो सकते, और क्या ट्रिगर या संघर्ष को दोष देना चाहिए?
51
59
  - कौन सी रिपॉजिटरी एक उत्पादन सलाह रखती हैं जिसके लिए GitHub कोई अलर्ट नहीं दिखाता है?
52
60
  - कौन से अनुसूचित वर्कफ़्लो शेड्यूल के लिए नियमों का उल्लंघन करते हैं, और कैसे?
53
- - एक्शन की लागत क्या थी, और किस नौकरी ने इसे खर्च किया?
61
+ - एक्शन की लागत क्या थी, और किस कार्य ने इसे खर्च किया?
54
62
  - पिछली स्वीप के बाद से क्या बदल गया?
55
63
 
56
64
  | उपकरण | यह क्या उत्तर देता है |
57
65
  |---|---|
58
66
  | `hk_summary` | नवीनतम स्वीप के लिए कुल: रिपॉजिटरी, मुद्दे, पुल अनुरोध, वर्कफ़्लो, निष्कर्ष। |
59
- | `hk_findings` | कोड, गंभीरता, श्रेणी या रिपॉजिटरी द्वारा निष्कर्ष; जब फ़िल्टर नहीं किया जाता है तो कोड द्वारा गणना। एक लाल मुख्य शाखा का निष्कर्ष उस नौकरी और चरण का नाम देता है जो विफल हो गया। |
60
- | `hk_ci` | वे रिपॉजिटरी जिनकी डिफ़ॉल्ट शाखा लाल है और वे वर्कफ़्लो जो विफल हो गए; साथ ही विफल शेड्यूल, विफल पुल-अनुरोध शाखाएँ और ऐसी रिपॉजिटरी जिनमें कोई सीआई नहीं है। |
67
+ | `hk_findings` | कोड, गंभीरता, श्रेणी या रिपॉजिटरी द्वारा निष्कर्ष; जब फ़िल्टर नहीं किया जाता है तो कोड द्वारा गणना। एक लाल मुख्य शाखा के निष्कर्ष में उस कार्य और चरण का नाम होता है जो विफल रहा। |
68
+ | `hk_ci` | वे रिपॉजिटरी जिनकी डिफ़ॉल्ट शाखा लाल है और वे वर्कफ़्लो जो विफल रहे; साथ ही विफल शेड्यूल, विफल पुल-अनुरोध शाखाएँ और ऐसी रिपॉजिटरी जिनमें कोई सीआई नहीं है। |
61
69
  | `hk_repo` | एक पूरी रिपॉजिटरी: निष्कर्ष, वर्कफ़्लो, खुले पुल अनुरोध और मुद्दे। |
62
70
  | `hk_backlog` | पूरी संस्था में खुले पुल अनुरोध या मुद्दे, सबसे पुराने पहले। |
63
71
  | `hk_health` | प्रति रिपॉजिटरी एक स्वास्थ्य स्कोर, सबसे खराब पहले। |
64
- | `hk_cost` | एक्शन खर्च, रिपॉजिटरी, वर्कफ़्लो या नौकरी द्वारा, सकल और शुद्ध अलग-अलग। |
72
+ | `hk_cost` | एक्शन खर्च, रिपॉजिटरी, वर्कफ़्लो या कार्य द्वारा, सकल और शुद्ध अलग-अलग। |
65
73
  | `hk_sql` | वेयरहाउस के विरुद्ध एक रीड-ओनली `SELECT` या `WITH` स्टेटमेंट। |
66
74
  | `hk_schema` | `hk_sql` क्वेरी लिखने के लिए तालिकाएँ और कॉलम। |
67
75
 
@@ -78,38 +86,42 @@
78
86
  }
79
87
  ```
80
88
 
81
- `HK_HOME` वह निर्देशिका है जिससे आप स्वीप करते हैं। एक क्लोन से, `"command": "node", "args": ["/path/to/housekeeping/src/mcp.mjs"]` का उपयोग करें। दूसरा सर्वर [एटलस](https://github.com/dogfood-lab/testing-os/tree/main/packages/atlas) है, जो एक समय में एक रिपॉजिटरी के बारे में उसी एजेंट का उत्तर देता है (नीचे देखें)। विंडोज पर, `cmd /c` के माध्यम से वैश्विक रूप से स्थापित कमांड शुरू करें।
89
+ `HK_HOME` वह निर्देशिका है जिससे आप स्वीप करते हैं। एक क्लोन से, `"command": "node", "args": ["/path/to/housekeeping/src/mcp.mjs"]` का उपयोग करें। दूसरा
90
+ सर्वर [एटलस](https://github.com/dogfood-lab/testing-os/tree/main/packages/atlas) है,
91
+ जो एक समय में एक रिपॉजिटरी के बारे में उसी एजेंट को उत्तर देता है (नीचे देखें)। विंडोज पर, `cmd /c` के माध्यम से वैश्विक रूप से स्थापित कमांड शुरू करें।
82
92
 
83
93
  ## हाउसकीपिंग और एटलस
84
94
 
85
- [एटलस](https://github.com/dogfood-lab/testing-os/tree/main/packages/atlas) (`@dogfood-lab/atlas`) एक रिपॉजिटरी को मैप करता है: इसके भाग, और इसके द्वार, जिसका अर्थ है कि प्रत्येक वर्कफ़्लो क्या चलाता है, प्रकाशित करता है और तैनात करता है। मानचित्र को `atlas/` के रूप में प्रतिबद्ध किया जाता है और सीआई में जाँच की जाती है। हाउसकीपिंग संस्था का दृश्य है। दोनों को एक साथ काम करने के लिए बनाया गया है।
95
+ [एटलस](https://github.com/dogfood-lab/testing-os/tree/main/packages/atlas)
96
+ (`@dogfood-lab/atlas`) एक रिपॉजिटरी को मैप करता है: इसके भाग, और इसके द्वार, जिसका अर्थ है
97
+ प्रत्येक वर्कफ़्लो जिसमें यह क्या चलाता है, प्रकाशित करता है और तैनात करता है। मानचित्र को `atlas/` के रूप में प्रतिबद्ध किया जाता है और सीआई में जाँच की जाती है। हाउसकीपिंग संगठन दृश्य है। दोनों को एक साथ काम करने के लिए बनाया गया है।
86
98
 
87
- - **प्रत्येक मानचित्र, स्वीप किया गया।** एक स्वीप प्रत्येक रिपॉजिटरी के प्रतिबद्ध मानचित्र को अन्य सभी के साथ पढ़ता है, और रिपोर्ट करता है कि किन रिपॉजिटरी में कोई नहीं है, कौन से `atlas check` कभी नहीं चलाते हैं, और किनमें बाकी संस्था द्वारा पिन किए गए इंजन के पीछे एक इंजन है।
88
- - **जहां एक लाल रन विफल हो गया।** जब एक डिफ़ॉल्ट शाखा लाल होती है, तो निष्कर्ष उस नौकरी और चरण का नाम देता है जो विफल हो गया, और मानचित्र के माध्यम से, उस चरण द्वारा चलाया जाने वाला कमांड, ताकि मरम्मत सही फ़ाइल में शुरू हो।
89
- - **मानचित्र से परिनियोजन तथ्य।** एक नौकरी जिस वातावरण में तैनात होती है, वह मानचित्र से लिया जाता है जहां यह एक को रिकॉर्ड करता है, इसलिए दोनों उपकरण एक वर्कफ़्लो को एक ही तरह से पढ़ते हैं।
90
- - **पूरे बेड़े में चेतावनी।** एटलस एक वर्कफ़्लो चरण को चिह्नित करता है जो चलने से पहले विफल हो जाएगा, जैसे कि एक उपकरण जिसे नौकरी द्वारा स्थापित की तुलना में एक नए रनटाइम की आवश्यकता होती है। रिपोर्ट में ये सभी एक साथ सूचीबद्ध हैं।
99
+ - **प्रत्येक मानचित्र, स्वीप किया गया।** एक स्वीप प्रत्येक रिपॉजिटरी के प्रतिबद्ध मानचित्र को अन्य सभी के साथ पढ़ता है, और रिपोर्ट करता है कि किन रिपॉजिटरी में कोई नहीं है, कौन से `atlas check` कभी नहीं चलाते हैं, और किनमें बाकी संगठन द्वारा पिन किए गए से अलग इंजन है।
100
+ - **जहां एक लाल रन विफल रहा।** जब एक डिफ़ॉल्ट शाखा लाल होती है, तो निष्कर्ष उस कार्य और चरण का नाम देता है जो विफल रहा और, मानचित्र के माध्यम से, उस चरण द्वारा चलाया जाने वाला कमांड, ताकि मरम्मत सही फ़ाइल में शुरू हो।
101
+ - **मानचित्र से डिप्लॉय तथ्य।** एक कार्य जिस वातावरण में तैनात होता है, वह मानचित्र से लिया जाता है जहां यह एक को रिकॉर्ड करता है, इसलिए दोनों उपकरण एक ही वर्कफ़्लो को एक ही तरह से पढ़ते हैं।
102
+ - **पूरे बेड़े में चेतावनी।** एटलस एक वर्कफ़्लो चरण को चिह्नित करता है जो चलने से पहले विफल हो जाएगा, जैसे कि एक उपकरण जिसे उस कार्य द्वारा स्थापित की तुलना में एक नए रनटाइम की आवश्यकता होती है। रिपोर्ट में ये सभी एक साथ सूचीबद्ध हैं।
91
103
 
92
- दोनों सर्वरों वाले एक एजेंट "ये बारह रिपॉजिटरी अवरुद्ध हैं" (हाउसकीपिंग) से "यह वर्कफ़्लो, नौकरी और वे फ़ाइलें हैं जिन तक एक परिवर्तन पहुंचेगा" (एटलस) तक जाता है, बिना प्रत्येक रिपॉजिटरी को मैन्युअल रूप से खोले।
104
+ दोनों सर्वरों वाले एक एजेंट "ये बारह रिपॉजिटरी अवरुद्ध हैं" (हाउसकीपिंग) से "यह वर्कफ़्लो, कार्य और वे फ़ाइलें हैं जिन तक एक परिवर्तन पहुंचेगा" (एटलस) तक जाता है, बिना प्रत्येक रिपॉजिटरी को मैन्युअल रूप से खोले।
93
105
 
94
106
  ## यह इस तरह क्यों आकार दिया गया है
95
107
 
96
- | परत | विकल्प | तर्क |
108
+ | परत | विकल्प | कारण |
97
109
  |---|---|---|
98
110
  | परिवहन | `gh` सीएलआई | इसमें पहले से ही आपका टोकन है। उपकरण कभी भी क्रेडेंशियल संग्रहीत या नहीं मांगता है। |
99
111
  | संग्रह | GitHub GraphQL, पृष्ठबद्ध | एक क्वेरी रिपॉजिटरी के एक पृष्ठ के लिए मेटाडेटा, खुली समस्याओं, खुले पुल अनुरोधों, रिलीज़ और फ़ाइल ट्री लौटाती है। एक पृष्ठ जो समय समाप्त करना जारी रखता है, उसे आधा कर दिया जाता है और उसी कर्सर से फिर से पूछा जाता है। |
100
112
  | एक्शन रन | REST | GraphQL में कोई एक्शन सतह नहीं है। |
101
- | कार्रवाइयों की लागत | बिलिंग एपीआई और प्रति-कार्य अवधि | चालान में यह बताया गया है कि कौन सी रिपॉजिटरी है; केवल कार्यों में यह बताया गया है कि कौन सा वर्कफ़्लो है। GitHub के `/timing` एंडपॉइंट शून्य लौटाते हैं, इसलिए प्रति-कार्य योग को फिर से बनाया जाता है और फिर चालान के साथ मिलान किया जाता है। |
102
- | रनर दरें | चालान से पढ़ें | बिल की गई दर सूची मूल्य से भिन्न हो सकती है, और स्रोत में एक स्थिर मान हर संख्या को गलत बताएगा। |
103
- | भंडारण | अंतर्निहित `node:sqlite` के माध्यम से SQLite | कोई देशी बिल्ड चरण नहीं। |
104
- | सत्य का स्रोत | `data/snapshots/*.json` | कच्चा, तुलना करने योग्य और केवल जोड़ने योग्य। डेटाबेस प्राप्त किया जाता है: `npm run rebuild` इसे ऑफ़लाइन पुनर्निर्मित करता है। |
113
+ | एक्शन लागत | बिलिंग एपीआई प्लस प्रति-कार्य अवधि | इनवॉइस में यह बताया गया है कि कौन सी रिपॉजिटरी है; केवल कार्यों में यह बताया गया है कि कौन सा वर्कफ़्लो है। GitHub के `/timing` एंडपॉइंट शून्य लौटाते हैं, इसलिए प्रति-कार्य योग को फिर से बनाया जाता है और फिर इनवॉइस के साथ मिलान किया जाता है। |
114
+ | रनर दरें | इनवॉइस से पढ़ी गई | बिल की गई दर, सूची मूल्य से भिन्न हो सकती है, और स्रोत में एक स्थिर मान हर संख्या को गलत बताएगा। |
115
+ | भंडारण | SQLite, अंतर्निहित `node:sqlite` के माध्यम से | कोई अंतर्निहित बिल्ड चरण नहीं। |
116
+ | सत्य का स्रोत | `data/snapshots/*.json` | कच्चा, तुलना करने योग्य और केवल जोड़ने योग्य। डेटाबेस प्राप्त किया गया है: `npm run rebuild` इसे ऑफ़लाइन पुनर्निर्मित करता है। |
105
117
  | स्वीप लॉग | `data/sweeps.jsonl` | प्रत्येक स्वीप के लिए एक पंक्ति, जिसमें विफल स्वीप और नए कुछ भी नहीं खोजने वाले स्वीप शामिल हैं। |
106
118
 
107
- स्नैपशॉट अपरिवर्तनीय और योज्य होते हैं, इसलिए दो तिथियों के बीच का विचलन `JOIN` है।
119
+ स्नैपशॉट अपरिवर्तनीय और संचयी होते हैं, इसलिए दो तिथियों के बीच का विचलन एक `JOIN` है।
108
120
 
109
121
  ## आवश्यकताएं
110
122
 
111
123
  - Node.js 22.5 या बाद का संस्करण।
112
- - [GitHub CLI](https://cli.github.com/), लॉग इन (`gh auth status`) एक ऐसे खाते के रूप में जो संगठन को पढ़ सकता है। बिलिंग और सुरक्षा अलर्ट पढ़ने के लिए संबंधित एक्सेस की आवश्यकता होती है; इसके बिना स्वीप "मापा नहीं गया" रिकॉर्ड करता है और आगे बढ़ता है। यह कभी भी किसी छूटी हुई अनुमति को एक स्पष्ट परिणाम के रूप में रिकॉर्ड नहीं करता है।
124
+ - [GitHub CLI](https://cli.github.com/), साइन इन (`gh auth status`) एक ऐसे खाते के रूप में जो संगठन को पढ़ सकता है। बिलिंग और सुरक्षा अलर्ट पढ़ने के लिए संबंधित एक्सेस की आवश्यकता होती है; इसके बिना स्वीप "मापा नहीं गया" रिकॉर्ड करता है और आगे बढ़ता है। यह कभी भी किसी छूटी हुई अनुमति को एक स्पष्ट परिणाम के रूप में रिकॉर्ड नहीं करता है।
113
125
  - विंडोज या लिनक्स। इसे विंडोज पर विकसित किया गया है और इसके परीक्षण CI में लिनक्स पर चलते हैं। macOS को काम करना चाहिए और इसका परीक्षण नहीं किया गया है।
114
126
 
115
127
  ## उपयोग
@@ -122,7 +134,7 @@ hk refresh your-org # collect, load, analyze, write repor
122
134
 
123
135
  स्वीपों के बीच सेटिंग्स को बनाए रखने के लिए, उस निर्देशिका में एक `housekeeping.config.json` रखें (कॉन्फ़िगरेशन देखें); फिर `hk refresh` को किसी तर्क की आवश्यकता नहीं है।
124
136
 
125
- या इसे एक क्लोन से चलाएं, जो अपने डेटा को क्लोन में रखता है:
137
+ या इसे एक क्लोन से चलाएं, जो इसके डेटा को क्लोन में रखता है:
126
138
 
127
139
  ```bash
128
140
  git clone https://github.com/mcp-tool-shop-org/housekeeping.git
@@ -142,6 +154,8 @@ hk findings # findings grouped by severity and code
142
154
  hk health # per-repository health score, worst first
143
155
  hk repo <name> # one repository in full
144
156
  hk prs # every open pull request by age
157
+ hk branches # branches by state: merged, moved after merge, no PR
158
+ hk watch # open PRs, alerts and branches for a short watch list
145
159
  hk versions # package.json against git tag against npm
146
160
  hk actions # every workflow and its rule flags
147
161
  hk cost # Actions cost, gross and net side by side
@@ -153,7 +167,7 @@ hk help # every command and flag
153
167
 
154
168
  `npm run rebuild` डेटाबेस और रिपोर्ट को पहले से डिस्क पर मौजूद स्नैपशॉट से फिर से प्राप्त करता है, बिना किसी नेटवर्क एक्सेस के।
155
169
 
156
- एक पूर्ण स्वीप कुछ सौ एपीआई कॉल करता है। `refresh` को लूप में न चलाएं।
170
+ एक पूर्ण स्वीप कुछ सौ API कॉल करता है। `refresh` को लूप में न चलाएं।
157
171
 
158
172
  परिणाम मानक आउटपुट पर जाते हैं; प्रगति और त्रुटियां मानक त्रुटि पर जाती हैं। प्रत्येक त्रुटि एक कोड और एक संकेत प्रिंट करती है। निकास कोड: 0 ठीक, 1 उपयोगकर्ता त्रुटि, 2 रनटाइम त्रुटि, 3 आंशिक (स्वीप समाप्त हो गया, अंतराल के साथ)।
159
173
 
@@ -169,7 +183,7 @@ hk help # every command and flag
169
183
  ```
170
184
 
171
185
  - `org` वह संगठन है जिसका स्वीप किया जाना है। `hk refresh <org>` इसे ओवरराइड करता है। दोनों में से किसी के बिना, स्वीप शुरू करने से इनकार कर देगा।
172
- - `metaRepos` वे रिपॉजिटरी हैं जिनमें संगठन डिफ़ॉल्ट, संपत्ति या उपकरण होते हैं, न कि कोई शिप किया गया उत्पाद। वे उन निष्कर्षों से छूट प्राप्त हैं जो केवल किसी उत्पाद के लिए समझ में आते हैं: लापता README, LICENSE और समान फ़ाइलें, कोई वर्कफ़्लो नहीं होना और कोई रिलीज़ नहीं होना।
186
+ - `metaRepos` वे रिपॉजिटरी हैं जिनमें संगठन डिफ़ॉल्ट, संपत्ति या उपकरण होते हैं, न कि कोई शिप किया गया उत्पाद। वे उन निष्कर्षों से छूट प्राप्त हैं जो केवल किसी उत्पाद के लिए समझ में आते हैं: लापता README, LICENSE और इसी तरह की फाइलें, कोई वर्कफ़्लो नहीं होना और कोई रिलीज़ नहीं होना।
173
187
 
174
188
  एक गलत फ़ाइल एक त्रुटि है, कभी भी एक मौन डिफ़ॉल्ट नहीं: एक अज्ञात कुंजी, एक गलत प्रकार या टूटा हुआ JSON रन को रोक देता है।
175
189
 
@@ -179,60 +193,44 @@ hk help # every command and flag
179
193
 
180
194
  ## डेटा को निजी रखें
181
195
 
182
- **एक स्वीप क्या लिखता है, यह संवेदनशील है। `data/` या `reports/` को सार्वजनिक रिपॉजिटरी में कमिट न करें।**
196
+ **एक स्वीप जो लिखता है वह संवेदनशील है। `data/` या `reports/` को सार्वजनिक रिपॉजिटरी में कमिट न करें।**
183
197
 
184
- एक स्नैपशॉट निजी रिपॉजिटरी के नाम और विवरण, उस पैकेज के साथ प्रत्येक खुली सुरक्षा अलर्ट, वर्कफ़्लो फ़ाइलें और क्रियाओं की बिलिंग रिकॉर्ड करता है। GitHub जानबूझकर एक सार्वजनिक रिपॉजिटरी की सुरक्षा अलर्ट को उसके रखरखावकर्ताओं के अलावा सभी से छिपा देता है; एक प्रकाशित स्नैपशॉट उस सूची को दे देगा।
198
+ एक स्नैपशॉट निजी रिपॉजिटरी के नाम और विवरण, उस पैकेज के साथ प्रत्येक खुली सुरक्षा अलर्ट, वर्कफ़्लो फ़ाइलें और एक्शन बिलिंग रिकॉर्ड करता है। GitHub जानबूझकर एक सार्वजनिक रिपॉजिटरी की सुरक्षा अलर्ट को उसके रखरखावकर्ताओं के अलावा सभी से छिपा देता है; एक प्रकाशित स्नैपशॉट उस सूची को दे देगा।
185
199
 
186
- इस रिपॉजिटरी का `.gitignore` `data/`, `reports/` और `housekeeping.config.json` को बाहर करता है। इतिहास को बनाए रखने के लिए, जो स्नैपशॉट का बिंदु है, अपने स्वयं के एक **निजी** रिपॉजिटरी से उपकरण चलाएं और उन्हें वहां कमिट करें।
200
+ इस रिपॉजिटरी का `.gitignore` `data/`, `reports/` और `housekeeping.config.json` को बाहर करता है। इतिहास को बनाए रखने के लिए, जो स्नैपशॉट का बिंदु है, अपने स्वयं के एक निजी रिपॉजिटरी से उपकरण चलाएं और उन्हें वहां कमिट करें।
187
201
 
188
202
  ## निष्कर्ष
189
203
 
190
- नियम `src/analyze.mjs` में रहते हैं। प्रत्येक नियम उस लिखित नियम का हवाला देता है जिसे वह लागू करता है, इसलिए एक निष्कर्ष को एक मानक के खिलाफ तर्क दिया जा सकता है, न कि स्वाद के खिलाफ। इस रिपॉजिटरी में शिप किए गए नियम [`rules/`](rules/) में हैं:
204
+ नियम `src/analyze.mjs` में रहते हैं। प्रत्येक नियम उस लिखित नियम का हवाला देता है जिसे वह लागू करता है, इसलिए एक निष्कर्ष को एक मानक के खिलाफ तर्क दिया जा सकता है, न कि स्वाद के खिलाफ। इस रिपॉजिटरी में भेजे गए नियम [`rules/`](rules/) में हैं:
191
205
 
192
206
  - [`rules/github-actions.md`](rules/github-actions.md): पथ फ़िल्टर, रनर, मैट्रिक्स आकार, वर्कफ़्लो फ़ाइल सीमा, समवर्ती।
193
207
  - [`rules/shipcheck-product-standards.md`](rules/shipcheck-product-standards.md): CI को पास होना चाहिए, शिप गेट, संस्करण।
194
208
  - [`rules/repo-first.md`](rules/repo-first.md): डिफ़ॉल्ट शाखा।
195
209
  - [`rules/atlas-map.md`](rules/atlas-map.md): प्रत्येक रिपॉजिटरी का एक कमिट किया गया मानचित्र, CI में जांचा गया।
196
210
 
197
- ये एक संगठन के मानक हैं। यदि आपके अलग हैं, तो नियम फ़ाइल और नियम दोनों को बदलें।
198
-
199
- नियम उन चीजों को अलग रखने का ध्यान रखते हैं जो समान दिखती हैं, क्योंकि उन्हें एक साथ मिलाने से शोर उत्पन्न होता है:
200
-
201
- - **एक लाल डिफ़ॉल्ट शाखा, लाल पुल-अनुरोध शाखा नहीं है।** एक विफल
202
- डिपेंडबॉट शाखा बैकलॉग है; डिफ़ॉल्ट शाखा पर एक विफल `push` रन,
203
- समस्या है। रन की घटना यह तय करती है कि कौन सी।
204
- - **इतिहास समस्या नहीं है।** रिलीज़-ओनली ट्रिगर में स्थानांतरित वर्कफ़्लो,
205
- अपनी पिछली डिफ़ॉल्ट-शाखा विफलता को हमेशा बरकरार रखता है। एक हटाई गई वर्कफ़्लो,
206
- अपने रन को बरकरार रखती है। न तो यह कोई सक्रिय दोष है।
207
- - **एक आवश्यक जाँच, जो कुछ भी उत्सर्जित नहीं कर सकती, वह वह जाँच नहीं है जो यहाँ नहीं चली।**
208
- एक कहता है कि आवश्यकता को छोड़ दें; दूसरा कहता है कि ट्रिगर को ठीक करें। मरम्मत
209
- एक-दूसरे का खंडन करते हैं।
210
- - **एक पुल अनुरोध, जिसे ट्रिगर ने छोड़ दिया, वह संघर्षपूर्ण नहीं है।** GitHub,
211
- संघर्षों वाले पुल अनुरोध पर कोई भी पुल-अनुरोध वर्कफ़्लो नहीं चलाता है, इसलिए इसकी छूटी हुई
212
- जाँच, ट्रिगर के बारे में कुछ भी नहीं बताती है। उस एक को रीबेस की आवश्यकता है।
213
- - **एक विफल रन, रद्द किया गया रन नहीं है।** `cancel-in-progress` का उद्देश्य पुराने रन को समाप्त करना है,
214
- इसलिए रद्द किए गए मिनट आमतौर पर समवर्ती नियम के काम करने का परिणाम होते हैं।
215
- - **कुल लागत, शुद्ध लागत नहीं है।** GitHub सार्वजनिक रिपॉजिटरी को पूरी
216
- कीमत पर मापता है और उन्हें शून्य पर छूट देता है। कुल वास्तविक गणना है; शुद्ध वास्तविक पैसा है।
217
- उन्हें कभी भी जोड़ा नहीं जाता है।
218
- - **मापा नहीं गया, साफ नहीं है।** एक रिपॉजिटरी, जिसे GitHub स्कैन नहीं कर रहा है,
219
- शून्य अलर्ट रिपोर्ट करता है। एक रिपॉजिटरी, जिस पर लागत सीमा नहीं पहुंची, उसमें कोई लागत पंक्ति नहीं है। दोनों को अज्ञात के रूप में रिपोर्ट किया जाता है।
220
-
221
- गंभीरता एक स्वास्थ्य स्कोर निर्धारित करती है: गंभीर 40, उच्च 15, मध्यम 6, निम्न 2, सूचना 0,
222
- जो 100 से घटाया जाता है। स्कोर गुणवत्ता के बजाय ध्यान को रैंक करता है।
211
+ ये एक संगठन के मानक हैं। यदि आपके भिन्न हैं, तो नियम फ़ाइल और नियम दोनों को बदलें।
212
+
213
+ नियम उन चीजों को अलग रखने का ध्यान रखते हैं जो समान दिखती हैं, क्योंकि उन्हें मिलाने से शोर पैदा होता है:
214
+
215
+ - **एक लाल डिफ़ॉल्ट शाखा एक लाल पुल-अनुरोध शाखा नहीं है।** एक विफल Dependabot शाखा बैकलॉग है; डिफ़ॉल्ट शाखा पर एक विफल `push` रन ब्रेक है। रन का इवेंट यह तय करता है कि कौन सा है।
216
+ - **इतिहास ब्रेक नहीं है।** एक वर्कफ़्लो जिसे केवल रिलीज़-केवल ट्रिगर में ले जाया गया है, वह हमेशा अपनी पिछली डिफ़ॉल्ट-शाखा विफलता को रखता है। एक हटाई गई वर्कफ़्लो अपने रन को रखता है। न तो यह एक लाइव दोष है।
217
+ - **एक आवश्यक जांच जो कुछ भी उत्सर्जित नहीं कर सकती है, वह एक जांच नहीं है जो यहां नहीं चली।** एक कहता है कि आवश्यकता को छोड़ दें; दूसरा कहता है कि ट्रिगर को ठीक करें। मरम्मत एक-दूसरे का खंडन करती है।
218
+ - **एक पुल अनुरोध जिसे ट्रिगर ने छोड़ दिया है, वह एक संघर्षपूर्ण अनुरोध नहीं है।** GitHub संघर्ष वाले पुल अनुरोध पर कोई भी पुल-अनुरोध वर्कफ़्लो नहीं चलाता है, इसलिए इसकी लापता जांच ट्रिगर के बारे में कुछ भी नहीं कहती है। उस एक को एक रीबेस की आवश्यकता है।
219
+ - **एक विफल रन एक रद्द किया गया रन नहीं है।** `cancel-in-progress` का उद्देश्य पुराने रन को समाप्त करना है, इसलिए रद्द किए गए मिनट आमतौर पर समवर्ती नियम काम कर रहे होते हैं।
220
+ - **सकल लागत शुद्ध लागत नहीं है।** GitHub सार्वजनिक रिपॉजिटरी को पूरी कीमत पर मापता है और उन्हें शून्य पर छूट देता है। सकल वास्तविक गणना है; शुद्ध वास्तविक धन है। उन्हें कभी भी जोड़ा नहीं जाता है।
221
+ - **मापा नहीं गया साफ नहीं है।** एक रिपॉजिटरी GitHub स्कैनिंग रिपोर्ट शून्य अलर्ट दिखा रहा है। एक रिपॉजिटरी जिस पर लागत पास नहीं पहुंचा, उसमें कोई लागत पंक्ति नहीं है। दोनों को अज्ञात के रूप में रिपोर्ट किया जाता है।
222
+
223
+ गंभीरता एक स्वास्थ्य स्कोर चलाती है: गंभीर 40, उच्च 15, मध्यम 6, निम्न 2, जानकारी 0, 100 से घटाया गया। स्कोर गुणवत्ता के बजाय ध्यान को रैंक करता है।
223
224
 
224
225
  [हैंडबुक](https://mcp-tool-shop-org.github.io/housekeeping/handbook/)
225
- प्रत्येक निष्कर्ष, कमांड, त्रुटि कोड और तालिका को सूचीबद्ध करता है।
226
+ इसमें सभी निष्कर्ष, कमांड, त्रुटि कोड और तालिकाएँ सूचीबद्ध हैं।
226
227
 
227
228
  ## सुरक्षा
228
229
 
229
- - **केवल-पढ़ने के लिए।** कलेक्टर GraphQL प्रश्नों और REST `GET` जारी करता है। यह कभी भी
230
- मर्ज, पुश, रिलीज़, प्रकाशित या किसी सेटिंग को संपादित नहीं करता है।
231
- - **कोई क्रेडेंशियल नहीं।** प्रमाणीकरण वह है जो `gh` पहले से ही रखता है। इसके बारे में कुछ भी
232
- डिस्क पर नहीं लिखा जाता है।
233
- - **कोई टेलीमेट्री नहीं।** संपर्क किए गए एकमात्र होस्ट GitHub API हैं, `gh` के माध्यम से,
234
- और संस्करण और सलाह की खोज के लिए npm रजिस्ट्री।
235
- - **यह जो संग्रहीत करता है** वह संवेदनशील भाग है: "डेटा को निजी रखें" देखें।
230
+ - **केवल-पढ़ने योग्य।** कलेक्टर GraphQL क्वेरी और REST `GET` जारी करता है। यह कभी भी किसी सेटिंग को मर्ज, पुश, रिलीज़, प्रकाशित या संपादित नहीं करता है।
231
+ - **कोई क्रेडेंशियल नहीं।** प्रमाणीकरण वह है जो `gh` पहले से ही रखता है। इसके बारे में कुछ भी डिस्क पर नहीं लिखा जाता है।
232
+ - **कोई टेलीमेट्री नहीं।** संपर्क किए गए एकमात्र होस्ट GitHub एपीआई हैं, जो `gh` के माध्यम से, और संस्करण और सलाह की जानकारी के लिए npm रजिस्ट्री हैं।
233
+ - **यह क्या संग्रहीत करता है** यह संवेदनशील भाग है: "डेटा को निजी रखें" देखें।
236
234
 
237
235
  [SECURITY.md](SECURITY.md) में वर्णित अनुसार किसी भेद्यता की रिपोर्ट करें।
238
236
 
@@ -242,14 +240,12 @@ hk help # every command and flag
242
240
  npm test
243
241
  ```
244
242
 
245
- प्रत्येक नियम का दोनों दिशाओं में परीक्षण किया जाता है: वह आकार जो सक्रिय होना चाहिए, और
246
- आस-पास का आकार जो सक्रिय नहीं होना चाहिए। एक अलग सत्यापनकर्ता, लाइव GitHub से निष्कर्षों का एक नमूना,
247
- अपने स्वयं के परिवहन के माध्यम से पुनः प्राप्त करता है, और छोड़ देता है, जोर से, जब कोई डेटाबेस या नेटवर्क नहीं होता है।
243
+ प्रत्येक नियम का दोनों दिशाओं में परीक्षण किया जाता है: वह आकार जो सक्रिय होना चाहिए, और पड़ोसी आकार जो सक्रिय नहीं होना चाहिए। एक अलग सत्यापनकर्ता अपने स्वयं के माध्यम से लाइव GitHub से निष्कर्षों का एक नमूना पुनः प्राप्त करता है, और जब कोई डेटाबेस या नेटवर्क नहीं होता है, तो जोर से छोड़ देता है।
248
244
 
249
245
  ## लाइसेंस
250
246
 
251
- MIT. [LICENSE](LICENSE) देखें।
247
+ एमआईटी। [LICENSE](LICENSE) देखें।
252
248
 
253
249
  ---
254
250
 
255
- <a href="https://mcp-tool-shop.github.io/">MCP Tool Shop</a> द्वारा निर्मित।
251
+ <a href="https://mcp-tool-shop.github.io/">एमसीपी टूल शॉप</a> द्वारा निर्मित