claudeos-core 1.0.5 → 1.0.6

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claudeos-core",
3
- "version": "1.0.5",
3
+ "version": "1.0.6",
4
4
  "description": "Auto-generate Claude Code documentation from your actual source code — Standards, Rules, Skills, and Guides tailored to your project",
5
5
  "main": "health-checker/index.js",
6
6
  "bin": {
@@ -1,3 +1,9 @@
1
+ ⚠️ CRITICAL INSTRUCTION: 이것은 대화가 아닙니다. 아래 지시를 즉시 실행하세요.
2
+ - 질문하지 마세요. "무엇을 도와드릴까요?" 같은 응답을 하지 마세요.
3
+ - 프로젝트 구조 설명을 하지 마세요.
4
+ - 아래 분석 항목을 모두 수행하고, 결과를 지정된 JSON 파일에 저장하세요.
5
+ - 반드시 파일을 생성해야 합니다. 대화형 응답은 실패로 간주됩니다.
6
+
1
7
  프로젝트 루트 경로: {{PROJECT_ROOT}}
2
8
  이 경로를 기준으로 모든 파일 경로를 해석해줘.
3
9
 
@@ -301,12 +301,12 @@ async function scanStructure(stack) {
301
301
  const serviceDirs = await glob("src/main/java/**/*/service/*.java", { cwd: ROOT });
302
302
  const mapperDirs = await glob("src/main/java/**/*/{mapper,repository}/*.java", { cwd: ROOT });
303
303
  const allServiceFiles = [...serviceDirs, ...mapperDirs];
304
- const skipDomains = ["common", "config", "util", "utils", "base", "core", "shared", "global", "framework", "infra"];
304
+ const skipDomains = ["common", "config", "util", "utils", "base", "core", "shared", "global", "framework", "infra", "front", "admin", "back", "internal", "external", "web", "app", "test", "tests", "main", "generated", "build"];
305
305
  for (const f of allServiceFiles) {
306
306
  const m = f.match(/\/([^/]+)\/(service|mapper|repository)\/[^/]+\.java$/);
307
307
  if (m) {
308
308
  const d = m[1];
309
- if (!domainMap[d] && !skipDomains.includes(d)) {
309
+ if (!domainMap[d] && !skipDomains.includes(d) && !/^v\d+$/.test(d)) {
310
310
  domainMap[d] = { controllers: 0, services: 0, mappers: 0, dtos: 0, xmlMappers: 0, pattern: detectedPattern || "B" };
311
311
  }
312
312
  }
@@ -355,7 +355,8 @@ async function scanStructure(stack) {
355
355
  if (backendDomains.length === 0) {
356
356
  const allJava = await glob("**/*.java", { cwd: ROOT, ignore: ["**/node_modules/**", "**/build/**", "**/target/**", "**/test/**", "**/generated/**"] });
357
357
  const javaDomains = {};
358
- const skipNames = ["common", "config", "util", "utils", "base", "shared", "global", "framework", "infra", "api", "main"];
358
+ const skipNames = ["common", "config", "util", "utils", "base", "shared", "global", "framework", "infra", "api", "main", "front", "admin", "back", "internal", "external", "web", "app", "test", "tests", "generated", "build"];
359
+ const versionPattern = /^v\d+$/;
359
360
  const layerNames = ["controller", "service", "mapper", "repository", "dao", "dto", "vo", "entity", "aggregator", "adapter"];
360
361
 
361
362
  for (const f of allJava) {
@@ -367,7 +368,7 @@ async function scanStructure(stack) {
367
368
  const nextDir = parts[i + 1];
368
369
 
369
370
  // {domain}/layer/ 패턴 (도메인이 레이어 앞에)
370
- if (!skipNames.includes(prevDir) && !layerNames.includes(prevDir) && !prevDir.includes(".")) {
371
+ if (!skipNames.includes(prevDir) && !layerNames.includes(prevDir) && !prevDir.includes(".") && !versionPattern.test(prevDir)) {
371
372
  if (!javaDomains[prevDir]) javaDomains[prevDir] = { controllers: 0, services: 0, mappers: 0, dtos: 0, xmlMappers: 0, pattern: "B" };
372
373
  if (parts[i] === "controller") javaDomains[prevDir].controllers++;
373
374
  else if (parts[i] === "service") javaDomains[prevDir].services++;
@@ -375,7 +376,7 @@ async function scanStructure(stack) {
375
376
  else if (["dto", "vo"].includes(parts[i])) javaDomains[prevDir].dtos++;
376
377
  }
377
378
  // layer/{domain}/ 패턴 (레이어가 도메인 앞에)
378
- if (nextDir && !nextDir.endsWith(".java") && !skipNames.includes(nextDir) && !layerNames.includes(nextDir)) {
379
+ if (nextDir && !nextDir.endsWith(".java") && !skipNames.includes(nextDir) && !layerNames.includes(nextDir) && !versionPattern.test(nextDir)) {
379
380
  if (!javaDomains[nextDir]) javaDomains[nextDir] = { controllers: 0, services: 0, mappers: 0, dtos: 0, xmlMappers: 0, pattern: "A" };
380
381
  if (parts[i] === "controller") javaDomains[nextDir].controllers++;
381
382
  else if (parts[i] === "service") javaDomains[nextDir].services++;