claudeos-core 1.5.0 → 1.6.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.
Files changed (39) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/README.de.md +54 -27
  3. package/README.es.md +54 -26
  4. package/README.fr.md +54 -26
  5. package/README.hi.md +54 -27
  6. package/README.ja.md +53 -26
  7. package/README.ko.md +56 -29
  8. package/README.md +53 -26
  9. package/README.ru.md +54 -27
  10. package/README.vi.md +54 -27
  11. package/README.zh-CN.md +54 -27
  12. package/bin/cli.js +6 -2
  13. package/bin/commands/init.js +48 -46
  14. package/bin/lib/cli-utils.js +6 -10
  15. package/bin/lib/lang-selector.js +10 -8
  16. package/bin/lib/resume-selector.js +10 -8
  17. package/content-validator/index.js +7 -12
  18. package/health-checker/index.js +7 -17
  19. package/lib/plan-parser.js +149 -0
  20. package/lib/safe-fs.js +2 -2
  21. package/lib/stale-report.js +36 -0
  22. package/manifest-generator/index.js +13 -36
  23. package/package.json +87 -87
  24. package/pass-json-validator/index.js +7 -12
  25. package/pass-prompts/templates/node-nestjs/pass1.md +132 -0
  26. package/pass-prompts/templates/node-nestjs/pass2.md +97 -0
  27. package/pass-prompts/templates/node-nestjs/pass3.md +121 -0
  28. package/pass-prompts/templates/vue-nuxt/pass1.md +119 -0
  29. package/pass-prompts/templates/vue-nuxt/pass2.md +83 -0
  30. package/pass-prompts/templates/vue-nuxt/pass3.md +100 -0
  31. package/plan-installer/domain-grouper.js +5 -2
  32. package/plan-installer/prompt-generator.js +1 -4
  33. package/plan-installer/scanners/scan-frontend.js +14 -7
  34. package/plan-installer/scanners/scan-java.js +18 -13
  35. package/plan-installer/scanners/scan-kotlin.js +47 -23
  36. package/plan-installer/scanners/scan-node.js +16 -2
  37. package/plan-installer/stack-detector.js +42 -1
  38. package/plan-validator/index.js +11 -121
  39. package/sync-checker/index.js +6 -19
@@ -0,0 +1,97 @@
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
+ - Module structure (@Module imports, providers, exports conventions)
8
+ - Controller style (@Controller, decorators, parameter handling)
9
+ - **Response flow**: Which layer wraps the response? (Controller vs Service/UseCase)
10
+ Record the definitive answer. If an orchestration layer exists, describe it.
11
+ - Service dependency injection strategy (@Injectable, custom providers)
12
+ - Data access patterns (ORM, Repository injection)
13
+ - DTO/validation rules (class-validator, class-transformer, mapped types)
14
+ - Error handling patterns (ExceptionFilter, HttpException hierarchy)
15
+ - Guard/Interceptor/Pipe execution order
16
+
17
+ 2. Majority Patterns (shared by 50%+ of domains)
18
+ - Specify which domains share them
19
+
20
+ 3. Domain-Specific Patterns (unique to a single domain)
21
+ - File upload: which domain
22
+ - WebSocket: which domain
23
+ - Queue/job processing: which domain
24
+ - External API integration: which domain
25
+ - Caching: which domain
26
+ - CQRS: which domain
27
+ - Microservices: which domain
28
+ - Scheduling: which domain
29
+
30
+ 4. Anti-pattern Summary
31
+ - Consolidate all inconsistencies found across domains
32
+ - Classify by severity (CRITICAL / HIGH / MEDIUM / LOW)
33
+
34
+ 5. Naming Conventions Summary
35
+ - File/directory naming (kebab-case, camelCase, PascalCase)
36
+ - File entry pattern (index.ts vs module-named files — pick ONE that the project actually uses)
37
+ - DTO/type naming conventions
38
+ - Route URL patterns
39
+ - Module/package structure conventions
40
+
41
+ 6. Common Types/Interfaces List
42
+ - Shared type definition files with EXACT import paths
43
+ - Utility functions with EXACT import paths
44
+ - Path aliases used in the project
45
+ - Custom decorators with EXACT names
46
+ - Environment variable types
47
+ - Constants/Enum management
48
+
49
+ 7. Security/Authentication Patterns
50
+ - JWT strategy (PassportModule, JwtModule)
51
+ - Guard hierarchy (AuthGuard, RolesGuard, custom guards)
52
+ - CORS configuration
53
+ - Rate Limiting (@nestjs/throttler)
54
+ - Per-environment security settings
55
+
56
+ 8. Database Patterns
57
+ - Table/collection naming conventions
58
+ - Migration strategy
59
+ - Seed data management
60
+ - Audit columns (createdAt, updatedAt, deletedAt)
61
+ - Soft delete patterns
62
+ - Index/constraints
63
+
64
+ 9. Testing Strategy Summary
65
+ - Test coverage level
66
+ - Test classification system (unit/integration/E2E)
67
+ - Test.createTestingModule patterns
68
+ - Mocking strategy (overrideProvider, jest.mock)
69
+ - Test naming conventions
70
+ - DB test strategy
71
+
72
+ 10. Logging/Monitoring Strategy
73
+ - Logger standard (NestJS Logger vs pino/winston)
74
+ - Log level policy
75
+ - Structured logging approach
76
+ - LoggingInterceptor patterns
77
+
78
+ 11. Performance Patterns
79
+ - Caching strategy (@CacheKey, @CacheTTL, cache-manager)
80
+ - Query optimization status
81
+ - Async processing (Bull queues, scheduling)
82
+ - Connection pool configuration
83
+
84
+ 12. Code Quality Tools
85
+ - Lint/Format tools (ESLint, Prettier, Biome)
86
+ - Pre-commit hooks (husky, lint-staged)
87
+ - CI integration status
88
+
89
+ 13. NestJS Architecture Patterns
90
+ - Module organization (feature modules, shared modules, global modules)
91
+ - Dynamic modules (forRoot/forRootAsync, forFeature)
92
+ - Custom providers (useFactory, useClass, useValue, useExisting)
93
+ - Circular dependency resolution (forwardRef)
94
+ - Lifecycle hooks (OnModuleInit, OnModuleDestroy, OnApplicationBootstrap)
95
+
96
+ Do not generate code. Merge only.
97
+ Save results to claudeos-core/generated/pass2-merged.json.
@@ -0,0 +1,121 @@
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
+
5
+ Do not read the original source code again. Reference only the analysis results.
6
+
7
+ CRITICAL — Package Manager Consistency:
8
+ Check `stack.packageManager` in project-analysis.json (e.g., "pnpm", "yarn", "npm").
9
+ ALL generated files MUST use ONLY that detected package manager's commands.
10
+ For example, if packageManager is "pnpm": use `pnpm run build`, `pnpm run dev`, `pnpm install`, etc.
11
+ NEVER mix npm/yarn/pnpm commands. Also check `scripts` field in the project's package.json
12
+ for actual script names (e.g., "eslint" not "lint", "typecheck" not "tsc --noEmit").
13
+
14
+ CRITICAL — Cross-file Consistency:
15
+ Rules (.claude/rules/) and Standards (claudeos-core/standard/) MUST NOT contradict each other.
16
+ If a standard defines a specific pattern (e.g., import path, file naming, API usage),
17
+ the corresponding rule MUST use the same pattern. Before generating each rule file,
18
+ verify it is consistent with the related standard file.
19
+
20
+ CRITICAL — Code Example Accuracy:
21
+ ALL code examples in rules and standards MUST use EXACT method names, class names,
22
+ and signatures from pass2-merged.json analysis data.
23
+ Do NOT paraphrase, rename, or infer API names.
24
+ If a method signature is not captured in the analysis data,
25
+ write "See corresponding standard for exact API" instead of guessing.
26
+
27
+ CRITICAL — Response Flow Consistency:
28
+ Determine from pass2-merged.json which layer (Controller vs Service/UseCase) calls
29
+ the response wrapper. This MUST be identical across architecture.md, controller-patterns.md,
30
+ response-exception.md, and controller-rules.md. Do NOT describe different response flows in different files.
31
+
32
+ CRITICAL — CLAUDE.md Reference Table Completeness:
33
+ The reference table in CLAUDE.md MUST list ALL generated standard files, not just core.
34
+ Include all frontend-ui, backend-api, security-db, infra, and verification standards.
35
+
36
+ Generation targets:
37
+
38
+ 1. CLAUDE.md (project root)
39
+ - Role definition (NestJS backend developer)
40
+ - Build & Run Commands (use ONLY the detected packageManager)
41
+ - Core architecture diagram (Module → Controller → Service → Repository)
42
+ - DB table/collection naming
43
+ - Standard/Skills/Guide reference table
44
+
45
+ 2. claudeos-core/standard/ (active domains only)
46
+ - 00.core/01.project-overview.md — Stack, modules, API server info
47
+ - 00.core/02.architecture.md — NestJS module structure, DI container, request lifecycle (middleware → guard → interceptor → pipe → handler → interceptor → filter)
48
+ - 00.core/03.naming-conventions.md — File/variable/type/decorator naming conventions
49
+ - 10.backend-api/01.controller-patterns.md — @Controller, decorators, parameter binding, response handling
50
+ - 10.backend-api/02.service-patterns.md — @Injectable, DI, transactions, business logic
51
+ - 10.backend-api/03.data-access-patterns.md — ORM patterns, repository injection, query optimization
52
+ - 10.backend-api/04.response-exception.md — Response interceptor, HttpException hierarchy, ExceptionFilter
53
+ - 10.backend-api/05.validation-dto.md — class-validator, class-transformer, mapped types, ValidationPipe
54
+ - 10.backend-api/06.guard-interceptor-pipe.md — Guards (auth/role), Interceptors (logging/cache/transform), Pipes (validation/parse)
55
+ - 10.backend-api/07.module-provider-patterns.md — @Module structure, dynamic modules (forRoot/forFeature), custom providers, global modules
56
+ - 30.security-db/01.security-auth.md — JWT, Passport, Guards, CORS, @nestjs/throttler
57
+ - 30.security-db/02.database-schema.md — Migrations, seeds, schema conventions
58
+ - 30.security-db/03.common-utilities.md — Custom decorators, shared providers, constants
59
+ - 40.infra/01.environment-config.md — @nestjs/config, ConfigModule, environment validation
60
+ - 40.infra/02.logging-monitoring.md — NestJS Logger/pino, LoggingInterceptor, health checks
61
+ - 40.infra/03.cicd-deployment.md — CI/CD pipeline, deployment strategy
62
+ - 50.verification/01.development-verification.md — Build, startup, API testing
63
+ - 50.verification/02.testing-strategy.md — Test.createTestingModule, mocking, E2E
64
+
65
+ Each file MUST include:
66
+ - Correct examples (✅ code blocks)
67
+ - Incorrect examples (❌ code blocks)
68
+ - Key rules summary table
69
+
70
+ 3. .claude/rules/ (active domains only)
71
+ - Write the full rule content directly in each file (self-contained, no external references)
72
+ - Include 5-15 lines of key rules with concrete examples
73
+ - Do NOT use @import — it is not a Claude Code feature and does not work
74
+ - Each rule file MUST end with a `## Reference` section linking to the corresponding standard file(s):
75
+ ```
76
+ ## Reference
77
+ > For detailed patterns and examples, Read: claudeos-core/standard/10.backend-api/01.controller-patterns.md
78
+ ```
79
+ - `paths:` frontmatter per rule category:
80
+ - `00.core/*` rules: `paths: ["**/*"]`
81
+ - `10.backend/*` rules: `paths: ["**/*"]`
82
+ - `30.security-db/*` rules: `paths: ["**/*"]`
83
+ - `40.infra/*` rules: `paths: ["**/*.json", "**/*.env*", "**/config/**", "**/Dockerfile*", "**/*.yml", "**/*.yaml"]`
84
+ - `50.sync/*` rules: `paths: ["**/claudeos-core/**", "**/.claude/**"]`
85
+ - MUST generate `.claude/rules/00.core/00.standard-reference.md` — directory of all standard files.
86
+ List only the standard files that were actually generated above.
87
+
88
+ 4. .claude/rules/50.sync/ (3 sync rules)
89
+ - 01.standard-sync.md — Remind AI to update plan/10 when standard is modified
90
+ - 02.rules-sync.md — Remind AI to update plan/20 when rules is modified
91
+ - 03.skills-sync.md — Remind AI to update plan/30 when skills is modified
92
+
93
+ 5. claudeos-core/skills/ (active domains only)
94
+ - 10.backend-crud/01.scaffold-crud-feature.md (orchestrator)
95
+ - 10.backend-crud/scaffold-crud-feature/01~08 (sub-skills: module, controller, service, repository, dto, migration, test, index)
96
+ - 00.shared/MANIFEST.md (skill registry)
97
+
98
+ 6. claudeos-core/guide/ (all)
99
+ - 01.onboarding/01.overview.md
100
+ - 01.onboarding/02.quickstart.md
101
+ - 01.onboarding/03.glossary.md
102
+ - 02.usage/01.faq.md
103
+ - 02.usage/02.real-world-examples.md
104
+ - 02.usage/03.do-and-dont.md
105
+ - 03.troubleshooting/01.troubleshooting.md
106
+ - 04.architecture/01.file-map.md
107
+ - 04.architecture/02.pros-and-cons.md
108
+
109
+ 7. claudeos-core/plan/ (Master Plan)
110
+ - 10.standard-master.md — CLAUDE.md + all standard/ files as <file> blocks
111
+ - 20.rules-master.md — All rules/ (except sync) as <file> blocks
112
+ - 21.sync-rules-master.md — All sync rules (code block format)
113
+ - 30.backend-skills-master.md — All backend skills as <file> blocks
114
+ - 40.guides-master.md — All guide/ files as <file> blocks
115
+
116
+ 8. claudeos-core/database/
117
+ - 01.schema-overview.md — Table/collection list, relationship description
118
+ - 02.migration-guide.md — Migration procedure, rollback methods
119
+
120
+ 9. claudeos-core/mcp-guide/
121
+ - 01.mcp-overview.md — List of MCP servers in use, integration methods
@@ -0,0 +1,119 @@
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
+
7
+ Analysis items (per domain):
8
+
9
+ 1. Page/Routing Patterns
10
+ - Routing approach (Nuxt file-based routing vs Vue Router manual config)
11
+ - Layout structure (layouts/, default.vue, custom layouts)
12
+ - Dynamic routes ([id].vue, [...slug].vue)
13
+ - Page directory conventions (pages/ structure)
14
+ - Middleware usage (defineNuxtRouteMiddleware, navigation guards)
15
+ - Route meta and page meta (definePageMeta)
16
+ - Loading/error handling (error.vue, NuxtErrorBoundary)
17
+
18
+ 2. Component Patterns
19
+ - Component structure (SFC <script setup>, Options API, Composition API)
20
+ - Props definition (defineProps, withDefaults, runtime vs type-only)
21
+ - Emits definition (defineEmits)
22
+ - Slots usage (named slots, scoped slots)
23
+ - Styling approach (<style scoped>, CSS Modules, Tailwind, UnoCSS)
24
+ - UI library (Vuetify, PrimeVue, Radix Vue, Naive UI, Element Plus)
25
+ - Component classification (UI, Feature, Layout, Page)
26
+ - Component entry file pattern: index.vue vs ComponentName.vue
27
+ - Directory structure pattern: record exact convention
28
+ - Auto-imports (Nuxt auto-import, unplugin-auto-import)
29
+ - Reuse patterns (composables, provide/inject, renderless components)
30
+ - Accessibility (ARIA, semantic HTML, keyboard navigation)
31
+
32
+ 3. Data Fetching Patterns
33
+ - Nuxt: useFetch, useAsyncData, $fetch, server routes (server/api/)
34
+ - Vue: Axios, fetch, TanStack Query/Vue Query
35
+ - SSR data fetching (Nuxt server-side, useRequestHeaders)
36
+ - Client-side data fetching (onMounted, watch)
37
+ - Caching strategy (Nuxt payload, SWR, stale-while-revalidate)
38
+ - Error/loading state handling (pending, error, refresh)
39
+ - Streaming/Suspense
40
+
41
+ 4. State Management Patterns
42
+ - Pinia stores (defineStore, setup stores vs option stores)
43
+ - Composables for shared state (useState in Nuxt)
44
+ - URL state (useRoute, useRouter, query params)
45
+ - Form state (VeeValidate, FormKit, vuelidate)
46
+ - Provide/Inject patterns
47
+
48
+ 5. Configuration/Environment Patterns
49
+ - Environment variable management (NUXT_PUBLIC_, VITE_, .env separation)
50
+ - nuxt.config.ts / vite.config.ts settings
51
+ - Runtime config (useRuntimeConfig)
52
+ - Build optimization (Nitro presets, SSR/SSG/SPA modes)
53
+ - Module system (Nuxt modules, Vite plugins)
54
+
55
+ 6. Logging/Monitoring Patterns
56
+ - Client error tracking (Sentry, DataDog RUM)
57
+ - Server logging (consola, pino, h3 logger)
58
+ - Performance monitoring (Web Vitals, Lighthouse)
59
+ - Analytics tools (Google Analytics, PostHog, Plausible)
60
+
61
+ 7. Testing Patterns
62
+ - Test framework (Vitest, Jest, Playwright, Cypress)
63
+ - Component testing (@vue/test-utils, @testing-library/vue)
64
+ - E2E testing strategy
65
+ - Mocking strategy (MSW, vi.mock)
66
+ - Test naming conventions
67
+ - Nuxt testing (@nuxt/test-utils)
68
+
69
+ 8. Domain-Specific Patterns
70
+ - Authentication (Nuxt Auth, @sidebase/nuxt-auth, custom)
71
+ - Internationalization (@nuxtjs/i18n, vue-i18n)
72
+ - File upload (presigned URL, client direct upload)
73
+ - Real-time features (WebSocket, SSE, Socket.io)
74
+ - SEO optimization (useSeoMeta, useHead, OG tags)
75
+ - Image optimization (nuxt/image, @nuxt/image)
76
+ - API versioning strategy
77
+
78
+ 9. Anti-patterns / Inconsistencies
79
+ - Mixing Options API and Composition API
80
+ - Unnecessary reactivity (ref vs reactive misuse)
81
+ - Patterns inconsistent with other domains
82
+ - Performance issues (unnecessary watchers, large bundle, layout shift)
83
+ - Type safety issues
84
+ - Accessibility issues
85
+
86
+ Do not create or modify source files. Analysis only.
87
+ Save results to claudeos-core/generated/pass1-{{PASS_NUM}}.json in the following format:
88
+
89
+ {
90
+ "analyzedAt": "ISO timestamp",
91
+ "passNum": {{PASS_NUM}},
92
+ "domains": ["auth", "dashboard", "settings", "shared"],
93
+ "analysisPerDomain": {
94
+ "dashboard": {
95
+ "representativeFiles": {
96
+ "page": "pages/dashboard/index.vue",
97
+ "layout": "layouts/dashboard.vue",
98
+ "component": "components/dashboard/StatsCard.vue",
99
+ "composable": "composables/useDashboard.ts",
100
+ "store": "stores/dashboard.ts"
101
+ },
102
+ "patterns": {
103
+ "page": { ... },
104
+ "component": { ... },
105
+ "dataFetching": { ... },
106
+ "stateManagement": { ... },
107
+ "config": { ... },
108
+ "logging": { ... },
109
+ "testing": { ... }
110
+ },
111
+ "specialPatterns": [],
112
+ "antiPatterns": []
113
+ }
114
+ },
115
+ "crossDomainCommon": {
116
+ "description": "Patterns commonly used across domains in this group",
117
+ "patterns": []
118
+ }
119
+ }
@@ -0,0 +1,83 @@
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
+ - Page/routing structure (Nuxt file-based vs Vue Router)
8
+ - Component writing conventions (SFC, <script setup>, Props/Emits)
9
+ - Data fetching strategy (useFetch/useAsyncData vs client-side)
10
+ - State management approach (Pinia, composables)
11
+ - Error/loading handling patterns
12
+ - Middleware usage
13
+
14
+ 2. Majority Patterns (shared by 50%+ of domains)
15
+ - Specify which domains share them
16
+
17
+ 3. Domain-Specific Patterns (unique to a single domain)
18
+ - Auth: which domain
19
+ - Real-time features: which domain
20
+ - File upload: which domain
21
+ - i18n: which domain
22
+ - SEO optimization: which domain
23
+
24
+ 4. Anti-pattern Summary
25
+ - Consolidate all inconsistencies found across domains
26
+ - Classify by severity (CRITICAL / HIGH / MEDIUM / LOW)
27
+
28
+ 5. Naming Conventions Summary
29
+ - File/directory naming (kebab-case, PascalCase)
30
+ - Component file pattern (index.vue vs ComponentName.vue)
31
+ - Composable naming (use* prefix)
32
+ - Store naming conventions
33
+ - Route/page naming patterns
34
+
35
+ 6. Shared Types/Components List
36
+ - Common UI components with EXACT import paths
37
+ - Shared composables with exact import paths
38
+ - Utility functions with EXACT import paths
39
+ - Auto-import configuration (which composables/components are auto-imported)
40
+ - Path aliases used in the project
41
+ - Environment variable types
42
+ - Constants/Enum management
43
+
44
+ 7. Security/Authentication Patterns
45
+ - Authentication approach (Nuxt Auth, custom middleware)
46
+ - Route protection strategy (middleware, navigation guards)
47
+ - CSRF/XSS prevention
48
+ - Environment variable management (NUXT_PUBLIC_, VITE_)
49
+ - Content security policy
50
+
51
+ 8. Performance Patterns
52
+ - SSR/SSG/SPA mode usage
53
+ - Image optimization (nuxt/image)
54
+ - Bundle optimization (dynamic import, tree shaking)
55
+ - Caching strategy (Nitro cache, CDN)
56
+ - Web Vitals status
57
+
58
+ 9. Testing Strategy Summary
59
+ - Test coverage level
60
+ - Test classification system (unit/component/E2E)
61
+ - Mocking strategy (MSW, vi.mock)
62
+ - Test naming conventions
63
+
64
+ 10. Logging/Monitoring Strategy
65
+ - Error tracking approach (Sentry, DataDog)
66
+ - Analytics tools
67
+ - Web Vitals monitoring
68
+
69
+ 11. Code Quality Tools
70
+ - Lint/Format tools (ESLint, Prettier, Biome)
71
+ - Pre-commit hooks (husky, lint-staged)
72
+ - TypeScript strict mode
73
+ - CI integration status
74
+
75
+ 12. Vue/Nuxt Architecture Patterns
76
+ - Nuxt module usage (list of @nuxt/* and third-party modules)
77
+ - Nitro server configuration (server routes, middleware, plugins)
78
+ - Plugin system (Nuxt plugins, Vue plugins)
79
+ - Composable organization (shared vs domain-specific)
80
+ - Auto-import scope and configuration
81
+
82
+ Do not generate code. Merge only.
83
+ Save results to claudeos-core/generated/pass2-merged.json.
@@ -0,0 +1,100 @@
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
+
5
+ Do not read the original source code again. Reference only the analysis results.
6
+
7
+ CRITICAL — Package Manager Consistency:
8
+ Check `stack.packageManager` in project-analysis.json (e.g., "pnpm", "yarn", "npm").
9
+ ALL generated files MUST use ONLY that detected package manager's commands.
10
+ NEVER mix npm/yarn/pnpm commands. Also check `scripts` field in the project's package.json
11
+ for actual script names.
12
+
13
+ CRITICAL — Cross-file Consistency:
14
+ Rules (.claude/rules/) and Standards (claudeos-core/standard/) MUST NOT contradict each other.
15
+
16
+ CRITICAL — Code Example Accuracy:
17
+ ALL code examples MUST use EXACT method names, class names, and signatures from pass2-merged.json.
18
+ Do NOT paraphrase, rename, or infer API names.
19
+
20
+ CRITICAL — CLAUDE.md Reference Table Completeness:
21
+ The reference table in CLAUDE.md MUST list ALL generated standard files.
22
+
23
+ Generation targets:
24
+
25
+ 1. CLAUDE.md (project root)
26
+ - Role definition (Vue/Nuxt frontend developer)
27
+ - Build & Run Commands (use ONLY the detected packageManager)
28
+ - Core architecture diagram
29
+ - Directory structure description
30
+ - Standard/Skills/Guide reference table
31
+
32
+ 2. claudeos-core/standard/ (active domains only)
33
+ - 00.core/01.project-overview.md — Stack, routing approach, deployment environment
34
+ - 00.core/02.architecture.md — Nuxt/Vue structure, component hierarchy, data flow, Nitro server
35
+ - 00.core/03.naming-conventions.md — File/component/composable/store naming conventions
36
+ - 20.frontend-ui/01.component-patterns.md — SFC, <script setup>, Props/Emits, slots, provide/inject
37
+ - 20.frontend-ui/02.page-routing-patterns.md — Pages/layouts/dynamic routes/middleware/definePageMeta
38
+ - 20.frontend-ui/03.data-fetching.md — useFetch, useAsyncData, $fetch, server routes, caching
39
+ - 20.frontend-ui/04.state-management.md — Pinia stores, composables, useState, form state
40
+ - 20.frontend-ui/05.styling-patterns.md — Scoped styles, CSS Modules, Tailwind/UnoCSS, theming
41
+ - 10.backend-api/01.server-routes.md — Nitro server routes (server/api/), H3 event handlers
42
+ - 30.security-db/01.security-auth.md — Auth, middleware protection, environment variables
43
+ - 40.infra/01.environment-config.md — Runtime config, nuxt.config.ts, Nitro presets
44
+ - 40.infra/02.logging-monitoring.md — Error tracking, analytics, Web Vitals
45
+ - 40.infra/03.cicd-deployment.md — CI/CD, deployment (Vercel/Netlify/Docker), preview
46
+ - 50.verification/01.development-verification.md — Build, startup, Lighthouse
47
+ - 50.verification/02.testing-strategy.md — Vitest, @vue/test-utils, E2E, @nuxt/test-utils
48
+
49
+ Each file MUST include:
50
+ - Correct examples (✅ code blocks)
51
+ - Incorrect examples (❌ code blocks)
52
+ - Key rules summary table
53
+
54
+ 3. .claude/rules/ (active domains only)
55
+ - Write the full rule content directly in each file (self-contained)
56
+ - Include 5-15 lines of key rules with concrete examples
57
+ - Do NOT use @import
58
+ - Each rule file MUST end with a `## Reference` section
59
+ - `paths:` frontmatter per rule category:
60
+ - `00.core/*` rules: `paths: ["**/*"]`
61
+ - `10.backend/*` rules: `paths: ["**/*"]`
62
+ - `20.frontend/*` rules: `paths: ["**/*"]`
63
+ - `30.security-db/*` rules: `paths: ["**/*"]`
64
+ - `40.infra/*` rules: `paths: ["**/*.json", "**/*.env*", "**/nuxt.config.*", "**/vite.config.*", "**/Dockerfile*", "**/*.yml", "**/*.yaml"]`
65
+ - `50.sync/*` rules: `paths: ["**/claudeos-core/**", "**/.claude/**"]`
66
+ - MUST generate `.claude/rules/00.core/00.standard-reference.md` — directory of all standard files
67
+
68
+ 4. .claude/rules/50.sync/ (3 sync rules)
69
+ - 01.standard-sync.md
70
+ - 02.rules-sync.md
71
+ - 03.skills-sync.md
72
+
73
+ 5. claudeos-core/skills/ (active domains only)
74
+ - 20.frontend-page/01.scaffold-page-feature.md (orchestrator)
75
+ - 20.frontend-page/scaffold-page-feature/01~08 (sub-skills: page, layout, component, composable, server-route, test, style, index)
76
+ - 00.shared/MANIFEST.md (skill registry)
77
+
78
+ 6. claudeos-core/guide/ (all)
79
+ - 01.onboarding/01.overview.md
80
+ - 01.onboarding/02.quickstart.md
81
+ - 01.onboarding/03.glossary.md
82
+ - 02.usage/01.faq.md
83
+ - 02.usage/02.real-world-examples.md
84
+ - 02.usage/03.do-and-dont.md
85
+ - 03.troubleshooting/01.troubleshooting.md
86
+ - 04.architecture/01.file-map.md
87
+ - 04.architecture/02.pros-and-cons.md
88
+
89
+ 7. claudeos-core/plan/ (Master Plan)
90
+ - 10.standard-master.md — CLAUDE.md + all standard/ files as <file> blocks
91
+ - 20.rules-master.md — All rules/ (except sync) as <file> blocks
92
+ - 21.sync-rules-master.md — All sync rules (code block format)
93
+ - 30.frontend-skills-master.md — All frontend skills as <file> blocks
94
+ - 40.guides-master.md — All guide/ files as <file> blocks
95
+
96
+ 8. claudeos-core/database/
97
+ - 01.schema-overview.md — DB schema description (if applicable)
98
+
99
+ 9. claudeos-core/mcp-guide/
100
+ - 01.mcp-overview.md — List of MCP servers in use, integration methods
@@ -50,7 +50,8 @@ function selectTemplates(stack) {
50
50
  // Backend template (requires a backend framework; language-only fallback skipped for pure frontend projects)
51
51
  if (stack.language === "kotlin") templates.backend = "kotlin-spring";
52
52
  else if (stack.language === "java") templates.backend = "java-spring";
53
- else if (stack.framework === "express" || stack.framework === "nestjs") templates.backend = "node-express";
53
+ else if (stack.framework === "nestjs") templates.backend = "node-nestjs";
54
+ else if (stack.framework === "express") templates.backend = "node-express";
54
55
  else if (stack.framework === "fastify") templates.backend = "node-fastify";
55
56
  else if (stack.framework === "django") templates.backend = "python-django";
56
57
  else if (stack.framework === "fastapi" || stack.framework === "flask") templates.backend = "python-fastapi";
@@ -58,8 +59,10 @@ function selectTemplates(stack) {
58
59
  else if (stack.language === "python" && stack.framework) templates.backend = "python-fastapi";
59
60
 
60
61
  // Frontend template
61
- if (stack.frontend === "nextjs" || stack.frontend === "react" || stack.frontend === "vue") {
62
+ if (stack.frontend === "nextjs" || stack.frontend === "react") {
62
63
  templates.frontend = "node-nextjs";
64
+ } else if (stack.frontend === "vue") {
65
+ templates.frontend = "vue-nuxt";
63
66
  } else if (stack.frontend === "angular") {
64
67
  templates.frontend = "angular";
65
68
  }
@@ -36,10 +36,7 @@ function generatePrompts(templates, lang, templatesDir, generatedDir) {
36
36
  function readTemplate(templateName, passName) {
37
37
  const src = path.join(templatesDir, templateName, `${passName}.md`);
38
38
  if (!existsSafe(src)) return null;
39
- let body = readFileSafe(src);
40
- body = body.replace(/^Project root path:.*\nInterpret all file paths.*\n\n?---\n\n?/s, "");
41
- body = body.replace(/\nAfter completion, run the following commands in order:[\s\S]*$/, "");
42
- return body;
39
+ return readFileSafe(src);
43
40
  }
44
41
 
45
42
  const activeTemplates = [templates.backend, templates.frontend].filter(Boolean);
@@ -15,8 +15,11 @@ async function scanFrontendDomains(stack, ROOT) {
15
15
 
16
16
  // ── Angular ──
17
17
  if (stack.frontend === "angular") {
18
- // Angular feature modules: src/app/*/ with *.component.ts or *.module.ts
19
- const angularAppDirs = await glob("{src/app,app}/*/", { cwd: ROOT });
18
+ // Angular feature modules: src/app/*/ with *.component.ts or *.module.ts (+ monorepo apps/*/)
19
+ const angularAppDirs = [
20
+ ...await glob("{src/app,app}/*/", { cwd: ROOT }),
21
+ ...await glob("{apps,packages}/*/src/app/*/", { cwd: ROOT, ignore: ["**/node_modules/**"] }),
22
+ ];
20
23
  const skipAngularDirs = ["shared", "core", "common", "layout", "layouts", "environments", "assets", "styles", "testing", "utils"];
21
24
  for (const dir of angularAppDirs) {
22
25
  const name = path.basename(dir.replace(/\/$/, ""));
@@ -51,16 +54,20 @@ async function scanFrontendDomains(stack, ROOT) {
51
54
 
52
55
  // ── Next.js/React/Vue ──
53
56
  if (stack.frontend === "nextjs" || stack.frontend === "react" || stack.frontend === "vue") {
54
- // App Router / Pages Router domains
57
+ // App Router / Pages Router domains (standard + monorepo apps/*/)
55
58
  const allDirs = [
56
59
  ...await glob("{app,src/app}/*/", { cwd: ROOT }),
57
60
  ...await glob("{pages,src/pages}/*/", { cwd: ROOT }),
61
+ ...await glob("{apps,packages}/*/app/*/", { cwd: ROOT, ignore: ["**/node_modules/**"] }),
62
+ ...await glob("{apps,packages}/*/src/app/*/", { cwd: ROOT, ignore: ["**/node_modules/**"] }),
63
+ ...await glob("{apps,packages}/*/pages/*/", { cwd: ROOT, ignore: ["**/node_modules/**"] }),
64
+ ...await glob("{apps,packages}/*/src/pages/*/", { cwd: ROOT, ignore: ["**/node_modules/**"] }),
58
65
  ];
59
- const skipPages = ["api", "_app", "_document", "fonts"];
66
+ const skipPages = ["api", "_app", "_document", "fonts", "not-found", "error", "loading"];
60
67
  for (const dir of allDirs) {
61
68
  const name = path.basename(dir);
62
69
  if (skipPages.includes(name) || name.startsWith("(") || name.startsWith("[") || name.startsWith("_") || name.startsWith(".")) continue;
63
- const files = await glob(`${dir}**/*.{tsx,jsx,ts,js,vue}`, { cwd: ROOT });
70
+ const files = await glob(`${dir.replace(/\\/g, "/")}**/*.{tsx,jsx,ts,js,vue}`, { cwd: ROOT });
64
71
  if (files.length > 0) {
65
72
  const pages = files.filter(f => /page\.|index\./.test(f)).length;
66
73
  const layouts = files.filter(f => /layout\./.test(f)).length;
@@ -81,7 +88,7 @@ async function scanFrontendDomains(stack, ROOT) {
81
88
  for (const dir of fsdDirs) {
82
89
  const name = path.basename(dir);
83
90
  if (["ui", "common", "shared", "lib", "config", "index"].includes(name)) continue;
84
- const files = await glob(`${dir}**/*.{tsx,jsx,ts,js,vue}`, { cwd: ROOT, ignore: ["**/*.spec.*", "**/*.test.*", "**/*.stories.*"] });
91
+ const files = await glob(`${dir.replace(/\\/g, "/")}**/*.{tsx,jsx,ts,js,vue}`, { cwd: ROOT, ignore: ["**/*.spec.*", "**/*.test.*", "**/*.stories.*"] });
85
92
  if (files.length > 0) {
86
93
  const uiFiles = files.filter(f => /\bui\b/.test(f)).length;
87
94
  const modelFiles = files.filter(f => /model|store|hook/.test(f)).length;
@@ -95,7 +102,7 @@ async function scanFrontendDomains(stack, ROOT) {
95
102
  for (const dir of compDirs) {
96
103
  const name = path.basename(dir);
97
104
  if (["ui", "common", "shared", "layout", "icons"].includes(name)) continue;
98
- const files = await glob(`${dir}**/*.{tsx,jsx,vue}`, { cwd: ROOT });
105
+ const files = await glob(`${dir.replace(/\\/g, "/")}**/*.{tsx,jsx,vue}`, { cwd: ROOT });
99
106
  if (files.length >= 2) {
100
107
  frontendDomains.push({ name: `comp-${name}`, type: "frontend", components: files.length, totalFiles: files.length });
101
108
  }