claudeos-core 2.4.0 → 2.4.2
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 +74 -3
- package/README.de.md +253 -195
- package/README.es.md +242 -184
- package/README.fr.md +240 -182
- package/README.hi.md +248 -190
- package/README.ja.md +247 -189
- package/README.ko.md +220 -162
- package/README.md +163 -105
- package/README.ru.md +254 -196
- package/README.vi.md +250 -192
- package/README.zh-CN.md +252 -194
- package/package.json +1 -1
package/README.hi.md
CHANGED
|
@@ -7,44 +7,40 @@
|
|
|
7
7
|
[](LICENSE)
|
|
8
8
|
[](https://www.npmjs.com/package/claudeos-core)
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
**एक ऐसा CLI tool जो आपके actual source code को पढ़कर `CLAUDE.md` और `.claude/rules/` खुद generate कर देता है। Node.js scanner, 4-pass Claude pipeline और 5 validators मिलकर काम करते हैं। 12 stacks और 10 भाषाएँ support हैं, और जो path code में नहीं है वो output में भी नहीं आएगा।**
|
|
11
11
|
|
|
12
12
|
```bash
|
|
13
13
|
npx claudeos-core init
|
|
14
14
|
```
|
|
15
15
|
|
|
16
|
+
[**12 stacks**](#supported-stacks) पर सीधे चलता है (monorepos भी)। एक command, कोई config नहीं, बीच में रुक जाए तो वहीं से resume होता है, और बार-बार चलाने पर भी safe है।
|
|
17
|
+
|
|
16
18
|
[🇺🇸 English](README.md) · [🇰🇷 한국어](README.ko.md) · [🇨🇳 中文](README.zh-CN.md) · [🇯🇵 日本語](README.ja.md) · [🇪🇸 Español](README.es.md) · [🇻🇳 Tiếng Việt](README.vi.md) · [🇷🇺 Русский](README.ru.md) · [🇫🇷 Français](README.fr.md) · [🇩🇪 Deutsch](README.de.md)
|
|
17
19
|
|
|
18
20
|
---
|
|
19
21
|
|
|
20
22
|
## यह क्या है?
|
|
21
23
|
|
|
22
|
-
|
|
23
|
-
- आपकी टीम MyBatis का उपयोग करती है, लेकिन Claude JPA कोड उत्पन्न करता है।
|
|
24
|
-
- आपका wrapper `ApiResponse.ok()` है, लेकिन Claude `ResponseEntity.success()` लिखता है।
|
|
25
|
-
- आपके packages `controller/order/` हैं, लेकिन Claude `order/controller/` बनाता है।
|
|
24
|
+
Claude Code हर नए session पर framework के generic defaults पर वापस चला जाता है। आपकी team **MyBatis** use करती है, फिर भी Claude JPA का code लिख देता है। आपका response wrapper `ApiResponse.ok()` है, फिर भी Claude `ResponseEntity.success()` लिखता है। Packages आपने layer-first design किए हैं, मगर Claude domain-first structure बना देता है। हर repo के लिए `.claude/rules/` खुद से लिखकर रखना इसका एक हल है, लेकिन जैसे ही code evolve होता है आपके rules drift करने लगते हैं।
|
|
26
25
|
|
|
27
|
-
|
|
26
|
+
**ClaudeOS-Core यही काम deterministically करता है, सीधे आपके actual source code से।** पहले एक Node.js scanner project को पढ़ता है, यानी stack, ORM, package layout और file paths सब निकाल लेता है। उसके बाद 4-pass Claude pipeline पूरा set generate करती है। `CLAUDE.md`, auto-load होने वाले `.claude/rules/`, standards, skills — ये सब एक explicit path allowlist के अंदर ही बनते हैं, और LLM इस दायरे से बाहर नहीं जा सकता। आखिर में 5 validators output को ship होने से पहले verify कर लेते हैं।
|
|
28
27
|
|
|
29
|
-
|
|
28
|
+
नतीजा यह है कि same input के लिए हमेशा byte-identical output मिलता है, चाहे 10 भाषाओं में से कोई भी चुनी जाए, और कभी invented path नहीं आएगा। (विस्तार से नीचे [क्या इसे अलग बनाता है](#क्या-इसे-अलग-बनाता-है) में।)
|
|
30
29
|
|
|
31
|
-
|
|
32
|
-
पहले: आप → Claude Code → "सामान्य रूप से अच्छा" कोड → मैन्युअल फ़िक्सिंग
|
|
33
|
-
बाद में: आप → Claude Code → आपके प्रोजेक्ट से मेल खाता कोड → सीधे उपयोग
|
|
34
|
-
```
|
|
30
|
+
लंबे चलने वाले projects के लिए एक अलग [Memory Layer](#memory-layer-वैकल्पिक-दीर्घकालिक-प्रोजेक्ट्स-के-लिए) भी seed होता है।
|
|
35
31
|
|
|
36
32
|
---
|
|
37
33
|
|
|
38
|
-
##
|
|
34
|
+
## वास्तविक प्रोजेक्ट पर देखें
|
|
39
35
|
|
|
40
|
-
[`spring-boot-realworld-example-app`](https://github.com/gothinkster/spring-boot-realworld-example-app) पर
|
|
36
|
+
[`spring-boot-realworld-example-app`](https://github.com/gothinkster/spring-boot-realworld-example-app) पर इसे चलाकर देखा गया। Java 11, Spring Boot 2.6, MyBatis, SQLite, कुल 187 source files. Output: **75 generated files**, total time **53 मिनट**, और सभी validators ✅।
|
|
41
37
|
|
|
42
38
|
<p align="center">
|
|
43
39
|
<img src="docs/assets/spring-boot-realworld-demo.gif" alt="ClaudeOS-Core init running on spring-boot-realworld-example-app — stack detection, 4-pass pipeline, validators, completion summary" width="769">
|
|
44
40
|
</p>
|
|
45
41
|
|
|
46
42
|
<details>
|
|
47
|
-
<summary><strong
|
|
43
|
+
<summary><strong>Terminal output (text version, search और copy के लिए)</strong></summary>
|
|
48
44
|
|
|
49
45
|
```text
|
|
50
46
|
╔════════════════════════════════════════════════════╗
|
|
@@ -79,18 +75,18 @@ npx claudeos-core init
|
|
|
79
75
|
[██████████░░░░░░░░░░] 50% (2/4)
|
|
80
76
|
|
|
81
77
|
[6] Pass 3 — Generating all files...
|
|
82
|
-
|
|
78
|
+
Pass 3 split mode (3a → 3b → 3c → 3d-aux)
|
|
83
79
|
✅ 3a complete (2m 57s) — pass3a-facts.md (187-path allowlist)
|
|
84
80
|
✅ 3b complete (18m 49s) — CLAUDE.md + 19 standards + 20 rules
|
|
85
81
|
✅ 3c complete (12m 35s) — 13 skills + 9 guides
|
|
86
82
|
✅ 3d-aux complete (3m 18s) — database/ + mcp-guide/
|
|
87
|
-
|
|
83
|
+
Pass 3 split complete: 4/4 stages successful
|
|
88
84
|
[███████████████░░░░░] 75% (3/4)
|
|
89
85
|
|
|
90
86
|
[7] Pass 4 — Memory scaffolding...
|
|
91
|
-
|
|
87
|
+
Pass 4 staged-rules: 6 rule files moved to .claude/rules/
|
|
92
88
|
✅ Pass 4 complete (5m)
|
|
93
|
-
|
|
89
|
+
Gap-fill: all 12 expected files already present
|
|
94
90
|
[████████████████████] 100% (4/4)
|
|
95
91
|
|
|
96
92
|
╔═══════════════════════════════════════╗
|
|
@@ -119,37 +115,45 @@ npx claudeos-core init
|
|
|
119
115
|
</details>
|
|
120
116
|
|
|
121
117
|
<details>
|
|
122
|
-
<summary><strong
|
|
118
|
+
<summary><strong>असली <code>CLAUDE.md</code> में आखिर क्या लिखा जाता है (वास्तविक excerpt — Section 1 + 2)</strong></summary>
|
|
123
119
|
|
|
124
120
|
```markdown
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
121
|
+
# CLAUDE.md — spring-boot-realworld-example-app
|
|
122
|
+
|
|
123
|
+
> Reference implementation of the RealWorld backend specification on
|
|
124
|
+
> Java 11 + Spring Boot 2.6, exposing both REST and GraphQL endpoints
|
|
125
|
+
> over a hexagonal MyBatis persistence layer.
|
|
126
|
+
|
|
127
|
+
#### 1. Role Definition
|
|
128
|
+
|
|
129
|
+
As the senior developer for this repository, you are responsible for
|
|
130
|
+
writing, modifying, and reviewing code. Responses must be written in English.
|
|
131
|
+
A Java Spring Boot REST + GraphQL API server organized around a hexagonal
|
|
132
|
+
(ports & adapters) architecture, with a CQRS-lite read/write split inside
|
|
133
|
+
an XML-driven MyBatis persistence layer and JWT-based authentication.
|
|
134
|
+
|
|
135
|
+
#### 2. Project Overview
|
|
136
|
+
|
|
137
|
+
| Item | Value |
|
|
138
|
+
|---|---|
|
|
139
|
+
| Language | Java 11 |
|
|
140
|
+
| Framework | Spring Boot 2.6.3 |
|
|
141
|
+
| Build Tool | Gradle (Groovy DSL) |
|
|
142
|
+
| Persistence | MyBatis 3 via `mybatis-spring-boot-starter:2.2.2` (no JPA) |
|
|
143
|
+
| Database | SQLite (`org.xerial:sqlite-jdbc:3.36.0.3`) — `dev.db` (default), `:memory:` (test) |
|
|
144
|
+
| Migration | Flyway — single baseline `V1__create_tables.sql` |
|
|
145
|
+
| API Style | REST (`io.spring.api.*`) + GraphQL via Netflix DGS `:4.9.21` |
|
|
146
|
+
| Authentication | JWT HS512 (`jjwt-api:0.11.2`) + Spring Security `PasswordEncoder` |
|
|
147
|
+
| Server Port | 8080 (default) |
|
|
148
|
+
| Test Stack | JUnit Jupiter 5, Mockito, AssertJ, rest-assured, spring-mock-mvc |
|
|
145
149
|
```
|
|
146
150
|
|
|
147
|
-
|
|
151
|
+
ऊपर table में जो भी value है — exact dependency coordinates, `dev.db` filename, `V1__create_tables.sql` migration नाम, "no JPA" तक — वो सब Claude के file लिखने से पहले scanner ने `build.gradle`, `application.properties` और source tree से सीधे निकाला है। एक भी value guess नहीं की गई।
|
|
148
152
|
|
|
149
153
|
</details>
|
|
150
154
|
|
|
151
155
|
<details>
|
|
152
|
-
<summary><strong
|
|
156
|
+
<summary><strong>एक असली auto-loaded rule (<code>.claude/rules/10.backend/01.controller-rules.md</code>)</strong></summary>
|
|
153
157
|
|
|
154
158
|
````markdown
|
|
155
159
|
---
|
|
@@ -157,298 +161,352 @@ paths:
|
|
|
157
161
|
- "**/*"
|
|
158
162
|
---
|
|
159
163
|
|
|
160
|
-
|
|
164
|
+
#### Controller Rules
|
|
165
|
+
|
|
166
|
+
##### REST (`io.spring.api.*`)
|
|
161
167
|
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
-
|
|
168
|
-
|
|
168
|
+
- Controllers are the SOLE response wrapper for HTTP — no aggregator/facade above them.
|
|
169
|
+
Return `ResponseEntity<?>` or a body Spring serializes via `JacksonCustomizations`.
|
|
170
|
+
- Each controller method calls exactly ONE application service method. Multi-source
|
|
171
|
+
composition lives in the application service.
|
|
172
|
+
- Controllers MUST NOT import `io.spring.infrastructure.*`. No direct `@Mapper` access.
|
|
173
|
+
- Validate command-param arguments with `@Valid`. Custom JSR-303 constraints live under
|
|
174
|
+
`io.spring.application.{aggregate}.*`.
|
|
175
|
+
- Resolve the current user via `@AuthenticationPrincipal User`.
|
|
176
|
+
- Let exceptions propagate to `io.spring.api.exception.CustomizeExceptionHandler`
|
|
177
|
+
(`@ControllerAdvice`). Do NOT `try/catch` business exceptions inside the controller.
|
|
169
178
|
|
|
170
|
-
|
|
171
|
-
- `<if>` predicates MUST guard both null and empty:
|
|
172
|
-
`<if test="X != null and X != ''">`. Empty-only is the existing HIGH-severity bug pattern.
|
|
173
|
-
- Prefer `LIMIT n OFFSET m` over MySQL-style `LIMIT m, n`.
|
|
179
|
+
##### GraphQL (`io.spring.graphql.*`)
|
|
174
180
|
|
|
175
|
-
|
|
181
|
+
- DGS components (`@DgsComponent`) are the sole GraphQL response wrappers.
|
|
182
|
+
Use `@DgsQuery` / `@DgsData` / `@DgsMutation`.
|
|
183
|
+
- Resolve the current user via `io.spring.graphql.SecurityUtil.getCurrentUser()`.
|
|
184
|
+
|
|
185
|
+
##### Examples
|
|
176
186
|
|
|
177
187
|
✅ Correct:
|
|
178
|
-
```
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
188
|
+
```java
|
|
189
|
+
@PostMapping
|
|
190
|
+
public ResponseEntity<?> createArticle(@AuthenticationPrincipal User user,
|
|
191
|
+
@Valid @RequestBody NewArticleParam param) {
|
|
192
|
+
Article article = articleCommandService.createArticle(param, user);
|
|
193
|
+
ArticleData data = articleQueryService.findById(article.getId(), user)
|
|
194
|
+
.orElseThrow(ResourceNotFoundException::new);
|
|
195
|
+
return ResponseEntity.ok(Map.of("article", data));
|
|
196
|
+
}
|
|
187
197
|
```
|
|
188
198
|
|
|
189
199
|
❌ Incorrect:
|
|
190
|
-
```
|
|
191
|
-
|
|
200
|
+
```java
|
|
201
|
+
@PostMapping
|
|
202
|
+
public ResponseEntity<?> create(@RequestBody NewArticleParam p) {
|
|
203
|
+
try {
|
|
204
|
+
articleCommandService.createArticle(p, currentUser);
|
|
205
|
+
} catch (Exception e) { // NO — let CustomizeExceptionHandler handle it
|
|
206
|
+
return ResponseEntity.status(500).body(e.getMessage()); // NO — leaks raw message
|
|
207
|
+
}
|
|
208
|
+
return ResponseEntity.ok().build();
|
|
209
|
+
}
|
|
192
210
|
```
|
|
193
211
|
````
|
|
194
212
|
|
|
195
|
-
`paths: ["**/*"]` glob का
|
|
213
|
+
`paths: ["**/*"]` glob का मतलब है कि project में जब भी कोई file edit हो, Claude Code इस rule को अपने आप load कर लेता है। Rule में जितने भी class names, package paths और exception handlers हैं, वो सब scanned source से सीधे आए हैं। यानी project का असली `CustomizeExceptionHandler` और `JacksonCustomizations` जैसा है, वैसा ही यहाँ झलकता है।
|
|
196
214
|
|
|
197
215
|
</details>
|
|
198
216
|
|
|
199
217
|
<details>
|
|
200
|
-
<summary><strong
|
|
218
|
+
<summary><strong>Auto-generated <code>decision-log.md</code> seed (वास्तविक excerpt)</strong></summary>
|
|
201
219
|
|
|
202
220
|
```markdown
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
- **Context:**
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
`
|
|
209
|
-
|
|
210
|
-
- **Options considered:**
|
|
211
|
-
|
|
212
|
-
- **Decision:**
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
- **Consequences:**
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
221
|
+
#### 2026-04-26 — Hexagonal ports & adapters with MyBatis-only persistence
|
|
222
|
+
|
|
223
|
+
- **Context:** `io.spring.core.*` exposes `*Repository` ports (e.g.,
|
|
224
|
+
`io.spring.core.article.ArticleRepository`) implemented by
|
|
225
|
+
`io.spring.infrastructure.repository.MyBatis*Repository` adapters.
|
|
226
|
+
The domain layer has zero `org.springframework.*` /
|
|
227
|
+
`org.apache.ibatis.*` / `io.spring.infrastructure.*` imports.
|
|
228
|
+
- **Options considered:** JPA/Hibernate, Spring Data, MyBatis-Plus
|
|
229
|
+
`BaseMapper`. None adopted.
|
|
230
|
+
- **Decision:** MyBatis 3 (`mybatis-spring-boot-starter:2.2.2`) with
|
|
231
|
+
hand-written XML statements under `src/main/resources/mapper/*.xml`.
|
|
232
|
+
Hexagonal port/adapter wiring keeps the domain framework-free.
|
|
233
|
+
- **Consequences:** Every SQL lives in XML — `@Select`/`@Insert`/`@Update`/`@Delete`
|
|
234
|
+
annotations are forbidden. New aggregates require both a
|
|
235
|
+
`core.{aggregate}.{Aggregate}Repository` port AND a
|
|
236
|
+
`MyBatis{Aggregate}Repository` adapter; introducing a JPA repository would
|
|
237
|
+
split the persistence model.
|
|
219
238
|
```
|
|
220
239
|
|
|
221
|
-
Pass 4 `pass2-merged.json` से
|
|
240
|
+
Pass 4 `pass2-merged.json` से निकले architectural decisions को `decision-log.md` में पहले से भर देता है। इसका फायदा यह है कि अगले sessions में codebase जैसा दिख रहा है उसका *क्या* ही नहीं, *क्यों* भी याद रहता है। हर option ("JPA/Hibernate", "MyBatis-Plus") और हर consequence असली `build.gradle` dependency block पर ही टिका हुआ है।
|
|
222
241
|
|
|
223
242
|
</details>
|
|
224
243
|
|
|
225
244
|
---
|
|
226
245
|
|
|
227
|
-
##
|
|
246
|
+
## परीक्षण किया गया
|
|
247
|
+
|
|
248
|
+
ClaudeOS-Core असली OSS projects पर लिए गए reference benchmarks के साथ ship होता है। अगर आपने इसे किसी public repo पर चलाया है, तो [issue खोल दीजिए](https://github.com/claudeos-core/claudeos-core/issues), हम इसे table में जोड़ देंगे।
|
|
249
|
+
|
|
250
|
+
| Project | Stack | Scanned → Generated | Status |
|
|
251
|
+
|---|---|---|---|
|
|
252
|
+
| [`spring-boot-realworld-example-app`](https://github.com/gothinkster/spring-boot-realworld-example-app) | Java 11 · Spring Boot 2.6 · MyBatis · SQLite | 187 → 75 files | ✅ सभी 5 validators pass |
|
|
253
|
+
|
|
254
|
+
---
|
|
255
|
+
|
|
256
|
+
## त्वरित शुरुआत
|
|
228
257
|
|
|
229
|
-
|
|
258
|
+
**Prerequisites:** Node.js 18+, और [Claude Code](https://docs.anthropic.com/en/docs/claude-code) installed व authenticated।
|
|
230
259
|
|
|
231
260
|
```bash
|
|
232
|
-
# 1. अपने
|
|
261
|
+
# 1. अपने project root पर जाएँ
|
|
233
262
|
cd my-spring-boot-project
|
|
234
263
|
|
|
235
|
-
# 2. init चलाएँ (यह
|
|
264
|
+
# 2. init चलाएँ (यह code analyze करता है और Claude से rules लिखवाता है)
|
|
236
265
|
npx claudeos-core init
|
|
237
266
|
|
|
238
|
-
# 3. हो गया। Claude Code
|
|
267
|
+
# 3. हो गया। Claude Code खोलिए और काम शुरू कीजिए — rules पहले से loaded हैं।
|
|
239
268
|
```
|
|
240
269
|
|
|
241
|
-
`init`
|
|
270
|
+
`init` खत्म होने के बाद structure कुछ ऐसा दिखेगा।
|
|
242
271
|
|
|
243
272
|
```
|
|
244
273
|
your-project/
|
|
245
274
|
├── .claude/
|
|
246
|
-
│ └── rules/ ← Claude Code
|
|
275
|
+
│ └── rules/ ← Claude Code इन्हें auto-load करता है
|
|
247
276
|
│ ├── 00.core/ (सामान्य rules — naming, architecture)
|
|
248
|
-
│ ├── 10.backend/ (backend stack rules,
|
|
249
|
-
│ ├── 20.frontend/ (frontend stack rules,
|
|
250
|
-
│ ├── 30.security-db/ (security
|
|
277
|
+
│ ├── 10.backend/ (backend stack rules, अगर हैं तो)
|
|
278
|
+
│ ├── 20.frontend/ (frontend stack rules, अगर हैं तो)
|
|
279
|
+
│ ├── 30.security-db/ (security और DB conventions)
|
|
251
280
|
│ ├── 40.infra/ (env, logging, CI/CD)
|
|
252
|
-
│ ├── 50.sync/ (doc-sync
|
|
253
|
-
│ ├── 60.memory/ (memory rules — Pass 4, rules
|
|
281
|
+
│ ├── 50.sync/ (doc-sync reminders — सिर्फ rules में)
|
|
282
|
+
│ ├── 60.memory/ (memory rules — Pass 4, सिर्फ rules में)
|
|
254
283
|
│ ├── 70.domains/{type}/ (per-domain rules, type = backend|frontend)
|
|
255
|
-
│ └── 80.verification/ (testing strategy
|
|
284
|
+
│ └── 80.verification/ (testing strategy और build verification reminders)
|
|
256
285
|
├── claudeos-core/
|
|
257
|
-
│ ├── standard/ ← Reference docs (
|
|
286
|
+
│ ├── standard/ ← Reference docs (वही category structure)
|
|
258
287
|
│ │ ├── 00.core/ (project overview, architecture, naming)
|
|
259
|
-
│ │ ├── 10.backend/ (backend reference — backend stack
|
|
260
|
-
│ │ ├── 20.frontend/ (frontend reference — frontend stack
|
|
261
|
-
│ │ ├── 30.security-db/ (security
|
|
288
|
+
│ │ ├── 10.backend/ (backend reference — backend stack हो तो)
|
|
289
|
+
│ │ ├── 20.frontend/ (frontend reference — frontend stack हो तो)
|
|
290
|
+
│ │ ├── 30.security-db/ (security और DB reference)
|
|
262
291
|
│ │ ├── 40.infra/ (env / logging / CI-CD reference)
|
|
263
292
|
│ │ ├── 70.domains/{type}/ (per-domain reference)
|
|
264
|
-
│ │ ├── 80.verification/ (build / startup / testing reference — standard
|
|
265
|
-
│ │ └── 90.optional/ (stack-specific extras — standard
|
|
266
|
-
│ ├── skills/ (
|
|
267
|
-
│ ├── guide/ (
|
|
268
|
-
│ ├── database/ (schema overview, migration
|
|
269
|
-
│ ├── mcp-guide/ (MCP integration
|
|
293
|
+
│ │ ├── 80.verification/ (build / startup / testing reference — सिर्फ standard में)
|
|
294
|
+
│ │ └── 90.optional/ (stack-specific extras — सिर्फ standard में)
|
|
295
|
+
│ ├── skills/ (reusable patterns जिन्हें Claude apply कर सकता है)
|
|
296
|
+
│ ├── guide/ (आम tasks के how-to guides)
|
|
297
|
+
│ ├── database/ (schema overview, migration guide)
|
|
298
|
+
│ ├── mcp-guide/ (MCP integration notes)
|
|
270
299
|
│ └── memory/ (decision log, failure patterns, compaction)
|
|
271
|
-
└── CLAUDE.md (
|
|
300
|
+
└── CLAUDE.md (Claude सबसे पहले इसी index को पढ़ता है)
|
|
272
301
|
```
|
|
273
302
|
|
|
274
|
-
`rules/` और `standard/`
|
|
303
|
+
जिन categories का number prefix `rules/` और `standard/` दोनों में same है, वो एक ही area की हैं (जैसे `10.backend` rules ↔ `10.backend` standards)। सिर्फ rules में रहने वाली categories हैं `50.sync` (doc sync reminders) और `60.memory` (Pass 4 memory)। सिर्फ standard में रहने वाली एक है `90.optional` (बिना enforcement के stack-specific extras)। बाकी सारे prefixes (`00`, `10`, `20`, `30`, `40`, `70`, `80`) दोनों जगह मौजूद हैं। अब Claude Code आपके project को जानता है।
|
|
275
304
|
|
|
276
305
|
---
|
|
277
306
|
|
|
278
307
|
## यह किसके लिए है?
|
|
279
308
|
|
|
280
|
-
| आप हैं... | यह
|
|
309
|
+
| आप कौन हैं... | यह जो pain हटाता है |
|
|
281
310
|
|---|---|
|
|
282
|
-
| **Claude Code
|
|
283
|
-
|
|
|
284
|
-
|
|
|
311
|
+
| **Solo dev जो Claude Code से नया project शुरू कर रहा है** | "हर session में Claude को conventions फिर से सिखाओ" — यह झंझट खत्म। `CLAUDE.md` और 8-category `.claude/rules/` एक ही pass में बन जाते हैं। |
|
|
312
|
+
| **Team lead जो कई repos में shared standards maintain करता है** | जब लोग packages rename करते हैं, ORMs बदलते हैं, या response wrappers switch करते हैं, तब `.claude/rules/` drift करने लगते हैं। ClaudeOS-Core इन्हें deterministically फिर से sync कर देता है। Same input = byte-identical output, कोई diff noise नहीं। |
|
|
313
|
+
| **पहले से Claude Code use कर रहे हैं लेकिन generated code ठीक करते-करते थक चुके हैं** | गलत response wrapper, गलत package layout, MyBatis project में JPA code, centralized middleware के बावजूद बिखरा हुआ `try/catch` — यह सब scanner आपके असली conventions निकालकर रोकता है, और हर Claude pass एक explicit path allowlist पर ही चलता है। |
|
|
314
|
+
| **नए repo पर onboarding कर रहे हैं** (existing project, team join कर रहे हैं) | Repo पर `init` चलाइए, एक living architecture map मिल जाता है — CLAUDE.md में stack table, ✅/❌ examples के साथ per-layer rules, और बड़े decisions के पीछे "why" से seed किया हुआ decision log (JPA vs MyBatis, REST vs GraphQL, वगैरह)। 5 files पढ़ना 5,000 source files पढ़ने से कहीं तेज़ है। |
|
|
315
|
+
| **हिन्दी / कोरियाई / जापानी / चीनी समेत 7 अन्य भाषाओं में काम कर रहे हैं** | अधिकांश Claude Code rule generators सिर्फ English में लिखते हैं। ClaudeOS-Core पूरा set **10 भाषाओं** (`en/ko/ja/zh-CN/es/vi/hi/ru/fr/de`) में लिखता है, और structural validation **byte-identical** रहता है — output language कोई भी हो, `claude-md-validator` का verdict same रहता है। |
|
|
316
|
+
| **Monorepo पर काम कर रहे हैं** (Turborepo, pnpm/yarn workspaces, Lerna) | एक ही run में backend और frontend domains अलग-अलग prompts से analyze होते हैं। `apps/*/` और `packages/*/` खुद-ब-खुद walk हो जाते हैं, और per-stack rules `70.domains/{type}/` के नीचे emit होते हैं। |
|
|
317
|
+
| **OSS में contribute कर रहे हैं या experiment कर रहे हैं** | Output gitignore-friendly है। `claudeos-core/` आपकी local working dir है, और ship सिर्फ `CLAUDE.md` + `.claude/` को करना है। बीच में रुक जाए तो resume-safe, और re-runs पर idempotent — आपके manual edits बिना `--force` के बच जाते हैं। |
|
|
285
318
|
|
|
286
|
-
|
|
319
|
+
**यह आपके लिए सही नहीं है अगर:** आपको एक one-size-fits-all preset bundle चाहिए जो scan step के बिना day one से काम करे (कौन सा tool कहाँ fit होता है, यह [docs/hi/comparison.md](docs/hi/comparison.md) में है), या आपका project अभी [supported stacks](#supported-stacks) में से किसी में नहीं आता, या फिर आपको सिर्फ एक `CLAUDE.md` चाहिए। उस case में built-in `claude /init` ही काफी है, अलग tool install करने की जरूरत नहीं।
|
|
287
320
|
|
|
288
321
|
---
|
|
289
322
|
|
|
290
323
|
## यह कैसे काम करता है?
|
|
291
324
|
|
|
292
|
-
ClaudeOS-Core
|
|
325
|
+
ClaudeOS-Core typical Claude Code workflow को उल्टा करके चलाता है।
|
|
293
326
|
|
|
294
327
|
```
|
|
295
|
-
सामान्य:
|
|
296
|
-
यह:
|
|
328
|
+
सामान्य: आप project describe करते हैं → Claude आपके stack का अंदाज़ा लगाता है → Claude docs लिखता है
|
|
329
|
+
यह: Code आपके stack को पढ़ता है → Code confirmed facts Claude को देता है → Claude उन्हीं facts से docs लिखता है
|
|
297
330
|
```
|
|
298
331
|
|
|
299
|
-
|
|
332
|
+
Pipeline **तीन stages** में चलती है, और LLM call के दोनों तरफ code रहता है।
|
|
333
|
+
|
|
334
|
+
**1. Step A — Scanner (deterministic, कोई LLM नहीं)।** एक Node.js scanner project root को walk करता है, `package.json` / `build.gradle` / `pom.xml` / `pyproject.toml` पढ़ता है, `.env*` files parse करता है (`PASSWORD/SECRET/TOKEN/JWT_SECRET/...` जैसी sensitive variables को redact करते हुए), architecture pattern classify करता है (Java के 5 patterns A/B/C/D/E, Kotlin CQRS / multi-module, Next.js App vs Pages Router, FSD, components-pattern), domains discover करता है, और मौजूदा हर source file path का explicit allowlist बनाता है। इसका output है `project-analysis.json`, जो आगे की हर चीज़ के लिए single source of truth बन जाता है।
|
|
335
|
+
|
|
336
|
+
**2. Step B — 4-Pass Claude pipeline (Step A के facts के दायरे में)।**
|
|
337
|
+
- **Pass 1** हर domain group के representative files पढ़ता है और प्रति domain करीब 50–100 conventions निकालता है — response wrappers, logging libraries, error handling, naming conventions, test patterns वगैरह। यह domain group पर एक बार चलता है (`max 4 domains, 40 files per group`), इसलिए context कभी overflow नहीं होता।
|
|
338
|
+
- **Pass 2** सारे per-domain analysis को project-wide picture में merge कर देता है, और जहाँ disagreement हो वहाँ dominant convention चुन लेता है।
|
|
339
|
+
- **Pass 3** `CLAUDE.md`, `.claude/rules/`, `claudeos-core/standard/`, skills और guides लिखता है। यह stages में split होता है (`3a` facts → `3b-core/3b-N` rules+standards → `3c-core/3c-N` skills+guides → `3d-aux` database+mcp-guide), जिससे `pass2-merged.json` बड़ा होने पर भी हर stage का prompt LLM के context window में आ जाता है। 16 या उससे ज्यादा domains वाले projects के लिए 3b/3c को ≤15-domain batches में sub-divide कर दिया जाता है।
|
|
340
|
+
- **Pass 4** L4 memory layer को seed करता है (`decision-log.md`, `failure-patterns.md`, `compaction.md`, `auto-rule-update.md`) और कुछ universal scaffold rules जोड़ता है। Pass 4 को **`CLAUDE.md` modify करने की इजाज़त नहीं है** — Pass 3 का Section 8 ही authoritative है।
|
|
341
|
+
|
|
342
|
+
**3. Step C — Verification (deterministic, कोई LLM नहीं)।** पाँच validators output check करते हैं:
|
|
343
|
+
- `claude-md-validator` — `CLAUDE.md` पर 25 structural checks (8 sections, H3/H4 counts, memory file uniqueness, T1 canonical heading invariant)। यह language-invariant है, यानी `--lang` कोई भी हो, verdict same रहता है।
|
|
344
|
+
- `content-validator` — 10 content checks, जिनमें path-claim verification (`STALE_PATH` invented `src/...` references पकड़ता है) और MANIFEST drift detection शामिल हैं।
|
|
345
|
+
- `pass-json-validator` — Pass 1/2/3/4 की JSON well-formedness और stack-aware section count check।
|
|
346
|
+
- `plan-validator` — plan ↔ disk consistency (legacy, v2.1.0 के बाद से ज़्यादातर no-op)।
|
|
347
|
+
- `sync-checker` — 7 tracked dirs पर disk ↔ `sync-map.json` registration consistency।
|
|
348
|
+
|
|
349
|
+
तीन severity tiers (`fail` / `warn` / `advisory`) रखे गए हैं, ताकि जिन LLM hallucinations को user खुद ठीक कर सकता है, उनकी वजह से CI deadlock न हो जाए।
|
|
300
350
|
|
|
301
|
-
|
|
351
|
+
पूरी चीज़ एक invariant पर टिकी है: **Claude वही paths cite कर सकता है जो आपके code में असल में मौजूद हैं**, क्योंकि Step A उसे एक finite allowlist देता है। फिर भी अगर LLM कुछ invent करने की कोशिश करे (कुछ खास seeds पर rare है, मगर होता है), तो Step C docs ship होने से पहले उसे पकड़ लेता है।
|
|
352
|
+
|
|
353
|
+
हर pass के internals, marker-based resume, Claude Code के `.claude/` sensitive-path block का staged-rules workaround और stack detection की अंदरूनी logic के लिए [docs/hi/architecture.md](docs/hi/architecture.md) देखें।
|
|
302
354
|
|
|
303
355
|
---
|
|
304
356
|
|
|
305
357
|
## Supported Stacks
|
|
306
358
|
|
|
307
|
-
12 stacks,
|
|
359
|
+
12 stacks, project files से auto-detected।
|
|
308
360
|
|
|
309
361
|
**Backend:** Java/Spring Boot · Kotlin/Spring Boot · Node/Express · Node/Fastify · Node/NestJS · Python/Django · Python/FastAPI · Python/Flask
|
|
310
362
|
|
|
311
363
|
**Frontend:** Node/Next.js · Node/Vite · Angular · Vue/Nuxt
|
|
312
364
|
|
|
313
|
-
|
|
365
|
+
Multi-stack projects (जैसे Spring Boot backend + Next.js frontend) भी out of the box चलते हैं।
|
|
314
366
|
|
|
315
|
-
|
|
367
|
+
Detection rules और हर scanner क्या निकालता है, यह [docs/hi/stacks.md](docs/hi/stacks.md) में है।
|
|
316
368
|
|
|
317
369
|
---
|
|
318
370
|
|
|
319
|
-
## दैनिक
|
|
371
|
+
## दैनिक वर्कफ़्लो
|
|
320
372
|
|
|
321
|
-
तीन commands ~95%
|
|
373
|
+
ये तीन commands ~95% use cases cover कर लेते हैं।
|
|
322
374
|
|
|
323
375
|
```bash
|
|
324
|
-
#
|
|
376
|
+
# Project पर पहली बार
|
|
325
377
|
npx claudeos-core init
|
|
326
378
|
|
|
327
|
-
#
|
|
379
|
+
# जब standards या rules manually edit किए हों
|
|
328
380
|
npx claudeos-core lint
|
|
329
381
|
|
|
330
|
-
#
|
|
382
|
+
# Health check (commit से पहले या CI में)
|
|
331
383
|
npx claudeos-core health
|
|
332
384
|
```
|
|
333
385
|
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
```bash
|
|
337
|
-
# failure-patterns लॉग का compaction (समय-समय पर चलाएँ)
|
|
338
|
-
npx claudeos-core memory compact
|
|
339
|
-
|
|
340
|
-
# बार-बार होने वाले failure patterns को proposed rules में बढ़ाएँ
|
|
341
|
-
npx claudeos-core memory propose-rules
|
|
342
|
-
```
|
|
343
|
-
|
|
344
|
-
प्रत्येक command के पूर्ण options के लिए, [docs/hi/commands.md](docs/hi/commands.md) देखें।
|
|
386
|
+
हर command के पूरे options [docs/hi/commands.md](docs/hi/commands.md) में हैं। Memory layer commands (`memory compact`, `memory propose-rules`) नीचे [Memory Layer](#memory-layer-वैकल्पिक-दीर्घकालिक-प्रोजेक्ट्स-के-लिए) section में documented हैं।
|
|
345
387
|
|
|
346
388
|
---
|
|
347
389
|
|
|
348
|
-
##
|
|
390
|
+
## क्या इसे अलग बनाता है
|
|
349
391
|
|
|
350
|
-
|
|
392
|
+
ज़्यादातर Claude Code documentation tools description से generate करते हैं — आप tool को बताते हैं, tool Claude को बताता है। ClaudeOS-Core इसके बजाय आपके actual source code से generate करता है। Tool खुद code पढ़ता है, फिर Claude को बताता है कि क्या confirmed है, और Claude सिर्फ उतना ही लिखता है।
|
|
351
393
|
|
|
352
|
-
तीन ठोस
|
|
394
|
+
इसके तीन ठोस नतीजे हैं।
|
|
353
395
|
|
|
354
|
-
1. **Deterministic stack detection.**
|
|
355
|
-
2. **No invented paths.** Pass 3 prompt हर
|
|
356
|
-
3. **Multi-stack aware.**
|
|
396
|
+
1. **Deterministic stack detection.** Same project + same code = same output। "इस बार Claude थोड़ा अलग roll हो गया" वाली बात नहीं होती।
|
|
397
|
+
2. **No invented paths.** Pass 3 prompt में हर allowed source path explicitly listed होता है, इसलिए Claude ऐसे paths cite ही नहीं कर सकता जो मौजूद नहीं हैं।
|
|
398
|
+
3. **Multi-stack aware.** एक ही run में backend और frontend domains अलग-अलग analysis prompts use करते हैं।
|
|
357
399
|
|
|
358
|
-
|
|
400
|
+
दूसरे tools के साथ side-by-side scope comparison के लिए [docs/hi/comparison.md](docs/hi/comparison.md) देखें। यह तुलना **हर tool क्या करता है** के बारे में है, **कौन सा बेहतर है** के बारे में नहीं — असल में ज़्यादातर एक-दूसरे के complementary हैं।
|
|
359
401
|
|
|
360
402
|
---
|
|
361
403
|
|
|
362
|
-
##
|
|
404
|
+
## सत्यापन (जनरेशन के बाद)
|
|
363
405
|
|
|
364
|
-
Claude
|
|
406
|
+
Claude docs लिख चुकने के बाद उन्हें code verify करता है। पाँच अलग-अलग validators।
|
|
365
407
|
|
|
366
|
-
| Validator |
|
|
408
|
+
| Validator | क्या check करता है | किसके through चलता है |
|
|
367
409
|
|---|---|---|
|
|
368
|
-
| `claude-md-validator` | CLAUDE.md
|
|
369
|
-
| `content-validator` | Path
|
|
370
|
-
| `pass-json-validator` | Pass 1 / 2 / 3 / 4
|
|
371
|
-
| `plan-validator` |
|
|
372
|
-
| `sync-checker` | Disk
|
|
410
|
+
| `claude-md-validator` | CLAUDE.md structural invariants (8 sections, language-invariant) | `claudeos-core lint` |
|
|
411
|
+
| `content-validator` | Path claims सच में मौजूद हैं या नहीं; manifest consistency | `health` (advisory) |
|
|
412
|
+
| `pass-json-validator` | Pass 1 / 2 / 3 / 4 outputs well-formed JSON हैं या नहीं | `health` (warn) |
|
|
413
|
+
| `plan-validator` | Saved plan disk से match करता है या नहीं | `health` (fail-on-error) |
|
|
414
|
+
| `sync-checker` | Disk files `sync-map.json` registrations से match करते हैं (orphaned/unregistered detection) | `health` (fail-on-error) |
|
|
373
415
|
|
|
374
|
-
`health-checker`
|
|
416
|
+
`health-checker` इन चारों runtime validators को three-tier severity (fail / warn / advisory) के साथ orchestrate करता है और CI के लिए सही exit code लौटाता है। `claude-md-validator` अलग से `lint` command से चलता है, क्योंकि structural drift सिर्फ soft warning नहीं, re-init का signal है। जब मन हो, चला लीजिए।
|
|
375
417
|
|
|
376
418
|
```bash
|
|
377
419
|
npx claudeos-core health
|
|
378
420
|
```
|
|
379
421
|
|
|
380
|
-
|
|
422
|
+
हर validator के individual checks [docs/hi/verification.md](docs/hi/verification.md) में detail से दिए हैं।
|
|
381
423
|
|
|
382
424
|
---
|
|
383
425
|
|
|
384
|
-
## Memory Layer (वैकल्पिक,
|
|
426
|
+
## Memory Layer (वैकल्पिक, दीर्घकालिक प्रोजेक्ट्स के लिए)
|
|
385
427
|
|
|
386
|
-
|
|
428
|
+
ऊपर वाली scaffolding pipeline के अलावा, ClaudeOS-Core उन projects के लिए एक `claudeos-core/memory/` folder भी seed करता है जिनका context एक session से ज़्यादा खिंचता है। यह वैकल्पिक है — अगर आपको सिर्फ `CLAUDE.md` और rules चाहिए तो इसे ignore कर सकते हैं।
|
|
387
429
|
|
|
388
|
-
|
|
389
|
-
- `failure-patterns.md` — frequency/importance स्कोर के साथ बार-बार होने वाली त्रुटियाँ
|
|
390
|
-
- `compaction.md` — समय के साथ memory को कैसे auto-compact किया जाता है
|
|
391
|
-
- `auto-rule-update.md` — पैटर्न जो नए rules बनने चाहिए
|
|
430
|
+
चार files हैं, और सब Pass 4 लिखता है।
|
|
392
431
|
|
|
393
|
-
|
|
432
|
+
- `decision-log.md` — append-only "हमने X की जगह Y क्यों चुना", `pass2-merged.json` से seed होता है
|
|
433
|
+
- `failure-patterns.md` — frequency / importance scores के साथ बार-बार आने वाली errors
|
|
434
|
+
- `compaction.md` — समय के साथ memory कैसे auto-compact होती है
|
|
435
|
+
- `auto-rule-update.md` — वो patterns जिन्हें नए rules बनना चाहिए
|
|
394
436
|
|
|
395
|
-
|
|
437
|
+
इस layer को समय के साथ maintain करने के लिए दो commands हैं।
|
|
438
|
+
|
|
439
|
+
```bash
|
|
440
|
+
# Failure-patterns log compact करें (समय-समय पर चलाएँ)
|
|
441
|
+
npx claudeos-core memory compact
|
|
442
|
+
|
|
443
|
+
# बार-बार आने वाले failure patterns को proposed rules में promote करें
|
|
444
|
+
npx claudeos-core memory propose-rules
|
|
445
|
+
```
|
|
446
|
+
|
|
447
|
+
Memory model और lifecycle की पूरी बात [docs/hi/memory-layer.md](docs/hi/memory-layer.md) में है।
|
|
396
448
|
|
|
397
449
|
---
|
|
398
450
|
|
|
399
451
|
## FAQ
|
|
400
452
|
|
|
401
|
-
**Q: क्या
|
|
402
|
-
A: नहीं। ClaudeOS-Core आपके
|
|
453
|
+
**Q: क्या Claude API key चाहिए?**
|
|
454
|
+
A: नहीं। ClaudeOS-Core आपके पहले से installed Claude Code को ही use करता है और आपकी machine पर `claude -p` को prompts pipe करता है। कोई extra account नहीं चाहिए।
|
|
403
455
|
|
|
404
|
-
**Q: क्या यह मेरी मौजूदा CLAUDE.md या `.claude/rules/`
|
|
405
|
-
A: नए
|
|
456
|
+
**Q: क्या यह मेरी मौजूदा CLAUDE.md या `.claude/rules/` overwrite कर देगा?**
|
|
457
|
+
A: नए project पर पहली run में यह इन्हें create करता है। `--force` के बिना दोबारा चलाने पर आपके edits बच जाते हैं, क्योंकि पिछली run के pass markers detect होकर वो passes skip हो जाते हैं। `--force` के साथ चलाने पर सब wipe होकर regenerate होता है, यानी edits भी चले जाते हैं — `--force` का मतलब ही यही है। ज़्यादा detail [docs/hi/safety.md](docs/hi/safety.md) में।
|
|
406
458
|
|
|
407
|
-
**Q: मेरा stack
|
|
408
|
-
A: हाँ। नए
|
|
459
|
+
**Q: मेरा stack supported नहीं है, क्या जोड़ सकते हैं?**
|
|
460
|
+
A: हाँ। नए stack के लिए करीब 3 prompt templates और एक domain scanner चाहिए। 8-step guide के लिए [CONTRIBUTING.md](CONTRIBUTING.md) देखें।
|
|
409
461
|
|
|
410
|
-
**Q:
|
|
411
|
-
A: `npx claudeos-core init --lang ko
|
|
462
|
+
**Q: कोरियाई (या किसी और भाषा) में docs कैसे generate करूँ?**
|
|
463
|
+
A: `npx claudeos-core init --lang ko`। 10 भाषाएँ supported हैं: en, ko, ja, zh-CN, es, vi, hi, ru, fr, de।
|
|
412
464
|
|
|
413
465
|
**Q: क्या यह monorepos के साथ काम करता है?**
|
|
414
|
-
A:
|
|
466
|
+
A: हाँ। Turborepo (`turbo.json`), pnpm workspaces (`pnpm-workspace.yaml`), Lerna (`lerna.json`) और npm/yarn workspaces (`package.json#workspaces`) — इन्हें stack-detector पहचान लेता है, और हर app के लिए अलग analysis होता है। बाकी monorepo layouts (जैसे NX) explicitly detect नहीं होते, मगर generic `apps/*/` और `packages/*/` patterns per-stack scanners फिर भी pick कर लेते हैं।
|
|
467
|
+
|
|
468
|
+
**Q: अगर Claude Code ऐसे rules generate कर दे जिनसे मैं असहमत हूँ?**
|
|
469
|
+
A: सीधे edit कर दीजिए। उसके बाद `npx claudeos-core lint` चलाकर check कर लीजिए कि CLAUDE.md अभी भी structurally valid है या नहीं। आगे की `init` runs पर (बिना `--force` के) आपके edits बच जाते हैं, क्योंकि resume mechanism उन passes को skip करता है जिनके markers मौजूद हैं।
|
|
470
|
+
|
|
471
|
+
**Q: Bugs कहाँ report करूँ?**
|
|
472
|
+
A: [GitHub Issues](https://github.com/claudeos-core/claudeos-core/issues) पर। Security issues के लिए [SECURITY.md](SECURITY.md) देखें।
|
|
473
|
+
|
|
474
|
+
---
|
|
415
475
|
|
|
416
|
-
|
|
417
|
-
A: उन्हें सीधे संपादित करें। फिर यह पुष्टि करने के लिए `npx claudeos-core lint` चलाएँ कि CLAUDE.md अभी भी संरचनात्मक रूप से वैध है। आपके edits बाद की `init` runs पर सुरक्षित रहते हैं (`--force` के बिना) — resume तंत्र उन passes को छोड़ देता है जिनके markers मौजूद हैं।
|
|
476
|
+
## यदि इसने आपका समय बचाया
|
|
418
477
|
|
|
419
|
-
|
|
420
|
-
A: [GitHub Issues](https://github.com/claudeos-core/claudeos-core/issues)। सुरक्षा मुद्दों के लिए [SECURITY.md](SECURITY.md) देखें।
|
|
478
|
+
GitHub पर एक ⭐ project को visible रखता है और दूसरों को भी इसे ढूँढने में मदद करता है। Issues, PRs और stack template contributions — सबका स्वागत है। Detail के लिए [CONTRIBUTING.md](CONTRIBUTING.md) देखें।
|
|
421
479
|
|
|
422
480
|
---
|
|
423
481
|
|
|
424
|
-
##
|
|
482
|
+
## दस्तावेज़ीकरण
|
|
425
483
|
|
|
426
484
|
| विषय | यह पढ़ें |
|
|
427
485
|
|---|---|
|
|
428
|
-
| 4-pass
|
|
429
|
-
| Architecture के
|
|
430
|
-
| Stack detection —
|
|
486
|
+
| 4-pass pipeline कैसे काम करती है (diagram से ज़्यादा गहराई से) | [docs/hi/architecture.md](docs/hi/architecture.md) |
|
|
487
|
+
| Architecture के visual diagrams (Mermaid) | [docs/hi/diagrams.md](docs/hi/diagrams.md) |
|
|
488
|
+
| Stack detection — हर scanner क्या देखता है | [docs/hi/stacks.md](docs/hi/stacks.md) |
|
|
431
489
|
| Memory layer — decision logs और failure patterns | [docs/hi/memory-layer.md](docs/hi/memory-layer.md) |
|
|
432
|
-
|
|
|
490
|
+
| पाँचों validators detail में | [docs/hi/verification.md](docs/hi/verification.md) |
|
|
433
491
|
| हर CLI command और option | [docs/hi/commands.md](docs/hi/commands.md) |
|
|
434
|
-
|
|
|
492
|
+
| Manual installation (बिना `npx` के) | [docs/hi/manual-installation.md](docs/hi/manual-installation.md) |
|
|
435
493
|
| Scanner overrides — `.claudeos-scan.json` | [docs/hi/advanced-config.md](docs/hi/advanced-config.md) |
|
|
436
|
-
|
|
|
437
|
-
|
|
|
438
|
-
|
|
|
494
|
+
| Safety: re-init पर क्या-क्या preserved रहता है | [docs/hi/safety.md](docs/hi/safety.md) |
|
|
495
|
+
| Similar tools के साथ तुलना (scope, quality नहीं) | [docs/hi/comparison.md](docs/hi/comparison.md) |
|
|
496
|
+
| Errors और recovery | [docs/hi/troubleshooting.md](docs/hi/troubleshooting.md) |
|
|
439
497
|
|
|
440
498
|
---
|
|
441
499
|
|
|
442
500
|
## योगदान
|
|
443
501
|
|
|
444
|
-
|
|
502
|
+
Contributions का स्वागत है — stack support जोड़ना, prompts सुधारना, bugs ठीक करना, सब कुछ। Detail के लिए [CONTRIBUTING.md](CONTRIBUTING.md) देखें।
|
|
445
503
|
|
|
446
|
-
Code of Conduct और
|
|
504
|
+
Code of Conduct और security policy [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md) और [SECURITY.md](SECURITY.md) में हैं।
|
|
447
505
|
|
|
448
|
-
##
|
|
506
|
+
## लाइसेंस
|
|
449
507
|
|
|
450
|
-
[ISC](LICENSE)
|
|
508
|
+
[ISC License](LICENSE)। Commercial use सहित किसी भी काम के लिए free है। © 2025–2026 ClaudeOS-Core contributors।
|
|
451
509
|
|
|
452
510
|
---
|
|
453
511
|
|
|
454
|
-
<sub>[
|
|
512
|
+
<sub>[claudeos-core](https://github.com/claudeos-core) team द्वारा maintained। Issues और PRs <https://github.com/claudeos-core/claudeos-core> पर भेजें।</sub>
|