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.

Files changed (44) hide show
  1. package/CHANGELOG.md +84 -1
  2. package/CONTRIBUTING.md +15 -4
  3. package/README.de.md +187 -11
  4. package/README.es.md +187 -11
  5. package/README.fr.md +187 -11
  6. package/README.hi.md +187 -11
  7. package/README.ja.md +186 -10
  8. package/README.ko.md +331 -364
  9. package/README.md +200 -11
  10. package/README.ru.md +187 -11
  11. package/README.vi.md +188 -12
  12. package/README.zh-CN.md +186 -10
  13. package/bin/cli.js +183 -61
  14. package/bootstrap.sh +128 -21
  15. package/content-validator/index.js +131 -60
  16. package/health-checker/index.js +29 -23
  17. package/import-linter/index.js +14 -8
  18. package/manifest-generator/index.js +26 -20
  19. package/package.json +84 -75
  20. package/pass-json-validator/index.js +92 -70
  21. package/pass-prompts/templates/common/header.md +4 -4
  22. package/pass-prompts/templates/common/lang-instructions.json +27 -0
  23. package/pass-prompts/templates/common/pass3-footer.md +2 -3
  24. package/pass-prompts/templates/java-spring/pass1.md +84 -81
  25. package/pass-prompts/templates/java-spring/pass2.md +66 -66
  26. package/pass-prompts/templates/java-spring/pass3.md +60 -60
  27. package/pass-prompts/templates/kotlin-spring/pass1.md +172 -0
  28. package/pass-prompts/templates/kotlin-spring/pass2.md +109 -0
  29. package/pass-prompts/templates/kotlin-spring/pass3.md +98 -0
  30. package/pass-prompts/templates/node-express/pass1.md +73 -73
  31. package/pass-prompts/templates/node-express/pass2.md +66 -66
  32. package/pass-prompts/templates/node-express/pass3.md +53 -53
  33. package/pass-prompts/templates/node-nextjs/pass1.md +68 -68
  34. package/pass-prompts/templates/node-nextjs/pass2.md +61 -61
  35. package/pass-prompts/templates/node-nextjs/pass3.md +48 -48
  36. package/pass-prompts/templates/python-django/pass1.md +78 -78
  37. package/pass-prompts/templates/python-django/pass2.md +69 -69
  38. package/pass-prompts/templates/python-django/pass3.md +45 -45
  39. package/pass-prompts/templates/python-fastapi/pass1.md +76 -76
  40. package/pass-prompts/templates/python-fastapi/pass2.md +67 -67
  41. package/pass-prompts/templates/python-fastapi/pass3.md +45 -45
  42. package/plan-installer/index.js +623 -97
  43. package/plan-validator/index.js +54 -23
  44. package/sync-checker/index.js +25 -14
@@ -1,80 +1,80 @@
1
- claudeos-core/generated/ 디렉토리에서 pass1-*.json 파일을 전부 읽고,
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. 전체 공통 패턴 (모든 도메인이 100% 공유하는 )
7
- - Controller 스타일 (어노테이션, URL 패턴, 응답 형식)
8
- - Service 트랜잭션 전략 (propagation, readOnly)
9
- - 데이터 접근 패턴 (ORM 방식, Repository/Mapper 구조)
10
- - DTO/Entity 규칙 (상속, Lombok, 명명)
11
- - 에러 핸들링 패턴 (예외 계층, @ControllerAdvice)
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. 다수 공유 패턴 (50% 이상 도메인이 공유)
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
- - 심각도별 분류 (CRITICAL / HIGH / MEDIUM / LOW)
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
- - 상수/Enum 관리 방식
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
- - 인증 방식 (JWT, Session, OAuth2)
44
- - 권한 체크 방식 (@PreAuthorize, SecurityConfig)
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. DB 패턴
49
- - 테이블 네이밍 규칙
50
- - 마이그레이션 전략 (Flyway, Liquibase, 수동)
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 도구 (Checkstyle, SpotBugs, PMD, Spotless)
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
- 결과를 claudeos-core/generated/pass2-merged.json에 저장.
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
- 분석 결과를 기반으로 ClaudeOS-Core 파일을 전부 생성해줘.
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 — 스택, 모듈, API 서버 정보
18
- - 00.core/02.architecture.md — 레이어 구조, 요청 흐름, 패키지 구조
19
- - 00.core/03.naming-conventions.md — 클래스/DTO/Entity/테이블 명명규칙
20
- - 10.backend-api/01.controller-patterns.md — Controller 작성 규칙 + 예시
21
- - 10.backend-api/02.service-patterns.md — 트랜잭션, DI, 비즈니스 로직 패턴
22
- - 10.backend-api/03.data-access-patterns.md — ORM 패턴 (감지된 MyBatis/JPA/QueryDSL에 맞게)
23
- - 10.backend-api/04.response-exception.md — 응답/에러 핸들링 패턴
24
- - 10.backend-api/05.dto-validation.md — DTO 작성 규칙, Validation
25
- - 10.backend-api/06.interceptor-filter-aop.md — 미들웨어, AOP, 로깅 인터셉터
26
- - 20.frontend-ui/* — (프론트 감지 시에만 생성)
27
- - 30.security-db/01.security-auth.md — 인증, 권한, CORS
28
- - 30.security-db/02.database-schema.md — DDL, 마이그레이션, 감사 컬럼
29
- - 30.security-db/03.common-utilities.md — 공통 유틸, 상수, Base 클래스
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 — 빌드, 기동, API 테스트
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
- - 규칙 파일에 paths: frontmatter 포함 ( 프로젝트 패키지 경로에 맞게)
43
- - 핵심 규칙 5~10 직접 기술
44
- - @import로 상세 standard 참조 (경로: @../../claudeos-core/standard/...)
45
- - @import로 skills 오케스트레이터 참조
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/ (동기화 규칙 3개)
48
- - 01.standard-sync.md — standard 수정 시 plan/10 자동 갱신
49
- - 02.rules-sync.md — rules 수정 시 plan/20 자동 갱신
50
- - 03.skills-sync.md — skills 수정 시 plan/30 자동 갱신
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 (하위 스킬: controller, service, repository, entity, dto, migration, test, index)
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/ (마스터 플랜생성한 파일의 전문을 <file> 블록에 삽입)
70
- - 10.standard-master.md — CLAUDE.md + standard/ 전체 <file> 블록
71
- - 20.rules-master.md — rules/ (sync 제외) 전체 <file> 블록
72
- - 21.sync-rules-master.md — sync 규칙 전체 (코드블록 방식)
73
- - 30.backend-skills-master.md — backend skills 전체 <file> 블록
74
- - 31.frontend-skills-master.md — frontend skills 전체 <file> 블록 (프론트 감지 )
75
- - 40.guides-master.md — guide/ 전체 <file> 블록
69
+ 7. claudeos-core/plan/ (Master Planinsert 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 — 테이블 목록, ER 다이어그램 설명
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 — 사용 중인 MCP 서버 목록, 연동 방법
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.