@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/CHANGELOG.md +30 -0
- package/README.es.md +125 -78
- package/README.fr.md +119 -114
- package/README.hi.md +74 -78
- package/README.it.md +117 -75
- package/README.ja.md +82 -79
- package/README.md +2 -0
- package/README.pt-BR.md +87 -69
- package/README.zh.md +72 -89
- package/housekeeping.config.example.json +2 -1
- package/package.json +1 -1
- package/src/cli.mjs +85 -2
- package/src/collect.mjs +74 -4
- package/src/config.mjs +13 -4
- package/src/load.mjs +55 -3
- package/src/schema.sql +26 -0
- package/src/workflow-risks.mjs +35 -2
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"
|
|
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
|
-
एक बार में सभी रिपॉजिटरी की सीआई स्थिति, खुली समस्याओं और पुल अनुरोधों,
|
|
24
|
+
एक बार में सभी रिपॉजिटरी की सीआई स्थिति, खुली समस्याओं और पुल अनुरोधों,
|
|
25
|
+
रिलीज़, संस्करण टैग, वर्कफ़्लो फ़ाइलें, शाखा सुरक्षा, सुरक्षा अलर्ट,
|
|
26
|
+
लॉकफ़ाइलें और एक्शन बिलिंग को SQLite में एकत्र किया जाता है, फिर उन सभी का लिखित
|
|
27
|
+
नियमों के अनुसार ऑडिट किया जाता है।
|
|
25
28
|
|
|
26
29
|
यह एक साथ पूरी संस्था के लिए उत्तर देता है:
|
|
27
30
|
|
|
28
31
|
- कौन सी डिफ़ॉल्ट शाखाएँ लाल हैं, और क्या यह एक टूटी हुई मुख्य शाखा या पुरानी इतिहास है?
|
|
29
|
-
- कौन से पुल अनुरोध कभी भी मर्ज नहीं हो सकते, क्योंकि एक आवश्यक जाँच कुछ भी
|
|
30
|
-
- रिपॉजिटरी की अपनी सेटिंग्स कौन से
|
|
31
|
-
- `package.json`, गिट टैग और
|
|
32
|
-
- कौन से वर्कफ़्लो एक्शन लागत नियमों का उल्लंघन करते हैं, उनकी लागत क्या थी, और किन
|
|
33
|
-
- कौन सी रिपॉजिटरी ऐसी सलाहें रखती हैं जिन्हें GitHub का अपना अलर्ट काउंट
|
|
32
|
+
- कौन से पुल अनुरोध कभी भी मर्ज नहीं हो सकते, क्योंकि एक आवश्यक जाँच कुछ भी नहीं दे रही है और उन्हें रोक रही है?
|
|
33
|
+
- रिपॉजिटरी की अपनी सेटिंग्स कौन से डिप्लॉय को अस्वीकार करती हैं?
|
|
34
|
+
- `package.json`, गिट टैग और एनपीएम रजिस्ट्री कहाँ अलग हो गए हैं?
|
|
35
|
+
- कौन से वर्कफ़्लो एक्शन लागत नियमों का उल्लंघन करते हैं, उनकी लागत क्या थी, और किन कार्यों ने इसे खर्च किया?
|
|
36
|
+
- कौन सी रिपॉजिटरी ऐसी सलाहें रखती हैं जिन्हें GitHub का अपना अलर्ट काउंट नहीं दिखाता है?
|
|
34
37
|
|
|
35
|
-
यह एक ऑडिट उपकरण है, न कि एक सुधारक। यह GitHub को पढ़ता है और कुछ भी नहीं
|
|
38
|
+
यह एक ऑडिट उपकरण है, न कि एक सुधारक। यह GitHub को पढ़ता है और कुछ भी नहीं बदलता है।
|
|
36
39
|
|
|
37
40
|
## प्रत्येक रिपॉजिटरी पर एक एजेंट
|
|
38
41
|
|
|
39
|
-
दर्जनों रिपॉजिटरी वाली संस्था के पास कोई एक
|
|
42
|
+
दर्जनों रिपॉजिटरी वाली संस्था के पास कोई एक जगह नहीं है जहाँ उसकी
|
|
43
|
+
स्थिति मौजूद हो। हाउसकीपिंग वह जगह है, और इसका एमसीपी सर्वर, `hk-mcp`, इसे एक एआई एजेंट को सौंपता है। इसके साथ, एक एजेंट पूरी
|
|
44
|
+
संस्था के लिए समन्वयक के रूप में कार्य कर सकता है:
|
|
40
45
|
|
|
41
46
|
1. **स्वीप।** `hk refresh` प्रत्येक रिपॉजिटरी का एक स्नैपशॉट लेता है।
|
|
42
|
-
2. **ट्राइएज।** एजेंट पूछता है कि क्या लाल है, क्या अवरुद्ध है और क्या बदतर हो गया है,
|
|
43
|
-
|
|
44
|
-
|
|
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"]` का उपयोग करें। दूसरा
|
|
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)
|
|
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
|
-
|
|
|
102
|
-
| रनर दरें |
|
|
103
|
-
| भंडारण | अंतर्निहित `node:sqlite` के माध्यम से
|
|
104
|
-
| सत्य का स्रोत | `data/snapshots/*.json` | कच्चा, तुलना करने योग्य और केवल जोड़ने योग्य। डेटाबेस प्राप्त किया
|
|
113
|
+
| एक्शन लागत | बिलिंग एपीआई प्लस प्रति-कार्य अवधि | इनवॉइस में यह बताया गया है कि कौन सी रिपॉजिटरी है; केवल कार्यों में यह बताया गया है कि कौन सा वर्कफ़्लो है। GitHub के `/timing` एंडपॉइंट शून्य लौटाते हैं, इसलिए प्रति-कार्य योग को फिर से बनाया जाता है और फिर इनवॉइस के साथ मिलान किया जाता है। |
|
|
114
|
+
| रनर दरें | इनवॉइस से पढ़ी गई | बिल की गई दर, सूची मूल्य से भिन्न हो सकती है, और स्रोत में एक स्थिर मान हर संख्या को गलत बताएगा। |
|
|
115
|
+
| भंडारण | SQLite, अंतर्निहित `node:sqlite` के माध्यम से | कोई अंतर्निहित बिल्ड चरण नहीं। |
|
|
116
|
+
| सत्य का स्रोत | `data/snapshots/*.json` | कच्चा, तुलना करने योग्य और केवल जोड़ने योग्य। डेटाबेस प्राप्त किया गया है: `npm run rebuild` इसे ऑफ़लाइन पुनर्निर्मित करता है। |
|
|
105
117
|
| स्वीप लॉग | `data/sweeps.jsonl` | प्रत्येक स्वीप के लिए एक पंक्ति, जिसमें विफल स्वीप और नए कुछ भी नहीं खोजने वाले स्वीप शामिल हैं। |
|
|
106
118
|
|
|
107
|
-
स्नैपशॉट अपरिवर्तनीय और
|
|
119
|
+
स्नैपशॉट अपरिवर्तनीय और संचयी होते हैं, इसलिए दो तिथियों के बीच का विचलन एक `JOIN` है।
|
|
108
120
|
|
|
109
121
|
## आवश्यकताएं
|
|
110
122
|
|
|
111
123
|
- Node.js 22.5 या बाद का संस्करण।
|
|
112
|
-
- [GitHub CLI](https://cli.github.com/),
|
|
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
|
-
एक पूर्ण स्वीप कुछ सौ
|
|
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
|
-
**एक स्वीप
|
|
196
|
+
**एक स्वीप जो लिखता है वह संवेदनशील है। `data/` या `reports/` को सार्वजनिक रिपॉजिटरी में कमिट न करें।**
|
|
183
197
|
|
|
184
|
-
एक स्नैपशॉट निजी रिपॉजिटरी के नाम और विवरण, उस पैकेज के साथ प्रत्येक खुली सुरक्षा अलर्ट, वर्कफ़्लो फ़ाइलें और
|
|
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` में रहते हैं। प्रत्येक नियम उस लिखित नियम का हवाला देता है जिसे वह लागू करता है, इसलिए एक निष्कर्ष को एक मानक के खिलाफ तर्क दिया जा सकता है, न कि स्वाद के खिलाफ। इस रिपॉजिटरी में
|
|
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
|
-
|
|
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
|
-
- **केवल-पढ़ने
|
|
230
|
-
|
|
231
|
-
- **कोई
|
|
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
|
-
|
|
247
|
+
एमआईटी। [LICENSE](LICENSE) देखें।
|
|
252
248
|
|
|
253
249
|
---
|
|
254
250
|
|
|
255
|
-
<a href="https://mcp-tool-shop.github.io/"
|
|
251
|
+
<a href="https://mcp-tool-shop.github.io/">एमसीपी टूल शॉप</a> द्वारा निर्मित
|