speccrew 0.7.45 → 0.7.47
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/.speccrew/agents/speccrew-team-leader.md +6 -6
- package/LICENSE +201 -21
- package/README.ar.md +5 -17
- package/README.de.md +5 -17
- package/README.en.md +5 -17
- package/README.es.md +5 -17
- package/README.fr.md +5 -17
- package/README.hi.md +384 -0
- package/README.ja.md +5 -17
- package/README.md +5 -17
- package/README.pt-BR.md +5 -17
- package/README.ru.md +5 -17
- package/docs/GETTING-STARTED.ar.md +39 -40
- package/docs/GETTING-STARTED.de.md +39 -40
- package/docs/GETTING-STARTED.en.md +39 -40
- package/docs/GETTING-STARTED.es.md +39 -40
- package/docs/GETTING-STARTED.fr.md +39 -40
- package/docs/GETTING-STARTED.hi.md +636 -0
- package/docs/GETTING-STARTED.ja.md +39 -40
- package/docs/GETTING-STARTED.md +39 -40
- package/docs/GETTING-STARTED.pt-BR.md +25 -26
- package/docs/GETTING-STARTED.ru.md +37 -38
- package/lib/commands/init.js +3 -3
- package/package.json +2 -2
- package/README.bn.md +0 -174
- package/README.bs.md +0 -394
- package/README.da.md +0 -394
- package/README.el.md +0 -174
- package/README.it.md +0 -394
- package/README.ko.md +0 -394
- package/README.no.md +0 -394
- package/README.pl.md +0 -394
- package/README.th.md +0 -311
- package/README.tr.md +0 -306
- package/README.uk.md +0 -306
- package/README.vi.md +0 -174
- package/README.zh-TW.md +0 -394
- package/docs/GETTING-STARTED.bn.md +0 -219
- package/docs/GETTING-STARTED.bs.md +0 -219
- package/docs/GETTING-STARTED.da.md +0 -637
- package/docs/GETTING-STARTED.el.md +0 -633
- package/docs/GETTING-STARTED.it.md +0 -639
- package/docs/GETTING-STARTED.ko.md +0 -639
- package/docs/GETTING-STARTED.no.md +0 -563
- package/docs/GETTING-STARTED.pl.md +0 -597
- package/docs/GETTING-STARTED.th.md +0 -219
- package/docs/GETTING-STARTED.tr.md +0 -597
- package/docs/GETTING-STARTED.uk.md +0 -597
- package/docs/GETTING-STARTED.vi.md +0 -217
- package/docs/GETTING-STARTED.zh-TW.md +0 -639
package/README.hi.md
ADDED
|
@@ -0,0 +1,384 @@
|
|
|
1
|
+
# SpecCrew - AI-संचालित सॉफ्टवेयर इंजीनियरिंग फ्रेमवर्क
|
|
2
|
+
|
|
3
|
+
<p align="center">
|
|
4
|
+
<a href="./README.md">简体中文</a> |
|
|
5
|
+
<a href="./README.en.md">English</a> |
|
|
6
|
+
<a href="./README.ja.md">日本語</a> |
|
|
7
|
+
<a href="./README.ru.md">Русский</a> |
|
|
8
|
+
<a href="./README.es.md">Español</a> |
|
|
9
|
+
<a href="./README.de.md">Deutsch</a> |
|
|
10
|
+
<a href="./README.fr.md">Français</a> |
|
|
11
|
+
<a href="./README.pt-BR.md">Português (Brasil)</a> |
|
|
12
|
+
<a href="./README.ar.md">العربية</a> |
|
|
13
|
+
<a href="./README.hi.md">हिन्दी</a>
|
|
14
|
+
</p>
|
|
15
|
+
|
|
16
|
+
<p align="center">
|
|
17
|
+
<a href="https://www.npmjs.com/package/speccrew"><img src="https://img.shields.io/npm/v/speccrew.svg" alt="npm version"></a>
|
|
18
|
+
<a href="https://www.npmjs.com/package/speccrew"><img src="https://img.shields.io/npm/dm/speccrew.svg" alt="npm downloads"></a>
|
|
19
|
+
<a href="https://github.com/charlesmu99/speccrew/blob/main/LICENSE"><img src="https://img.shields.io/npm/l/speccrew.svg" alt="license"></a>
|
|
20
|
+
</p>
|
|
21
|
+
|
|
22
|
+
> एक आभासी AI विकास टीम जो किसी भी सॉफ्टवेयर परियोजना के लिए त्वरित इंजीनियरिंग कार्यान्वयन सक्षम बनाती है
|
|
23
|
+
|
|
24
|
+
## SpecCrew क्या है?
|
|
25
|
+
|
|
26
|
+
SpecCrew एक एम्बेडेड आभासी AI विकास टीम फ्रेमवर्क है। यह पेशेवर सॉफ्टवेयर इंजीनियरिंग वर्कफ्लो (PRD → फीचर डिज़ाइन → सिस्टम डिज़ाइन → डेव → डिप्लॉयमेंट → टेस्ट) को पुन: उपयोग योग्य Agent वर्कफ्लो में परिवर्तित करता है, जिससे विकास टीमों को स्पेसिफिकेशन-ड्रिवन डेवलपमेंट (SDD) प्राप्त करने में मदद मिलती है, विशेष रूप से मौजूदा परियोजनाओं के लिए उपयुक्त।
|
|
27
|
+
|
|
28
|
+
मौजूदा परियोजनाओं में Agents और Skills को एकीकृत करके, टीमें त्वरित रूप से परियोजना दस्तावेज़ीकरण प्रणाली और आभासी सॉफ्टवेयर टीमों को प्रारंभ कर सकती हैं, मानक इंजीनियरिंग वर्कफ्लो का पालन करते हुए नई सुविधाओं और संशोधनों को लागू कर सकती हैं।
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## ✨ मुख्य विशेषताएँ
|
|
33
|
+
|
|
34
|
+
### 🏭 आभासी सॉफ्टवेयर टीम
|
|
35
|
+
एक-क्लिक में **7 पेशेवर Agent भूमिकाएँ** + **30+ Skill वर्कफ्लो** उत्पन्न करें, एक पूर्ण आभासी सॉफ्टवेयर टीम का निर्माण:
|
|
36
|
+
- **टीम लीडर** - वैश्विक शेड्यूलिंग और पुनरावृत्ति प्रबंधन
|
|
37
|
+
- **प्रोडक्ट मैनेजर** - आवश्यकताओं का विश्लेषण और PRD आउटपुट
|
|
38
|
+
- **फीचर डिज़ाइनर** - फीचर डिज़ाइन + API अनुबंध
|
|
39
|
+
- **सिस्टम डिज़ाइनर** - फ्रंटएंड/बैकएंड/मोबाइल/डेस्कटॉप सिस्टम डिज़ाइन
|
|
40
|
+
- **सिस्टम डेवलपर** - मल्टी-प्लेटफॉर्म समानांतर विकास
|
|
41
|
+
- **टेस्ट मैनेजर** - तीन-चरणीय टेस्ट समन्वय
|
|
42
|
+
- **टास्क वर्कर** - समानांतर उप-कार्य निष्पादन
|
|
43
|
+
|
|
44
|
+
### 📐 ISA-95 छह-चरणीय मॉडलिंग
|
|
45
|
+
अंतर्राष्ट्रीय **ISA-95** मॉडलिंग कार्यप्रणाली पर आधारित, व्यावसायिक आवश्यकताओं से सॉफ्टवेयर सिस्टम तक परिवर्तन को मानकीकृत करना:
|
|
46
|
+
```
|
|
47
|
+
डोमेन विवरण → डोमेन में कार्य → रुचि के कार्य
|
|
48
|
+
↓ ↓ ↓
|
|
49
|
+
सूचना प्रवाह → सूचना की श्रेणियाँ → सूचना विवरण
|
|
50
|
+
```
|
|
51
|
+
- प्रत्येक चरण के लिए विशिष्ट UML आरेख (यूज़ केस, सिक्वेंस, क्लास आरेख)
|
|
52
|
+
- व्यावसायिक आवश्यकताएँ "चरण दर चरण परिष्कृत" होती हैं, कोई सूचना हानि नहीं
|
|
53
|
+
- आउटपुट सीधे विकास के लिए उपयोग योग्य
|
|
54
|
+
|
|
55
|
+
### 📚 नॉलेज बेस सिस्टम
|
|
56
|
+
तीन-स्तरीय नॉलेज बेस आर्किटेक्चर ensuring AI हमेशा "एकल सत्य स्रोत" पर आधारित काम करता है:
|
|
57
|
+
|
|
58
|
+
| स्तर | निर्देशिका | सामग्री | उद्देश्य |
|
|
59
|
+
|-------|-----------|---------|----------|
|
|
60
|
+
| L1 सिस्टम नॉलेज | `knowledge/techs/` | टेक स्टैक, आर्किटेक्चर, कन्वेंशन | AI परियोजना की तकनीकी सीमाओं को समझता है |
|
|
61
|
+
| L2 बिज़नेस नॉलेज | `knowledge/bizs/` | मॉड्यूल सुविधाएँ, बिज़नेस प्रवाह, इकाइयाँ | AI बिज़नेस लॉजिक को समझता है |
|
|
62
|
+
| L3 पुनरावृत्ति कलाकृतियाँ | `iterations/iXXX/` | PRD, डिज़ाइन दस्तावेज़, टेस्ट रिपोर्ट | वर्तमान आवश्यकताओं के लिए पूर्ण ट्रेसेबिलिटी चेन |
|
|
63
|
+
|
|
64
|
+
### 🔄 चार-चरणीय नॉलेज पाइपलाइन
|
|
65
|
+
**स्वचालित ज्ञान निर्माण आर्किटेक्चर**, स्रोत कोड से स्वचालित रूप से व्यावसायिक/तकनीकी दस्तावेज़ उत्पन्न करना:
|
|
66
|
+
```
|
|
67
|
+
चरण 1: स्रोत कोड स्कैन करें → मॉड्यूल सूची उत्पन्न करें
|
|
68
|
+
चरण 2: समानांतर विश्लेषण → सुविधाएँ निकालें (मल्टी-वर्कर समानांतर)
|
|
69
|
+
चरण 3: समानांतर सारांश → मॉड्यूल अवलोकन पूर्ण करें (मल्टी-वर्कर समानांतर)
|
|
70
|
+
चरण 4: सिस्टम एकत्रीकरण → सिस्टम पैनोरमा उत्पन्न करें
|
|
71
|
+
```
|
|
72
|
+
- **पूर्ण सिंक** और **इंक्रिमेंटल सिंक** (Git diff पर आधारित) का समर्थन करता है
|
|
73
|
+
- एक व्यक्ति अनुकूलित करता है, टीम साझा करती है
|
|
74
|
+
|
|
75
|
+
### 🔧 हार्नेस निष्पादन फ्रेमवर्क
|
|
76
|
+
**मानकीकृत निष्पादन फ्रेमवर्क** ensuring डिज़ाइन दस्तावेज़ सटीक रूप से निष्पादन योग्य विकास निर्देशों में परिवर्तित होते हैं:
|
|
77
|
+
- **SOP सिद्धांत**: Skills मानक संचालन प्रक्रियाओं के रूप में—स्पष्ट, निरंतर, स्वयं-समावेशी चरण
|
|
78
|
+
- **इनपुट/आउटपुट अनुबंध**: कठोर, स्यूडोकोड-जैसे निष्पादन के लिए अच्छी तरह परिभाषित इंटरफेस
|
|
79
|
+
- **प्रगतिशील प्रकटीकरण**: स्तरित सूचना आर्किटेक्चर जो संदर्भ ओवरलोड को रोकता है
|
|
80
|
+
- **सब-एजेंट डिस्पैच**: गुणवत्ता आश्वासन के लिए समानांतर निष्पादन के साथ स्वचालित कार्य विभाजन
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
## 8 कोर समस्याएँ हल की गईं
|
|
85
|
+
|
|
86
|
+
### 1. AI मौजूदा परियोजना दस्तावेज़ों को नज़रअंदाज़ करता है (नॉलेज गैप)
|
|
87
|
+
**समस्या**: मौजूदा SDD या Vibe Coding विधियाँ AI पर परियोजनाओं का वास्तविक समय में सारांश प्रस्तुत करने पर निर्भर करती हैं, आसानी से महत्वपूर्ण संदर्भ को याद करती हैं और विकास परिणामों को अपेक्षाओं से विचलित करती हैं।
|
|
88
|
+
|
|
89
|
+
**समाधान**: `knowledge/` रिपॉजिटरी परियोजना का "एकल सत्य स्रोत" के रूप में कार्य करती है, आर्किटेक्चर डिज़ाइन, कार्यात्मक मॉड्यूल और व्यावसायिक प्रक्रियाओं को जमा करती है ताकि आवश्यकताएँ स्रोत से ही सही राह पर रहें।
|
|
90
|
+
|
|
91
|
+
### 2. सीधे PRD से तकनीकी दस्तावेज़ (सामग्री छूट)
|
|
92
|
+
**समस्या**: सीधे PRD से विस्तृत डिज़ाइन में जाना आसानी से आवश्यकता के विवरणों को याद कर देता है, जिससे लागू की गई सुविधाएँ आवश्यकताओं से विचलित हो जाती हैं।
|
|
93
|
+
|
|
94
|
+
**समाधान**: **समाधान दस्तावेज़** चरण प्रस्तुत करें, जो केवल तकनीकी विवरणों के बिना आवश्यकता के स्केलेटन पर ध्यान केंद्रित करता है:
|
|
95
|
+
- कौन से पेज और कंपोनेंट शामिल हैं
|
|
96
|
+
- पेज ऑपरेशन प्रवाह
|
|
97
|
+
- बैकएंड प्रोसेसिंग लॉजिक
|
|
98
|
+
- डेटा स्टोरेज संरचना
|
|
99
|
+
|
|
100
|
+
विकास को केवल विशिष्ट टेक स्टैक के आधार पर "मांस भरना" होता है, ensuring सुविधाएँ "हड्डी (आवश्यकताओं) के करीब" विकसित होती हैं।
|
|
101
|
+
|
|
102
|
+
### 3. अनिश्चित Agent खोज सीमा (अनिश्चितता)
|
|
103
|
+
**समस्या**: जटिल परियोजनाओं में, AI का कोड और दस्तावेज़ों का व्यापक खोज अनिश्चित परिणाम देता है, जिससे संगतता सुनिश्चित करना कठिन होता है।
|
|
104
|
+
|
|
105
|
+
**समाधान**: प्रत्येक Agent की आवश्यकताओं के आधार पर डिज़ाइन की गई स्पष्ट दस्तावेज़ निर्देशिका संरचना और टेम्पलेट, **प्रगतिशील प्रकटीकरण और ऑन-डिमांड लोडिंग** को लागू करना ensuring निर्धारण।
|
|
106
|
+
|
|
107
|
+
### 4. चूकी हुई चरण और कार्य (प्रक्रिया टूटना)
|
|
108
|
+
**समस्या**: पूर्ण इंजीनियरिंग प्रक्रिया कवरेज की कमी से महत्वपूर्ण चरण आसानी से छूट जाते हैं, जिससे गुणवत्ता सुनिश्चित करना कठिन होता है।
|
|
109
|
+
|
|
110
|
+
**समाधान**: पूर्ण सॉफ्टवेयर इंजीनियरिंग जीवनचक्र को कवर करें:
|
|
111
|
+
```
|
|
112
|
+
PRD (आवश्यकताएँ) → फीचर डिज़ाइन (योजना) → API अनुबंध
|
|
113
|
+
→ सिस्टम डिज़ाइन → डेव (विकास) → डिप्लॉयमेंट → टेस्ट (परीक्षण)
|
|
114
|
+
```
|
|
115
|
+
- प्रत्येक चरण का आउटपुट अगले चरण का इनपुट है
|
|
116
|
+
- प्रत्येक चरण को आगे बढ़ने से पहले मानवीय पुष्टि की आवश्यकता होती है
|
|
117
|
+
- सभी Agent निष्पादनों में टूडू सूचियाँ होती हैं जिन्हें पूरा होने पर स्व-जाँच की आवश्यकता होती है
|
|
118
|
+
|
|
119
|
+
### 5. कम टीम सहयोग दक्षता (नॉलेज सायलो)
|
|
120
|
+
**समस्या**: AI प्रोग्रामिंग अनुभव टीमों में साझा करना कठिन है, जिससे दोहराई गई गलतियाँ होती हैं।
|
|
121
|
+
|
|
122
|
+
**समाधान**: सभी Agents, Skills और संबंधित दस्तावेज़ स्रोत कोड के साथ संस्करण-नियंत्रित होते हैं:
|
|
123
|
+
- एक व्यक्ति का अनुकूलन, टीम द्वारा साझा किया जाता है
|
|
124
|
+
- ज्ञान कोडबेस में जमा होता है
|
|
125
|
+
- टीम सहयोग दक्षता में सुधार
|
|
126
|
+
|
|
127
|
+
### 7. एकल Agent संदर्भ बहुत लंबा (प्रदर्शन बाधा)
|
|
128
|
+
**समस्या**: बड़े जटिल कार्य एकल Agent संदर्भ विंडो से अधिक हो जाते हैं, जिससे समझ में विचलन और आउटपुट गुणवत्ता में कमी आती है।
|
|
129
|
+
|
|
130
|
+
**समाधान**: **सब-एजेंट ऑटो-डिस्पैच मैकेनिज़्म**:
|
|
131
|
+
- जटिल कार्य स्वचालित रूप से पहचाने जाते हैं और उप-कार्यों में विभाजित होते हैं
|
|
132
|
+
- प्रत्येक उप-कार्य एक स्वतंत्र सब-Agent द्वारा निष्पादित होता है, अलग संदर्भ के साथ
|
|
133
|
+
- पैरेंट Agent समन्वय और एकत्रीकरण करता है ensuring समग्र संगतता
|
|
134
|
+
- एकल Agent संदर्भ विस्तार से बचता है, आउटपुट गुणवत्ता सुनिश्चित करता है
|
|
135
|
+
|
|
136
|
+
### 8. आवश्यकता पुनरावृत्ति अराजकता (प्रबंधन कठिनाई)
|
|
137
|
+
**समस्या**: एक ही शाखा में मिली हुई कई आवश्यकताएँ एक-दूसरे को प्रभावित करती हैं, जिससे ट्रैकिंग और रोलबैक कठिन होता है।
|
|
138
|
+
|
|
139
|
+
**समाधान**: **प्रत्येक आवश्यकता एक स्वतंत्र परियोजना**:
|
|
140
|
+
- प्रत्येक आवश्यकता एक स्वतंत्र पुनरावृत्ति निर्देशिका `iterations/iXXX-[requirement-name]/` बनाती है
|
|
141
|
+
- पूर्ण पृथक्करण: दस्तावेज़, डिज़ाइन, कोड और परीक्षण स्वतंत्र रूप से प्रबंधित
|
|
142
|
+
- त्वरित पुनरावृत्ति: छोटी दानादारता वितरण, त्वरित सत्यापन, त्वरित परिनियोजन
|
|
143
|
+
- लचीला संग्रहण: पूरा होने पर, `archive/` में संग्रहीत, स्पष्ट ऐतिहासिक ट्रेसेबिलिटी के साथ
|
|
144
|
+
|
|
145
|
+
### 6. दस्तावेज़ अपडेट अंतराल (ज्ञान क्षय)
|
|
146
|
+
**समस्या**: परियोजनाओं के विकसित होने के साथ दस्तावेज़ पुराने हो जाते हैं, जिससे AI गलत जानकारी के साथ काम करता है।
|
|
147
|
+
|
|
148
|
+
**समाधान**: Agents में स्वचालित दस्तावेज़ अपडेट क्षमताएँ होती हैं, परियोजना परिवर्तनों को वास्तविक समय में सिंक्रनाइज़ करती हैं ताकि नॉलेज बेस सटीक रहे।
|
|
149
|
+
|
|
150
|
+
---
|
|
151
|
+
|
|
152
|
+
## कोर वर्कफ्लो
|
|
153
|
+
|
|
154
|
+
```mermaid
|
|
155
|
+
graph LR
|
|
156
|
+
A[PRD<br/>आवश्यकताएँ] --> B[फीचर डिज़ाइन<br/>तकनीकी योजना]
|
|
157
|
+
B --> C[API अनुबंध<br/>इंटरफेस अनुबंध]
|
|
158
|
+
C --> D[सिस्टम डिज़ाइन<br/>विस्तृत डिज़ाइन]
|
|
159
|
+
D --> E[डेव<br/>कार्यान्वयन]
|
|
160
|
+
E --> F[डिप्लॉयमेंट<br/>परिनियोजन]
|
|
161
|
+
F --> G[सिस्टम टेस्ट<br/>परीक्षण]
|
|
162
|
+
G --> H[आर्काइव<br/>संग्रहण]
|
|
163
|
+
|
|
164
|
+
I[नॉलेज<br/>रिपॉजिटरी] -.-> A
|
|
165
|
+
I -.-> B
|
|
166
|
+
I -.-> D
|
|
167
|
+
I -.-> E
|
|
168
|
+
I -.-> F
|
|
169
|
+
|
|
170
|
+
E -.-> I
|
|
171
|
+
F -.-> I
|
|
172
|
+
G -.-> I
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
### चरण विवरण
|
|
176
|
+
|
|
177
|
+
| चरण | Agent | इनपुट | आउटपुट | मानवीय पुष्टि |
|
|
178
|
+
|-------|-------|-------|--------|-------------------|
|
|
179
|
+
| PRD | PM | उपयोगकर्ता आवश्यकताएँ | उत्पाद आवश्यकता दस्तावेज़ | ✅ आवश्यक |
|
|
180
|
+
| फीचर डिज़ाइन | फीचर डिज़ाइनर | PRD | फीचर डिज़ाइन दस्तावेज़ + API अनुबंध | ✅ आवश्यक |
|
|
181
|
+
| सिस्टम डिज़ाइन | सिस्टम डिज़ाइनर | फीचर स्पेस | फ्रंटएंड/बैकएंड डिज़ाइन दस्तावेज़ | ✅ आवश्यक |
|
|
182
|
+
| डेव | डेव | डिज़ाइन | कोड + कार्य रिकॉर्ड | ✅ आवश्यक |
|
|
183
|
+
| डिप्लॉयमेंट | सिस्टम डिप्लॉयर | डेव आउटपुट | डिप्लॉयमेंट रिपोर्ट + चल रहा एप्लिकेशन | ✅ आवश्यक |
|
|
184
|
+
| सिस्टम टेस्ट | टेस्ट मैनेजर | डिप्लॉयमेंट आउटपुट + फीचर स्पेस | टेस्ट केस + टेस्ट कोड + टेस्ट रिपोर्ट + बग रिपोर्ट | ✅ आवश्यक |
|
|
185
|
+
|
|
186
|
+
---
|
|
187
|
+
|
|
188
|
+
## मौजूदा समाधानों के साथ तुलना
|
|
189
|
+
|
|
190
|
+
| आयाम | Vibe Coding | Ralph Loop | **SpecCrew** |
|
|
191
|
+
|-----------|-------------|------------|-------------|
|
|
192
|
+
| दस्तावेज़ निर्भरता | मौजूदा दस्तावेज़ों को नज़रअंदाज़ करता है | AGENTS.md पर निर्भर | **संरचित नॉलेज बेस** |
|
|
193
|
+
| आवश्यकता स्थानांतरण | सीधे कोडिंग | PRD → कोड | **PRD → फीचर डिज़ाइन → सिस्टम डिज़ाइन → कोड** |
|
|
194
|
+
| मानवीय भागीदारी | न्यूनतम | प्रारंभ में | **प्रत्येक चरण में** |
|
|
195
|
+
| प्रक्रिया पूर्णता | कमज़ोर | मध्यम | **पूर्ण इंजीनियरिंग वर्कफ्लो** |
|
|
196
|
+
| टीम सहयोग | साझा करना कठिन | व्यक्तिगत दक्षता | **टीम ज्ञान साझाकरण** |
|
|
197
|
+
| संदर्भ प्रबंधन | एकल इंस्टेंस | एकल इंस्टेंस लूप | **सब-एजेंट ऑटो-डिस्पैच** |
|
|
198
|
+
| पुनरावृत्ति प्रबंधन | मिश्रित | टास्क सूची | **आवश्यकता परियोजना के रूप में, स्वतंत्र पुनरावृत्ति** |
|
|
199
|
+
| निर्धारण | कम | मध्यम | **उच्च (प्रगतिशील प्रकटीकरण)** |
|
|
200
|
+
|
|
201
|
+
---
|
|
202
|
+
|
|
203
|
+
## त्वरित प्रारंभ
|
|
204
|
+
|
|
205
|
+
### पूर्वापेक्षाएँ
|
|
206
|
+
|
|
207
|
+
- Node.js >= 16.0.0
|
|
208
|
+
- समर्थित IDE: Qoder (डिफ़ॉल्ट), Cursor, Claude Code
|
|
209
|
+
|
|
210
|
+
> **नोट**: Cursor और Claude Code के एडेप्टर वास्तविक IDE वातावरण में परीक्षण नहीं किए गए हैं (कोड स्तर पर लागू और E2E परीक्षणों के माध्यम से सत्यापित, लेकिन अभी तक वास्तविक Cursor/Claude Code में परीक्षण नहीं किया गया)।
|
|
211
|
+
|
|
212
|
+
### 1. SpecCrew इंस्टॉल करें
|
|
213
|
+
|
|
214
|
+
```bash
|
|
215
|
+
npm install -g speccrew
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
### 2. परियोजना प्रारंभ करें
|
|
219
|
+
|
|
220
|
+
अपनी परियोजना की रूट निर्देशिका में नेविगेट करें और प्रारंभिकरण कमांड चलाएँ:
|
|
221
|
+
|
|
222
|
+
```bash
|
|
223
|
+
cd /path/to/your-project
|
|
224
|
+
|
|
225
|
+
# डिफ़ॉल्ट Qoder का उपयोग करता है
|
|
226
|
+
speccrew init
|
|
227
|
+
|
|
228
|
+
# या IDE निर्दिष्ट करें
|
|
229
|
+
speccrew init --ide qoder
|
|
230
|
+
speccrew init --ide cursor
|
|
231
|
+
speccrew init --ide claude
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
प्रारंभिकरण के बाद, निम्नलिखित आपकी परियोजना में उत्पन्न होंगे:
|
|
235
|
+
- `.qoder/agents/` / `.cursor/agents/` / `.claude/agents/` — 7 Agent भूमिका परिभाषाएँ
|
|
236
|
+
- `.qoder/skills/` / `.cursor/skills/` / `.claude/skills/` — 30+ Skill वर्कफ्लो
|
|
237
|
+
- `speccrew-workspace/` — वर्कस्पेस (पुनरावृत्ति निर्देशिकाएँ, नॉलेज बेस, दस्तावेज़ टेम्पलेट)
|
|
238
|
+
- `.speccrewrc` — SpecCrew कॉन्फ़िगरेशन फ़ाइल
|
|
239
|
+
|
|
240
|
+
बाद में किसी विशिष्ट IDE के लिए Agents और Skills अपडेट करने के लिए:
|
|
241
|
+
|
|
242
|
+
```bash
|
|
243
|
+
speccrew update --ide cursor
|
|
244
|
+
speccrew update --ide claude
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
### 3. विकास वर्कफ्लो प्रारंभ करें
|
|
248
|
+
|
|
249
|
+
मानक इंजीनियरिंग वर्कफ्लो का चरणबद्ध तरीके से पालन करें:
|
|
250
|
+
|
|
251
|
+
1. **PRD**: प्रोडक्ट मैनेजर Agent आवश्यकताओं का विश्लेषण करता है और उत्पाद आवश्यकता दस्तावेज़ उत्पन्न करता है
|
|
252
|
+
2. **फीचर डिज़ाइन**: फीचर डिज़ाइनर Agent फीचर डिज़ाइन दस्तावेज़ + API अनुबंध उत्पन्न करता है
|
|
253
|
+
3. **सिस्टम डिज़ाइन**: सिस्टम डिज़ाइनर Agent प्लेटफॉर्म के अनुसार (फ्रंटएंड/बैकएंड/मोबाइल/डेस्कटॉप) सिस्टम डिज़ाइन दस्तावेज़ उत्पन्न करता है
|
|
254
|
+
4. **डेव**: सिस्टम डेवलपर Agent प्लेटफॉर्म के अनुसार समानांतर में विकास लागू करता है
|
|
255
|
+
5. **डिप्लॉयमेंट**: सिस्टम डिप्लॉयर Agent बिल्ड, डेटाबेस माइग्रेशन, सेवा प्रारंभ और स्मोक टेस्ट निष्पादित करता है
|
|
256
|
+
6. **सिस्टम टेस्ट**: टेस्ट मैनेजर Agent तीन-चरणीय परीक्षण (केस डिज़ाइन → कोड जनरेशन → निष्पादन रिपोर्ट) का समन्वय करता है
|
|
257
|
+
7. **आर्काइव**: पुनरावृत्ति संग्रहीत करें
|
|
258
|
+
|
|
259
|
+
> प्रत्येक चरण के वितरित योग्य आगे बढ़ने से पहले मानवीय पुष्टि की आवश्यकता होती है।
|
|
260
|
+
|
|
261
|
+
### 4. SpecCrew अपडेट करें
|
|
262
|
+
|
|
263
|
+
जब SpecCrew का नया संस्करण जारी होता है, तो दो चरणों में अपडेट पूर्ण करें:
|
|
264
|
+
|
|
265
|
+
```bash
|
|
266
|
+
# चरण 1: वैश्विक CLI टूल को नवीनतम संस्करण पर अपडेट करें
|
|
267
|
+
npm install -g speccrew@latest
|
|
268
|
+
|
|
269
|
+
# चरण 2: अपनी परियोजना में Agents और Skills को नवीनतम संस्करण पर सिंक्रनाइज़ करें
|
|
270
|
+
cd /path/to/your-project
|
|
271
|
+
speccrew update
|
|
272
|
+
```
|
|
273
|
+
|
|
274
|
+
> **नोट**: `npm install -g speccrew@latest` CLI टूल को स्वयं अपडेट करता है, जबकि `speccrew update` आपकी परियोजना में Agent और Skill परिभाषा फ़ाइलों को अपडेट करता है। पूर्ण अपडेट के लिए दोनों चरण आवश्यक हैं।
|
|
275
|
+
|
|
276
|
+
### 5. अन्य CLI कमांड
|
|
277
|
+
|
|
278
|
+
```bash
|
|
279
|
+
speccrew list # इंस्टॉल किए गए agents और skills सूचीबद्ध करें
|
|
280
|
+
speccrew doctor # पर्यावरण और इंस्टॉलेशन स्थिति का निदान करें
|
|
281
|
+
speccrew update # agents और skills को नवीनतम संस्करण पर अपडेट करें
|
|
282
|
+
speccrew uninstall # SpecCrew अनइंस्टॉल करें (--all वर्कस्पेस भी हटाता है)
|
|
283
|
+
```
|
|
284
|
+
|
|
285
|
+
📖 **विस्तृत मार्गदर्शिका**: इंस्टॉलेशन के बाद, पूर्ण वर्कफ्लो और Agent संवाद मार्गदर्शिका के लिए [Getting Started Guide](docs/GETTING-STARTED.en.md) देखें।
|
|
286
|
+
|
|
287
|
+
---
|
|
288
|
+
|
|
289
|
+
## निर्देशिका संरचना
|
|
290
|
+
|
|
291
|
+
```
|
|
292
|
+
your-project/
|
|
293
|
+
├── .qoder/ # IDE कॉन्फ़िगरेशन निर्देशिका (Qoder उदाहरण)
|
|
294
|
+
│ ├── agents/ # 7 भूमिका Agents
|
|
295
|
+
│ │ ├── speccrew-team-leader.md # टीम लीडर: वैश्विक शेड्यूलिंग और पुनरावृत्ति प्रबंधन
|
|
296
|
+
│ │ ├── speccrew-product-manager.md # प्रोडक्ट मैनेजर: आवश्यकताओं का विश्लेषण और PRD
|
|
297
|
+
│ │ ├── speccrew-feature-designer.md # फीचर डिज़ाइनर: फीचर डिज़ाइन + API अनुबंध
|
|
298
|
+
│ │ ├── speccrew-system-designer.md # सिस्टम डिज़ाइनर: प्लेटफॉर्म के अनुसार सिस्टम डिज़ाइन
|
|
299
|
+
│ │ ├── speccrew-system-developer.md # सिस्टम डेवलपर: प्लेटफॉर्म के अनुसार समानांतर विकास
|
|
300
|
+
│ │ ├── speccrew-test-manager.md # टेस्ट मैनेजर: तीन-चरणीय परीक्षण समन्वय
|
|
301
|
+
│ │ └── speccrew-task-worker.md # टास्क वर्कर: समानांतर उप-कार्य निष्पादन
|
|
302
|
+
│ └── skills/ # 38 Skills (कार्यक्षमता के अनुसार समूहित)
|
|
303
|
+
│ ├── speccrew-pm-*/ # प्रोडक्ट मैनेजमेंट (आवश्यकताओं का विश्लेषण, मूल्यांकन)
|
|
304
|
+
│ ├── speccrew-fd-*/ # फीचर डिज़ाइन (फीचर डिज़ाइन, API अनुबंध)
|
|
305
|
+
│ ├── speccrew-sd-*/ # सिस्टम डिज़ाइन (फ्रंटएंड/बैकएंड/मोबाइल/डेस्कटॉप)
|
|
306
|
+
│ ├── speccrew-dev-*/ # विकास (फ्रंटएंड/बैकएंड/मोबाइल/डेस्कटॉप)
|
|
307
|
+
│ ├── speccrew-test-*/ # परीक्षण (केस डिज़ाइन/कोड जनरेशन/निष्पादन रिपोर्ट)
|
|
308
|
+
│ ├── speccrew-knowledge-bizs-*/ # बिज़नेस नॉलेज (API विश्लेषण/UI विश्लेषण/मॉड्यूल वर्गीकरण, आदि)
|
|
309
|
+
│ ├── speccrew-knowledge-techs-*/ # तकनीकी नॉलेज (टेक स्टैक जनरेशन/कन्वेंशन/इंडेक्स, आदि)
|
|
310
|
+
│ ├── speccrew-knowledge-graph-*/ # नॉलेज ग्राफ़ (पढ़ना/लिखना/क्वेरी)
|
|
311
|
+
│ └── speccrew-*/ # उपयोगिताएँ (निदान/टाइमस्टैम्प/वर्कफ्लो, आदि)
|
|
312
|
+
│
|
|
313
|
+
└── speccrew-workspace/ # वर्कस्पेस (प्रारंभिकरण के दौरान उत्पन्न)
|
|
314
|
+
├── docs/ # प्रबंधन दस्तावेज़
|
|
315
|
+
│ ├── configs/ # कॉन्फ़िगरेशन फ़ाइलें (प्लेटफॉर्म मैपिंग, टेक स्टैक मैपिंग, आदि)
|
|
316
|
+
│ ├── rules/ # नियम कॉन्फ़िगरेशन
|
|
317
|
+
│ └── solutions/ # समाधान दस्तावेज़
|
|
318
|
+
│
|
|
319
|
+
├── iterations/ # पुनरावृत्ति परियोजनाएँ (गतिशील रूप से उत्पन्न)
|
|
320
|
+
│ └── {number}-{type}-{name}/
|
|
321
|
+
│ ├── 00.docs/ # मूल आवश्यकताएँ
|
|
322
|
+
│ ├── 01.product-requirement/ # उत्पाद आवश्यकताएँ
|
|
323
|
+
│ ├── 02.feature-design/ # फीचर डिज़ाइन
|
|
324
|
+
│ ├── 03.system-design/ # सिस्टम डिज़ाइन
|
|
325
|
+
│ ├── 04.development/ # विकास चरण
|
|
326
|
+
│ ├── 05.deployment/ # परिनियोजन चरण
|
|
327
|
+
│ ├── 06.system-test/ # सिस्टम परीक्षण
|
|
328
|
+
│ └── 07.delivery/ # वितरण चरण
|
|
329
|
+
│
|
|
330
|
+
├── iteration-archives/ # पुनरावृत्ति अभिलेखागार
|
|
331
|
+
│
|
|
332
|
+
└── knowledges/ # नॉलेज बेस
|
|
333
|
+
├── base/ # बेस/मेटाडेटा
|
|
334
|
+
│ ├── diagnosis-reports/ # निदान रिपोर्ट
|
|
335
|
+
│ ├── sync-state/ # सिंक स्थिति
|
|
336
|
+
│ └── tech-debts/ # तकनीकी ऋण
|
|
337
|
+
├── bizs/ # व्यावसायिक ज्ञान
|
|
338
|
+
│ └── {platform-type}/{module-name}/
|
|
339
|
+
└── techs/ # तकनीकी ज्ञान
|
|
340
|
+
└── {platform-id}/
|
|
341
|
+
```
|
|
342
|
+
|
|
343
|
+
---
|
|
344
|
+
|
|
345
|
+
## कोर डिज़ाइन सिद्धांत
|
|
346
|
+
|
|
347
|
+
1. **स्पेसिफिकेशन-ड्रिवन**: पहले स्पेसिफिकेशन लिखें, फिर कोड को उनसे "बढ़ने" दें
|
|
348
|
+
2. **प्रगतिशील प्रकटीकरण**: Agents न्यूनतम प्रवेश बिंदुओं से शुरू होते हैं, मांग पर सूचना लोड करते हैं
|
|
349
|
+
3. **मानवीय पुष्टि**: प्रत्येक चरण का आउटपुट AI विचलन को रोकने के लिए मानवीय पुष्टि की आवश्यकता होती है
|
|
350
|
+
4. **संदर्भ पृथक्करण**: बड़े कार्य छोटे, संदर्भ-पृथक्कृत उप-कार्यों में विभाजित होते हैं
|
|
351
|
+
5. **सब-एजेंट सहयोग**: जटिल कार्य स्वचालित रूप से सब-Agents को डिस्पैच करते हैं ताकि एकल Agent संदर्भ विस्तार से बचा जा सके
|
|
352
|
+
6. **त्वरित पुनरावृत्ति**: प्रत्येक आवश्यकता एक स्वतंत्र परियोजना के रूप में त्वरित वितरण और सत्यापन के लिए
|
|
353
|
+
7. **ज्ञान साझाकरण**: सभी कॉन्फ़िगरेशन स्रोत कोड के साथ संस्करण-नियंत्रित होते हैं
|
|
354
|
+
|
|
355
|
+
---
|
|
356
|
+
|
|
357
|
+
## उपयोग के मामले
|
|
358
|
+
|
|
359
|
+
### ✅ अनुशंसित
|
|
360
|
+
- मध्यम से बड़ी परियोजनाएँ जिन्हें मानकीकृत वर्कफ्लो की आवश्यकता होती है
|
|
361
|
+
- टीम सहयोग सॉफ्टवेयर विकास
|
|
362
|
+
- विरासत परियोजना इंजीनियरिंग परिवर्तन
|
|
363
|
+
- दीर्घकालिक रखरखाव की आवश्यकता वाले उत्पाद
|
|
364
|
+
|
|
365
|
+
### ❌ उपयुक्त नहीं
|
|
366
|
+
- व्यक्तिगत त्वरित प्रोटोटाइप सत्यापन
|
|
367
|
+
- अत्यधिक अनिश्चित आवश्यकताओं वाली अन्वेषणात्मक परियोजनाएँ
|
|
368
|
+
- एक-बार स्क्रिप्ट या टूल
|
|
369
|
+
|
|
370
|
+
---
|
|
371
|
+
|
|
372
|
+
## अधिक जानकारी
|
|
373
|
+
|
|
374
|
+
- **Agent नॉलेज मैप**: [speccrew-workspace/docs/agent-knowledge-map.md](./speccrew-workspace/docs/agent-knowledge-map.md)
|
|
375
|
+
- **npm**: https://www.npmjs.com/package/speccrew
|
|
376
|
+
- **GitHub**: https://github.com/charlesmu99/speccrew
|
|
377
|
+
- **Gitee**: https://gitee.com/amutek/speccrew
|
|
378
|
+
- **Qoder IDE**: https://qoder.com/
|
|
379
|
+
|
|
380
|
+
---
|
|
381
|
+
|
|
382
|
+
> **SpecCrew डेवलपर्स को प्रतिस्थापित करने के बारे में नहीं है, बल्कि थकाऊ हिस्सों को स्वचालित करने के बारे में है ताकि टीमें अधिक मूल्यवान काम पर ध्यान केंद्रित कर सकें।**
|
|
383
|
+
|
|
384
|
+
---
|
package/README.ja.md
CHANGED
|
@@ -2,27 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
<p align="center">
|
|
4
4
|
<a href="./README.md">简体中文</a> |
|
|
5
|
-
<a href="./README.zh-TW.md">繁體中文</a> |
|
|
6
5
|
<a href="./README.en.md">English</a> |
|
|
7
|
-
<a href="./README.ko.md">한국어</a> |
|
|
8
|
-
<a href="./README.de.md">Deutsch</a> |
|
|
9
|
-
<a href="./README.es.md">Español</a> |
|
|
10
|
-
<a href="./README.fr.md">Français</a> |
|
|
11
|
-
<a href="./README.it.md">Italiano</a> |
|
|
12
|
-
<a href="./README.da.md">Dansk</a> |
|
|
13
6
|
<a href="./README.ja.md">日本語</a> |
|
|
14
|
-
<a href="./README.pl.md">Polski</a> |
|
|
15
7
|
<a href="./README.ru.md">Русский</a> |
|
|
16
|
-
<a href="./README.
|
|
17
|
-
<a href="./README.
|
|
18
|
-
<a href="./README.
|
|
8
|
+
<a href="./README.es.md">Español</a> |
|
|
9
|
+
<a href="./README.de.md">Deutsch</a> |
|
|
10
|
+
<a href="./README.fr.md">Français</a> |
|
|
19
11
|
<a href="./README.pt-BR.md">Português (Brasil)</a> |
|
|
20
|
-
<a href="./README.
|
|
21
|
-
<a href="./README.
|
|
22
|
-
<a href="./README.uk.md">Українська</a> |
|
|
23
|
-
<a href="./README.bn.md">বাংলা</a> |
|
|
24
|
-
<a href="./README.el.md">Ελληνικά</a> |
|
|
25
|
-
<a href="./README.vi.md">Tiếng Việt</a>
|
|
12
|
+
<a href="./README.ar.md">العربية</a> |
|
|
13
|
+
<a href="./README.hi.md">हिन्दी</a>
|
|
26
14
|
</p>
|
|
27
15
|
|
|
28
16
|
<p align="center">
|
package/README.md
CHANGED
|
@@ -2,27 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
<p align="center">
|
|
4
4
|
<a href="./README.md">简体中文</a> |
|
|
5
|
-
<a href="./README.zh-TW.md">繁體中文</a> |
|
|
6
5
|
<a href="./README.en.md">English</a> |
|
|
7
|
-
<a href="./README.ko.md">한국어</a> |
|
|
8
|
-
<a href="./README.de.md">Deutsch</a> |
|
|
9
|
-
<a href="./README.es.md">Español</a> |
|
|
10
|
-
<a href="./README.fr.md">Français</a> |
|
|
11
|
-
<a href="./README.it.md">Italiano</a> |
|
|
12
|
-
<a href="./README.da.md">Dansk</a> |
|
|
13
6
|
<a href="./README.ja.md">日本語</a> |
|
|
14
|
-
<a href="./README.pl.md">Polski</a> |
|
|
15
7
|
<a href="./README.ru.md">Русский</a> |
|
|
16
|
-
<a href="./README.
|
|
17
|
-
<a href="./README.
|
|
18
|
-
<a href="./README.
|
|
8
|
+
<a href="./README.es.md">Español</a> |
|
|
9
|
+
<a href="./README.de.md">Deutsch</a> |
|
|
10
|
+
<a href="./README.fr.md">Français</a> |
|
|
19
11
|
<a href="./README.pt-BR.md">Português (Brasil)</a> |
|
|
20
|
-
<a href="./README.
|
|
21
|
-
<a href="./README.
|
|
22
|
-
<a href="./README.uk.md">Українська</a> |
|
|
23
|
-
<a href="./README.bn.md">বাংলা</a> |
|
|
24
|
-
<a href="./README.el.md">Ελληνικά</a> |
|
|
25
|
-
<a href="./README.vi.md">Tiếng Việt</a>
|
|
12
|
+
<a href="./README.ar.md">العربية</a> |
|
|
13
|
+
<a href="./README.hi.md">हिन्दी</a>
|
|
26
14
|
</p>
|
|
27
15
|
|
|
28
16
|
<p align="center">
|
package/README.pt-BR.md
CHANGED
|
@@ -2,27 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
<p align="center">
|
|
4
4
|
<a href="./README.md">简体中文</a> |
|
|
5
|
-
<a href="./README.zh-TW.md">繁體中文</a> |
|
|
6
5
|
<a href="./README.en.md">English</a> |
|
|
7
|
-
<a href="./README.ko.md">한국어</a> |
|
|
8
|
-
<a href="./README.de.md">Deutsch</a> |
|
|
9
|
-
<a href="./README.es.md">Español</a> |
|
|
10
|
-
<a href="./README.fr.md">Français</a> |
|
|
11
|
-
<a href="./README.it.md">Italiano</a> |
|
|
12
|
-
<a href="./README.da.md">Dansk</a> |
|
|
13
6
|
<a href="./README.ja.md">日本語</a> |
|
|
14
|
-
<a href="./README.pl.md">Polski</a> |
|
|
15
7
|
<a href="./README.ru.md">Русский</a> |
|
|
16
|
-
<a href="./README.
|
|
17
|
-
<a href="./README.
|
|
18
|
-
<a href="./README.
|
|
8
|
+
<a href="./README.es.md">Español</a> |
|
|
9
|
+
<a href="./README.de.md">Deutsch</a> |
|
|
10
|
+
<a href="./README.fr.md">Français</a> |
|
|
19
11
|
<a href="./README.pt-BR.md">Português (Brasil)</a> |
|
|
20
|
-
<a href="./README.
|
|
21
|
-
<a href="./README.
|
|
22
|
-
<a href="./README.uk.md">Українська</a> |
|
|
23
|
-
<a href="./README.bn.md">বাংলা</a> |
|
|
24
|
-
<a href="./README.el.md">Ελληνικά</a> |
|
|
25
|
-
<a href="./README.vi.md">Tiếng Việt</a>
|
|
12
|
+
<a href="./README.ar.md">العربية</a> |
|
|
13
|
+
<a href="./README.hi.md">हिन्दी</a>
|
|
26
14
|
</p>
|
|
27
15
|
|
|
28
16
|
<p align="center">
|
package/README.ru.md
CHANGED
|
@@ -2,27 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
<p align="center">
|
|
4
4
|
<a href="./README.md">简体中文</a> |
|
|
5
|
-
<a href="./README.zh-TW.md">繁體中文</a> |
|
|
6
5
|
<a href="./README.en.md">English</a> |
|
|
7
|
-
<a href="./README.ko.md">한국어</a> |
|
|
8
|
-
<a href="./README.de.md">Deutsch</a> |
|
|
9
|
-
<a href="./README.es.md">Español</a> |
|
|
10
|
-
<a href="./README.fr.md">Français</a> |
|
|
11
|
-
<a href="./README.it.md">Italiano</a> |
|
|
12
|
-
<a href="./README.da.md">Dansk</a> |
|
|
13
6
|
<a href="./README.ja.md">日本語</a> |
|
|
14
|
-
<a href="./README.pl.md">Polski</a> |
|
|
15
7
|
<a href="./README.ru.md">Русский</a> |
|
|
16
|
-
<a href="./README.
|
|
17
|
-
<a href="./README.
|
|
18
|
-
<a href="./README.
|
|
8
|
+
<a href="./README.es.md">Español</a> |
|
|
9
|
+
<a href="./README.de.md">Deutsch</a> |
|
|
10
|
+
<a href="./README.fr.md">Français</a> |
|
|
19
11
|
<a href="./README.pt-BR.md">Português (Brasil)</a> |
|
|
20
|
-
<a href="./README.
|
|
21
|
-
<a href="./README.
|
|
22
|
-
<a href="./README.uk.md">Українська</a> |
|
|
23
|
-
<a href="./README.bn.md">বাংলা</a> |
|
|
24
|
-
<a href="./README.el.md">Ελληνικά</a> |
|
|
25
|
-
<a href="./README.vi.md">Tiếng Việt</a>
|
|
12
|
+
<a href="./README.ar.md">العربية</a> |
|
|
13
|
+
<a href="./README.hi.md">हिन्दी</a>
|
|
26
14
|
</p>
|
|
27
15
|
|
|
28
16
|
<p align="center">
|