claudeos-core 1.0.7 → 1.2.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.
Potentially problematic release.
This version of claudeos-core might be problematic. Click here for more details.
- package/CHANGELOG.md +84 -1
- package/CONTRIBUTING.md +15 -4
- package/README.de.md +187 -11
- package/README.es.md +187 -11
- package/README.fr.md +187 -11
- package/README.hi.md +187 -11
- package/README.ja.md +186 -10
- package/README.ko.md +331 -364
- package/README.md +200 -11
- package/README.ru.md +187 -11
- package/README.vi.md +188 -12
- package/README.zh-CN.md +186 -10
- package/bin/cli.js +183 -61
- package/bootstrap.sh +128 -21
- package/content-validator/index.js +131 -60
- package/health-checker/index.js +29 -23
- package/import-linter/index.js +14 -8
- package/manifest-generator/index.js +26 -20
- package/package.json +84 -75
- package/pass-json-validator/index.js +92 -70
- package/pass-prompts/templates/common/header.md +4 -4
- package/pass-prompts/templates/common/lang-instructions.json +27 -0
- package/pass-prompts/templates/common/pass3-footer.md +2 -3
- package/pass-prompts/templates/java-spring/pass1.md +84 -81
- package/pass-prompts/templates/java-spring/pass2.md +66 -66
- package/pass-prompts/templates/java-spring/pass3.md +60 -60
- package/pass-prompts/templates/kotlin-spring/pass1.md +172 -0
- package/pass-prompts/templates/kotlin-spring/pass2.md +109 -0
- package/pass-prompts/templates/kotlin-spring/pass3.md +98 -0
- package/pass-prompts/templates/node-express/pass1.md +73 -73
- package/pass-prompts/templates/node-express/pass2.md +66 -66
- package/pass-prompts/templates/node-express/pass3.md +53 -53
- package/pass-prompts/templates/node-nextjs/pass1.md +68 -68
- package/pass-prompts/templates/node-nextjs/pass2.md +61 -61
- package/pass-prompts/templates/node-nextjs/pass3.md +48 -48
- package/pass-prompts/templates/python-django/pass1.md +78 -78
- package/pass-prompts/templates/python-django/pass2.md +69 -69
- package/pass-prompts/templates/python-django/pass3.md +45 -45
- package/pass-prompts/templates/python-fastapi/pass1.md +76 -76
- package/pass-prompts/templates/python-fastapi/pass2.md +67 -67
- package/pass-prompts/templates/python-fastapi/pass3.md +45 -45
- package/plan-installer/index.js +623 -97
- package/plan-validator/index.js +54 -23
- package/sync-checker/index.js +25 -14
|
@@ -1,80 +1,80 @@
|
|
|
1
|
-
claudeos-core/generated/
|
|
2
|
-
|
|
1
|
+
Read all pass1-*.json files from the claudeos-core/generated/ directory and
|
|
2
|
+
merge all domain analysis results into a single unified report.
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
Merge items:
|
|
5
5
|
|
|
6
|
-
1.
|
|
7
|
-
- Controller
|
|
8
|
-
- Service
|
|
9
|
-
-
|
|
10
|
-
- DTO/Entity
|
|
11
|
-
-
|
|
12
|
-
- Interceptor/Filter/AOP
|
|
6
|
+
1. Universal Patterns (shared by 100% of all domains)
|
|
7
|
+
- Controller style (annotations, URL patterns, response format)
|
|
8
|
+
- Service transaction strategy (propagation, readOnly)
|
|
9
|
+
- Data access patterns (ORM approach, Repository/Mapper structure)
|
|
10
|
+
- DTO/Entity rules (inheritance, Lombok, naming)
|
|
11
|
+
- Error handling patterns (exception hierarchy, @ControllerAdvice)
|
|
12
|
+
- Interceptor/Filter/AOP patterns
|
|
13
13
|
|
|
14
|
-
2.
|
|
15
|
-
-
|
|
14
|
+
2. Majority Patterns (shared by 50%+ of domains)
|
|
15
|
+
- Specify which domains share them
|
|
16
16
|
|
|
17
|
-
3.
|
|
18
|
-
-
|
|
19
|
-
- Excel:
|
|
20
|
-
-
|
|
21
|
-
-
|
|
22
|
-
-
|
|
23
|
-
-
|
|
24
|
-
-
|
|
17
|
+
3. Domain-Specific Patterns (unique to a single domain)
|
|
18
|
+
- File upload: which domain
|
|
19
|
+
- Excel: which domain
|
|
20
|
+
- Bulk processing: which domain
|
|
21
|
+
- State transitions: which domain
|
|
22
|
+
- Scheduling: which domain
|
|
23
|
+
- External integrations: which domain
|
|
24
|
+
- Messaging: which domain
|
|
25
25
|
|
|
26
|
-
4.
|
|
27
|
-
-
|
|
28
|
-
-
|
|
26
|
+
4. Anti-pattern Summary
|
|
27
|
+
- Consolidate all inconsistencies found across domains
|
|
28
|
+
- Classify by severity (CRITICAL / HIGH / MEDIUM / LOW)
|
|
29
29
|
|
|
30
|
-
5.
|
|
31
|
-
-
|
|
32
|
-
-
|
|
33
|
-
- DTO/Entity
|
|
34
|
-
- URL
|
|
35
|
-
- DB
|
|
30
|
+
5. Naming Conventions Summary
|
|
31
|
+
- Package structure conventions
|
|
32
|
+
- Class/method naming conventions
|
|
33
|
+
- DTO/Entity naming conventions
|
|
34
|
+
- URL pattern conventions
|
|
35
|
+
- DB table/column naming
|
|
36
36
|
|
|
37
|
-
6.
|
|
38
|
-
- Base
|
|
39
|
-
-
|
|
40
|
-
-
|
|
37
|
+
6. Common Classes/Utilities List
|
|
38
|
+
- Base class fields (must not be redeclared)
|
|
39
|
+
- Shared utility classes
|
|
40
|
+
- Constants/Enum management approach
|
|
41
41
|
|
|
42
|
-
7.
|
|
43
|
-
-
|
|
44
|
-
-
|
|
45
|
-
- CORS
|
|
46
|
-
-
|
|
42
|
+
7. Security/Authentication Patterns
|
|
43
|
+
- Authentication method (JWT, Session, OAuth2)
|
|
44
|
+
- Authorization check method (@PreAuthorize, SecurityConfig)
|
|
45
|
+
- CORS configuration
|
|
46
|
+
- Per-environment security settings
|
|
47
47
|
|
|
48
|
-
8.
|
|
49
|
-
-
|
|
50
|
-
-
|
|
51
|
-
-
|
|
52
|
-
- PK
|
|
53
|
-
-
|
|
48
|
+
8. Database Patterns
|
|
49
|
+
- Table naming conventions
|
|
50
|
+
- Migration strategy (Flyway, Liquibase, manual)
|
|
51
|
+
- Audit column specification
|
|
52
|
+
- PK generation strategy
|
|
53
|
+
- Index/constraint conventions
|
|
54
54
|
|
|
55
|
-
9.
|
|
56
|
-
-
|
|
57
|
-
-
|
|
58
|
-
-
|
|
59
|
-
-
|
|
60
|
-
-
|
|
55
|
+
9. Testing Strategy Summary
|
|
56
|
+
- Test coverage level
|
|
57
|
+
- Test classification system (unit/integration/slice)
|
|
58
|
+
- Mocking strategy
|
|
59
|
+
- Test naming conventions
|
|
60
|
+
- Test data management
|
|
61
61
|
|
|
62
|
-
10.
|
|
63
|
-
-
|
|
64
|
-
-
|
|
65
|
-
-
|
|
66
|
-
-
|
|
62
|
+
10. Logging/Monitoring Strategy
|
|
63
|
+
- Logger standard
|
|
64
|
+
- Log level policy
|
|
65
|
+
- Structured logging approach
|
|
66
|
+
- Request/response logging
|
|
67
67
|
|
|
68
|
-
11.
|
|
69
|
-
-
|
|
70
|
-
-
|
|
71
|
-
-
|
|
72
|
-
-
|
|
68
|
+
11. Performance Patterns
|
|
69
|
+
- Caching strategy
|
|
70
|
+
- Query optimization status
|
|
71
|
+
- Async processing status
|
|
72
|
+
- Connection pool configuration
|
|
73
73
|
|
|
74
|
-
12.
|
|
75
|
-
- Lint/Format
|
|
76
|
-
-
|
|
77
|
-
- CI
|
|
74
|
+
12. Code Quality Tools
|
|
75
|
+
- Lint/Format tools (Checkstyle, SpotBugs, PMD, Spotless)
|
|
76
|
+
- Code review rules
|
|
77
|
+
- CI integration status
|
|
78
78
|
|
|
79
|
-
|
|
80
|
-
|
|
79
|
+
Do not generate code. Merge only.
|
|
80
|
+
Save results to claudeos-core/generated/pass2-merged.json.
|
|
@@ -1,61 +1,61 @@
|
|
|
1
|
-
claudeos-core/generated/project-analysis.json
|
|
2
|
-
claudeos-core/generated/pass2-merged.json
|
|
3
|
-
|
|
1
|
+
Read claudeos-core/generated/project-analysis.json and
|
|
2
|
+
claudeos-core/generated/pass2-merged.json, then
|
|
3
|
+
generate all ClaudeOS-Core files based on the analysis results.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
Do not read the original source code again. Reference only the analysis results.
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
Generation targets:
|
|
8
8
|
|
|
9
|
-
1. CLAUDE.md (
|
|
10
|
-
- Role
|
|
9
|
+
1. CLAUDE.md (project root)
|
|
10
|
+
- Role definition (based on detected stack)
|
|
11
11
|
- Build & Run Commands (Gradle/Maven)
|
|
12
|
-
-
|
|
13
|
-
- DB
|
|
14
|
-
- Standard/Skills/Guide
|
|
12
|
+
- Core architecture diagram
|
|
13
|
+
- DB table naming conventions
|
|
14
|
+
- Standard/Skills/Guide reference table
|
|
15
15
|
|
|
16
|
-
2. claudeos-core/standard/ (
|
|
17
|
-
- 00.core/01.project-overview.md —
|
|
18
|
-
- 00.core/02.architecture.md —
|
|
19
|
-
- 00.core/03.naming-conventions.md —
|
|
20
|
-
- 10.backend-api/01.controller-patterns.md — Controller
|
|
21
|
-
- 10.backend-api/02.service-patterns.md —
|
|
22
|
-
- 10.backend-api/03.data-access-patterns.md — ORM
|
|
23
|
-
- 10.backend-api/04.response-exception.md —
|
|
24
|
-
- 10.backend-api/05.dto-validation.md — DTO
|
|
25
|
-
- 10.backend-api/06.interceptor-filter-aop.md —
|
|
26
|
-
- 20.frontend-ui/* — (
|
|
27
|
-
- 30.security-db/01.security-auth.md —
|
|
28
|
-
- 30.security-db/02.database-schema.md — DDL,
|
|
29
|
-
- 30.security-db/03.common-utilities.md —
|
|
30
|
-
- 40.infra/01.environment-config.md —
|
|
31
|
-
- 40.infra/02.logging-monitoring.md —
|
|
32
|
-
- 40.infra/03.cicd-deployment.md — CI/CD
|
|
33
|
-
- 50.verification/01.development-verification.md —
|
|
34
|
-
- 50.verification/02.testing-strategy.md —
|
|
16
|
+
2. claudeos-core/standard/ (active domains only)
|
|
17
|
+
- 00.core/01.project-overview.md — Stack, modules, API server info
|
|
18
|
+
- 00.core/02.architecture.md — Layer structure, request flow, package structure
|
|
19
|
+
- 00.core/03.naming-conventions.md — Class/DTO/Entity/table naming conventions
|
|
20
|
+
- 10.backend-api/01.controller-patterns.md — Controller writing rules + examples
|
|
21
|
+
- 10.backend-api/02.service-patterns.md — Transactions, DI, business logic patterns
|
|
22
|
+
- 10.backend-api/03.data-access-patterns.md — ORM patterns (tailored to detected MyBatis/JPA/QueryDSL)
|
|
23
|
+
- 10.backend-api/04.response-exception.md — Response/error handling patterns
|
|
24
|
+
- 10.backend-api/05.dto-validation.md — DTO writing rules, Validation
|
|
25
|
+
- 10.backend-api/06.interceptor-filter-aop.md — Middleware, AOP, logging interceptors
|
|
26
|
+
- 20.frontend-ui/* — (generate only if frontend detected)
|
|
27
|
+
- 30.security-db/01.security-auth.md — Authentication, authorization, CORS
|
|
28
|
+
- 30.security-db/02.database-schema.md — DDL, migrations, audit columns
|
|
29
|
+
- 30.security-db/03.common-utilities.md — Common utilities, constants, Base classes
|
|
30
|
+
- 40.infra/01.environment-config.md — Profiles, environment variables, configuration management
|
|
31
|
+
- 40.infra/02.logging-monitoring.md — Logging standards, monitoring, alerts
|
|
32
|
+
- 40.infra/03.cicd-deployment.md — CI/CD pipeline, deployment strategy
|
|
33
|
+
- 50.verification/01.development-verification.md — Build, startup, API testing
|
|
34
|
+
- 50.verification/02.testing-strategy.md — Testing strategy, mocking, coverage
|
|
35
35
|
|
|
36
|
-
|
|
37
|
-
-
|
|
38
|
-
-
|
|
39
|
-
-
|
|
36
|
+
Each file MUST include:
|
|
37
|
+
- Correct examples (✅ code blocks)
|
|
38
|
+
- Incorrect examples (❌ code blocks)
|
|
39
|
+
- Key rules summary table
|
|
40
40
|
|
|
41
|
-
3. .claude/rules/ (
|
|
42
|
-
-
|
|
43
|
-
-
|
|
44
|
-
-
|
|
45
|
-
-
|
|
41
|
+
3. .claude/rules/ (active domains only)
|
|
42
|
+
- Each rule file must include paths: frontmatter (matching this project's package paths)
|
|
43
|
+
- Write 5-10 lines of key rules directly
|
|
44
|
+
- Reference detailed standards via @import (path: @../../claudeos-core/standard/...)
|
|
45
|
+
- Reference skills orchestrator via @import
|
|
46
46
|
|
|
47
|
-
4. .claude/rules/50.sync/ (
|
|
48
|
-
- 01.standard-sync.md —
|
|
49
|
-
- 02.rules-sync.md —
|
|
50
|
-
- 03.skills-sync.md —
|
|
47
|
+
4. .claude/rules/50.sync/ (3 sync rules)
|
|
48
|
+
- 01.standard-sync.md — Auto-update plan/10 when standard is modified
|
|
49
|
+
- 02.rules-sync.md — Auto-update plan/20 when rules are modified
|
|
50
|
+
- 03.skills-sync.md — Auto-update plan/30 when skills are modified
|
|
51
51
|
|
|
52
|
-
5. claudeos-core/skills/ (
|
|
53
|
-
- 10.backend-crud/01.scaffold-crud-feature.md (
|
|
54
|
-
- 10.backend-crud/scaffold-crud-feature/01~08 (
|
|
55
|
-
- 20.frontend-page/* (
|
|
56
|
-
- 00.shared/MANIFEST.md (
|
|
52
|
+
5. claudeos-core/skills/ (active domains only)
|
|
53
|
+
- 10.backend-crud/01.scaffold-crud-feature.md (orchestrator)
|
|
54
|
+
- 10.backend-crud/scaffold-crud-feature/01~08 (sub-skills: controller, service, repository, entity, dto, migration, test, index)
|
|
55
|
+
- 20.frontend-page/* (only if frontend detected)
|
|
56
|
+
- 00.shared/MANIFEST.md (skill registry)
|
|
57
57
|
|
|
58
|
-
6. claudeos-core/guide/ (
|
|
58
|
+
6. claudeos-core/guide/ (all)
|
|
59
59
|
- 01.onboarding/01.overview.md
|
|
60
60
|
- 01.onboarding/02.quickstart.md
|
|
61
61
|
- 01.onboarding/03.glossary.md
|
|
@@ -66,17 +66,17 @@ claudeos-core/generated/pass2-merged.json을 읽고,
|
|
|
66
66
|
- 04.architecture/01.file-map.md
|
|
67
67
|
- 04.architecture/02.pros-and-cons.md
|
|
68
68
|
|
|
69
|
-
7. claudeos-core/plan/ (
|
|
70
|
-
- 10.standard-master.md — CLAUDE.md + standard/
|
|
71
|
-
- 20.rules-master.md — rules/ (sync
|
|
72
|
-
- 21.sync-rules-master.md — sync
|
|
73
|
-
- 30.backend-skills-master.md — backend skills
|
|
74
|
-
- 31.frontend-skills-master.md — frontend skills
|
|
75
|
-
- 40.guides-master.md — guide/
|
|
69
|
+
7. claudeos-core/plan/ (Master Plan — insert full file content in <file> blocks)
|
|
70
|
+
- 10.standard-master.md — CLAUDE.md + all standard/ files as <file> blocks
|
|
71
|
+
- 20.rules-master.md — All rules/ (except sync) as <file> blocks
|
|
72
|
+
- 21.sync-rules-master.md — All sync rules (code block format)
|
|
73
|
+
- 30.backend-skills-master.md — All backend skills as <file> blocks
|
|
74
|
+
- 31.frontend-skills-master.md — All frontend skills as <file> blocks (if frontend detected)
|
|
75
|
+
- 40.guides-master.md — All guide/ files as <file> blocks
|
|
76
76
|
|
|
77
|
-
8. claudeos-core/database/ (DB
|
|
78
|
-
- 01.schema-overview.md —
|
|
79
|
-
- 02.migration-guide.md —
|
|
77
|
+
8. claudeos-core/database/ (DB documentation)
|
|
78
|
+
- 01.schema-overview.md — Table list, ER diagram description
|
|
79
|
+
- 02.migration-guide.md — Migration procedure, rollback methods
|
|
80
80
|
|
|
81
|
-
9. claudeos-core/mcp-guide/ (MCP
|
|
82
|
-
- 01.mcp-overview.md —
|
|
81
|
+
9. claudeos-core/mcp-guide/ (MCP server integration guide)
|
|
82
|
+
- 01.mcp-overview.md — List of MCP servers in use, integration methods
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
Read claudeos-core/generated/project-analysis.json and
|
|
2
|
+
perform a deep analysis of the following domains only: {{DOMAIN_GROUP}}
|
|
3
|
+
|
|
4
|
+
For each domain, select one representative file per layer, read its code, and analyze it.
|
|
5
|
+
Prioritize files with the richest patterns.
|
|
6
|
+
For multi-module domains, analyze files from EACH module (command, query, bff) separately.
|
|
7
|
+
|
|
8
|
+
Analysis items (per domain):
|
|
9
|
+
|
|
10
|
+
1. Controller/Router Patterns
|
|
11
|
+
- Class annotations (@RestController, @Controller, inheritance, RequestMapping)
|
|
12
|
+
- Kotlin-specific syntax (suspend functions, coroutines in controllers)
|
|
13
|
+
- Method mappings (@GetMapping, @PostMapping, @PutMapping, @DeleteMapping, @PatchMapping)
|
|
14
|
+
- URL patterns (RESTful conventions, naming, versioning)
|
|
15
|
+
- Parameter binding (@RequestBody, @PathVariable, @RequestParam, @ModelAttribute)
|
|
16
|
+
- Response format (ResponseEntity, custom response wrappers, sealed class responses)
|
|
17
|
+
- Error handling (try-catch, @ExceptionHandler, @ControllerAdvice, Result/Either pattern)
|
|
18
|
+
- Authentication/authorization (@AuthenticationPrincipal, @PreAuthorize, SecurityContext)
|
|
19
|
+
- API documentation (Swagger/SpringDoc annotations)
|
|
20
|
+
- Pagination (Pageable, custom paging parameters, Slice vs Page)
|
|
21
|
+
- **CQRS split**: How command controllers differ from query controllers
|
|
22
|
+
|
|
23
|
+
2. BFF (Backend For Frontend) Patterns — if BFF module exists
|
|
24
|
+
- Feign Client declarations (@FeignClient, configuration, fallback)
|
|
25
|
+
- Response composition (aggregating responses from multiple backend services)
|
|
26
|
+
- Request transformation (client request → backend request mapping)
|
|
27
|
+
- Error propagation (how backend errors are translated for clients)
|
|
28
|
+
- Caching at BFF level
|
|
29
|
+
- Mobile vs Web differentiation (if separate BFF servers exist)
|
|
30
|
+
|
|
31
|
+
3. Service Patterns
|
|
32
|
+
- Class annotations (@Service, @Transactional)
|
|
33
|
+
- Kotlin-specific patterns (extension functions, scope functions let/run/apply/also)
|
|
34
|
+
- Transaction strategy (class-level vs method-level, readOnly separation, propagation)
|
|
35
|
+
- Dependency injection (constructor injection, @Autowired, Spring functional style)
|
|
36
|
+
- Business exception handling (custom Exception hierarchy, sealed class exceptions)
|
|
37
|
+
- Validation logic placement (within Service vs separate Validator)
|
|
38
|
+
- Event handling (ApplicationEventPublisher, @EventListener, @TransactionalEventListener)
|
|
39
|
+
- **CQRS split**: Command service vs Query service patterns
|
|
40
|
+
|
|
41
|
+
4. Data Access Patterns
|
|
42
|
+
- ORM approach (JPA/Hibernate, MyBatis, Exposed, jOOQ, Spring Data JDBC)
|
|
43
|
+
- Repository/Mapper interface structure (inheritance, custom methods)
|
|
44
|
+
- Read/write DB separation (if applicable — separate datasource config)
|
|
45
|
+
- Pagination approach (Pageable, custom, Slice)
|
|
46
|
+
- Audit columns (createdAt/updatedAt/createdBy/updatedBy, @CreatedDate, @LastModifiedDate)
|
|
47
|
+
- NULL handling strategy (Kotlin nullability vs DB null)
|
|
48
|
+
- PK generation strategy (AUTO_INCREMENT, SEQUENCE, UUID, ULID, custom)
|
|
49
|
+
- N+1 handling (fetch join, @EntityGraph, BatchSize, @Fetch)
|
|
50
|
+
- Dynamic queries (Specification, QueryDSL, MyBatis dynamic SQL, Criteria API)
|
|
51
|
+
|
|
52
|
+
5. DTO/VO/Entity Patterns
|
|
53
|
+
- Kotlin class types (data class, value class, sealed class, enum class)
|
|
54
|
+
- Request/Response DTO separation rules
|
|
55
|
+
- DTO naming conventions
|
|
56
|
+
- **DTO vs VO distinction**: DTO (data transfer, mutable) vs VO (domain concept, immutable, equality by value)
|
|
57
|
+
- VO usage patterns (value class for single-value VO, data class for multi-field VO)
|
|
58
|
+
- VO examples: Money, Address, Email, PhoneNumber, DateRange, Quantity
|
|
59
|
+
- VO location (domain layer vs shared-lib)
|
|
60
|
+
- Nullable vs non-nullable field rules
|
|
61
|
+
- Validation annotations (@field:NotNull, @field:NotBlank, @field:Size, custom)
|
|
62
|
+
- Conversion approach (mapstruct-kotlin, manual extension functions, toEntity/toDto)
|
|
63
|
+
- Serialization (Jackson Kotlin module, kotlinx.serialization)
|
|
64
|
+
|
|
65
|
+
6. Aggregate/Aggregate Root Patterns
|
|
66
|
+
- Aggregate boundary definition (which entities belong together)
|
|
67
|
+
- Aggregate Root identification (entry point entity for the aggregate)
|
|
68
|
+
- Aggregate Root patterns: enforce invariants, control child entity access
|
|
69
|
+
- Repository per Aggregate Root (not per entity)
|
|
70
|
+
- Inter-aggregate references (by ID only, not by object reference)
|
|
71
|
+
- Domain event publishing from Aggregate Root
|
|
72
|
+
- Aggregate size strategy (small aggregates vs large aggregates)
|
|
73
|
+
- Aggregator service patterns (composing data from multiple aggregates/services)
|
|
74
|
+
- Aggregator vs BFF distinction (internal aggregation vs client-facing composition)
|
|
75
|
+
|
|
76
|
+
7. Inter-Module Communication Patterns
|
|
77
|
+
- Feign Client patterns (declaration, configuration, interceptors, error decoder)
|
|
78
|
+
- Event/Pub-Sub patterns (Kafka, RabbitMQ, Spring Events, custom event bus)
|
|
79
|
+
- Shared library usage (shared-lib classes, DTOs, utils used across modules)
|
|
80
|
+
- Integration library patterns (integration-lib contracts, adapters)
|
|
81
|
+
- Module boundary rules (what can/cannot be shared)
|
|
82
|
+
|
|
83
|
+
8. Configuration/Environment Patterns
|
|
84
|
+
- Profile separation (local/dev/stg/prod)
|
|
85
|
+
- Configuration loading (@ConfigurationProperties, @Value, Environment)
|
|
86
|
+
- Multi-module config (shared vs per-module application.yml)
|
|
87
|
+
- Build configuration (Gradle Kotlin DSL, dependency management, version catalogs)
|
|
88
|
+
- External configuration (application.yml structure, environment variables)
|
|
89
|
+
|
|
90
|
+
9. Logging Patterns
|
|
91
|
+
- Logger usage (SLF4J, Logback, kotlin-logging, mu-logging)
|
|
92
|
+
- Companion object logger pattern
|
|
93
|
+
- Log level policy
|
|
94
|
+
- Structured logging (MDC, JSON format)
|
|
95
|
+
- Request/response logging approach (interceptor, filter)
|
|
96
|
+
|
|
97
|
+
10. Testing Patterns
|
|
98
|
+
- Test framework (JUnit 5, Kotest, MockK, AssertJ)
|
|
99
|
+
- Kotlin-specific testing (shouldBe, slot, coEvery for coroutines)
|
|
100
|
+
- Test classification (unit/integration/slice)
|
|
101
|
+
- @SpringBootTest vs @WebMvcTest vs @DataJpaTest
|
|
102
|
+
- Mocking strategy (MockK mockk/every/verify, @MockkBean)
|
|
103
|
+
- Test data management (TestFixture, Builder pattern, Object Mother)
|
|
104
|
+
- Test naming conventions (backtick method names, BDD style)
|
|
105
|
+
|
|
106
|
+
11. Domain-Specific Patterns
|
|
107
|
+
- File upload/download (MultipartFile, S3)
|
|
108
|
+
- Excel import/export (Apache POI, EasyExcel)
|
|
109
|
+
- Bulk processing (Batch CUD, Spring Batch)
|
|
110
|
+
- State transition logic (state machine, sealed class-based)
|
|
111
|
+
- Scheduling (@Scheduled, Quartz)
|
|
112
|
+
- External API integration (WebClient, RestClient, FeignClient, Retrofit)
|
|
113
|
+
- Caching (@Cacheable, Redis, Caffeine)
|
|
114
|
+
- Messaging (Kafka, RabbitMQ)
|
|
115
|
+
- Internationalization (MessageSource, LocaleResolver)
|
|
116
|
+
- Coroutines/async patterns (suspend functions, Flow, Deferred)
|
|
117
|
+
|
|
118
|
+
12. Anti-patterns / Inconsistencies
|
|
119
|
+
- Code with differing styles within the domain
|
|
120
|
+
- Patterns inconsistent between command and query modules
|
|
121
|
+
- Java-style code in Kotlin (not using Kotlin idioms)
|
|
122
|
+
- Nullable abuse (!! operator overuse, platform types)
|
|
123
|
+
- Performance issues (N+1, unnecessary queries, blocking calls in coroutines)
|
|
124
|
+
- Security issues (SQL Injection potential, missing authorization)
|
|
125
|
+
- Module boundary violations (direct DB access from BFF, circular dependencies)
|
|
126
|
+
- Aggregate boundary violations (cross-aggregate direct references, oversized aggregates)
|
|
127
|
+
- VO misuse (mutable VOs, VOs with identity, DTO used where VO should be)
|
|
128
|
+
|
|
129
|
+
Do not create files. Analysis only.
|
|
130
|
+
Save results to claudeos-core/generated/pass1-{{PASS_NUM}}.json in the following format:
|
|
131
|
+
|
|
132
|
+
{
|
|
133
|
+
"analyzedAt": "ISO timestamp",
|
|
134
|
+
"passNum": {{PASS_NUM}},
|
|
135
|
+
"domains": ["reservation", "payment", "iam", "channel"],
|
|
136
|
+
"analysisPerDomain": {
|
|
137
|
+
"reservation": {
|
|
138
|
+
"modules": ["reservation-command-server", "common-query-server"],
|
|
139
|
+
"serverTypes": ["command", "query"], // omit if single-module (non-CQRS) project
|
|
140
|
+
"representativeFiles": {
|
|
141
|
+
"commandController": "servers/command/reservation-command-server/.../ReservationCommandController.kt",
|
|
142
|
+
"queryController": "servers/query/common-query-server/.../ReservationQueryController.kt",
|
|
143
|
+
"commandService": "...ReservationCommandService.kt",
|
|
144
|
+
"queryService": "...ReservationQueryService.kt",
|
|
145
|
+
"repository": "...ReservationRepository.kt",
|
|
146
|
+
"entity": "...Reservation.kt",
|
|
147
|
+
"dto": "...ReservationRequest.kt",
|
|
148
|
+
"vo": "...Money.kt (if exists)",
|
|
149
|
+
"aggregate": "...ReservationAggregate.kt (if exists)"
|
|
150
|
+
},
|
|
151
|
+
"patterns": {
|
|
152
|
+
"controller": { "command": { ... }, "query": { ... } },
|
|
153
|
+
"bff": { ... },
|
|
154
|
+
"service": { "command": { ... }, "query": { ... } },
|
|
155
|
+
"dataAccess": { ... },
|
|
156
|
+
"dto": { ... },
|
|
157
|
+
"vo": { ... },
|
|
158
|
+
"aggregate": { ... },
|
|
159
|
+
"interModule": { ... },
|
|
160
|
+
"config": { ... },
|
|
161
|
+
"logging": { ... },
|
|
162
|
+
"testing": { ... }
|
|
163
|
+
},
|
|
164
|
+
"specialPatterns": [],
|
|
165
|
+
"antiPatterns": []
|
|
166
|
+
}
|
|
167
|
+
},
|
|
168
|
+
"crossDomainCommon": {
|
|
169
|
+
"description": "Patterns commonly used across domains in this group",
|
|
170
|
+
"patterns": []
|
|
171
|
+
}
|
|
172
|
+
}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
Read all pass1-*.json files from the claudeos-core/generated/ directory and
|
|
2
|
+
merge all domain analysis results into a single unified report.
|
|
3
|
+
|
|
4
|
+
Merge items:
|
|
5
|
+
|
|
6
|
+
1. Universal Patterns (shared by 100% of all domains)
|
|
7
|
+
- Controller style (annotations, URL patterns, response format)
|
|
8
|
+
- CQRS split conventions (command controller vs query controller differences)
|
|
9
|
+
- Service transaction strategy (propagation, readOnly)
|
|
10
|
+
- Data access patterns (ORM approach, Repository/Mapper structure)
|
|
11
|
+
- DTO/VO/Entity rules (data class conventions, VO immutability, nullable rules, naming)
|
|
12
|
+
- Aggregate patterns (boundary definition, Aggregate Root identification, repository-per-aggregate)
|
|
13
|
+
- Error handling patterns (exception hierarchy, @ControllerAdvice)
|
|
14
|
+
- Kotlin idiom usage (extension functions, scope functions, null safety)
|
|
15
|
+
|
|
16
|
+
2. Majority Patterns (shared by 50%+ of domains)
|
|
17
|
+
- Specify which domains share them
|
|
18
|
+
|
|
19
|
+
3. Domain-Specific Patterns (unique to a single domain)
|
|
20
|
+
- File upload: which domain
|
|
21
|
+
- Excel: which domain
|
|
22
|
+
- Bulk processing: which domain
|
|
23
|
+
- State transitions: which domain
|
|
24
|
+
- Scheduling: which domain
|
|
25
|
+
- External integrations: which domain
|
|
26
|
+
- Messaging: which domain
|
|
27
|
+
- Coroutines/async: which domain
|
|
28
|
+
|
|
29
|
+
4. Anti-pattern Summary
|
|
30
|
+
- Consolidate all inconsistencies found across domains
|
|
31
|
+
- Classify by severity (CRITICAL / HIGH / MEDIUM / LOW)
|
|
32
|
+
- CQRS boundary violations (e.g., query module writing data)
|
|
33
|
+
- Module boundary violations (e.g., direct DB access from BFF)
|
|
34
|
+
- Aggregate boundary violations (cross-aggregate direct references, oversized aggregates)
|
|
35
|
+
- VO misuse (mutable VOs, VOs with identity, DTO used where VO should be)
|
|
36
|
+
|
|
37
|
+
5. Naming Conventions Summary
|
|
38
|
+
- Package structure conventions (per module type)
|
|
39
|
+
- Class/method naming conventions (Kotlin style)
|
|
40
|
+
- DTO/VO naming conventions (Request/Response/Command/Query, VO naming rules)
|
|
41
|
+
- URL pattern conventions
|
|
42
|
+
- DB table/column naming
|
|
43
|
+
- Module naming conventions (what suffix: -server, -lib, -adapter)
|
|
44
|
+
|
|
45
|
+
6. Common Classes/Utilities List
|
|
46
|
+
- Shared library (shared-lib) key classes and utilities
|
|
47
|
+
- Integration library (integration-lib) contracts and adapters
|
|
48
|
+
- Base classes (must not be redeclared)
|
|
49
|
+
- Shared constants/Enum management
|
|
50
|
+
- Common extension functions
|
|
51
|
+
|
|
52
|
+
7. BFF Patterns Summary
|
|
53
|
+
- Feign Client declaration conventions
|
|
54
|
+
- Response composition patterns (aggregation strategy, Aggregator service usage)
|
|
55
|
+
- Aggregator vs BFF distinction (internal service aggregation vs client-facing composition)
|
|
56
|
+
- Error propagation rules (backend → BFF → client)
|
|
57
|
+
- BFF-specific middleware/filters
|
|
58
|
+
- Mobile vs Web BFF differences (if applicable)
|
|
59
|
+
|
|
60
|
+
8. Security/Authentication Patterns
|
|
61
|
+
- Authentication method (JWT, Session, OAuth2)
|
|
62
|
+
- Authorization check method (@PreAuthorize, SecurityConfig, IAM server role)
|
|
63
|
+
- CORS configuration
|
|
64
|
+
- Per-environment security settings
|
|
65
|
+
- Inter-module auth (Feign interceptors, internal tokens)
|
|
66
|
+
|
|
67
|
+
9. Database Patterns
|
|
68
|
+
- Table naming conventions
|
|
69
|
+
- Migration strategy (Flyway, Liquibase, manual)
|
|
70
|
+
- Audit column specification
|
|
71
|
+
- PK generation strategy
|
|
72
|
+
- Index/constraint conventions
|
|
73
|
+
- Read/Write DB separation configuration
|
|
74
|
+
|
|
75
|
+
10. Testing Strategy Summary
|
|
76
|
+
- Test coverage level
|
|
77
|
+
- Test classification system (unit/integration/slice)
|
|
78
|
+
- Mocking strategy (MockK patterns)
|
|
79
|
+
- Test naming conventions (backtick style, BDD)
|
|
80
|
+
- Test data management
|
|
81
|
+
- Per-module test strategy (command tests vs query tests vs BFF tests)
|
|
82
|
+
|
|
83
|
+
11. Logging/Monitoring Strategy
|
|
84
|
+
- Logger standard (kotlin-logging, SLF4J)
|
|
85
|
+
- Log level policy
|
|
86
|
+
- Structured logging approach
|
|
87
|
+
- Request/response logging
|
|
88
|
+
- Distributed tracing (if applicable)
|
|
89
|
+
|
|
90
|
+
12. Performance Patterns
|
|
91
|
+
- Caching strategy (per module)
|
|
92
|
+
- Query optimization status
|
|
93
|
+
- Coroutine/async usage status
|
|
94
|
+
- Connection pool configuration
|
|
95
|
+
- Feign client timeout/retry configuration
|
|
96
|
+
|
|
97
|
+
13. Build & Module Patterns
|
|
98
|
+
- Gradle Kotlin DSL conventions
|
|
99
|
+
- Dependency management (version catalogs, BOM)
|
|
100
|
+
- Module dependency rules (who depends on whom)
|
|
101
|
+
- Shared dependency extraction patterns
|
|
102
|
+
|
|
103
|
+
14. Code Quality Tools (infer from configuration/build analysis in Pass 1)
|
|
104
|
+
- Lint/Format tools (ktlint, detekt, Spotless)
|
|
105
|
+
- Code review rules
|
|
106
|
+
- CI integration status
|
|
107
|
+
|
|
108
|
+
Do not generate code. Merge only.
|
|
109
|
+
Save results to claudeos-core/generated/pass2-merged.json.
|