claudeos-core 1.2.3 → 1.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Changelog
2
2
 
3
- ## [1.2.3] — 2026-04-03
3
+ ## [1.2.4] — 2026-04-03
4
4
 
5
5
  ### Changed
6
6
  - **50.sync/ rules role clarified** — no longer described as "hooks fallback"; now the primary sync reminder mechanism (`npx claudeos-core refresh`)
package/bootstrap.sh CHANGED
@@ -74,6 +74,7 @@ if [ "$VALID" = false ]; then
74
74
  fi
75
75
 
76
76
  export CLAUDEOS_LANG
77
+ export CLAUDEOS_ROOT="$PROJECT_ROOT"
77
78
 
78
79
  # ─── Prompt placeholder substitution helper ────────────────────
79
80
  inject_project_root() {
@@ -3,10 +3,9 @@
3
3
  /**
4
4
  * ClaudeOS-Core — Manifest Generator
5
5
  *
6
- * Role: Generate 4 types of metadata JSON + initialize stale-report
6
+ * Role: Generate metadata JSON + initialize stale-report
7
7
  * Output (claudeos-core/generated/):
8
8
  * - rule-manifest.json : rules/standard/skills/guide file list + frontmatter
9
- * - import-graph.json : (deprecated — kept for backward compatibility, @import removed)
10
9
  * - sync-map.json : plan/ <file> block → file path mapping
11
10
  * - plan-manifest.json : plan/ file list + <file> block count
12
11
  * - stale-report.json : initialized (each verification tool appends results)
@@ -117,16 +116,7 @@ async function main() {
117
116
  fs.writeFileSync(path.join(GEN, "rule-manifest.json"), JSON.stringify(mf, null, 2));
118
117
  console.log(` ✅ rule-manifest.json — ${mf.summary.total} files indexed`);
119
118
 
120
- // ─── import-graph.json (deprecated — @import removed) ──
121
- const gr = {
122
- generatedAt: new Date().toISOString(),
123
- deprecated: true,
124
- note: "@import is not a Claude Code feature and has been removed. Rules now use paths: [\"**/*\"] frontmatter.",
125
- nodes: [], edges: [], errors: [],
126
- summary: { totalNodes: 0, totalEdges: 0, brokenImports: 0 },
127
- };
128
- fs.writeFileSync(path.join(GEN, "import-graph.json"), JSON.stringify(gr, null, 2));
129
- console.log(" ✅ import-graph.json — deprecated (no @imports)");
119
+ // import-graph.json removed — @import was never a Claude Code feature
130
120
 
131
121
  // ─── sync-map.json ─────────────────────────────────────
132
122
  const sm = { generatedAt: new Date().toISOString(), mappings: [] };
@@ -158,7 +148,7 @@ async function main() {
158
148
  JSON.stringify({ generatedAt: new Date().toISOString(), summary: { totalIssues: 0, status: "initial" } }, null, 2)
159
149
  );
160
150
  console.log(" ✅ stale-report.json — initialized");
161
- console.log("\n 📁 Output: claudeos-core/generated/ (5 files)\n");
151
+ console.log("\n 📁 Output: claudeos-core/generated/ (4 files)\n");
162
152
  }
163
153
 
164
154
  main().catch(e => { console.error(e); process.exit(1); });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claudeos-core",
3
- "version": "1.2.3",
3
+ "version": "1.2.4",
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": "bin/cli.js",
6
6
  "bin": {
@@ -1276,6 +1276,11 @@ async function main() {
1276
1276
  const stack = await detectStack();
1277
1277
  console.log(` Language: ${stack.language || "unknown"} ${stack.languageVersion || ""}`);
1278
1278
  console.log(` Framework: ${stack.framework || "none"} ${stack.frameworkVersion || ""}`);
1279
+ if (!stack.language && !stack.framework) {
1280
+ console.warn("\n ⚠️ No language or framework detected.");
1281
+ console.warn(" Supported: Java, Kotlin, TypeScript, JavaScript, Python");
1282
+ console.warn(" Ensure you have build.gradle, package.json, pyproject.toml, or requirements.txt in the project root.\n");
1283
+ }
1279
1284
  console.log(` Frontend: ${stack.frontend || "none"} ${stack.frontendVersion || ""}`);
1280
1285
  console.log(` Database: ${stack.database || "none"}`);
1281
1286
  console.log(` ORM: ${stack.orm || "none"}`);
@@ -1289,6 +1294,11 @@ async function main() {
1289
1294
  console.log(` Total: ${domains.length} domains`);
1290
1295
  if (rootPackage) console.log(` Package: ${rootPackage}`);
1291
1296
  if (frontend.exists) console.log(` Components: ${frontend.components} components, ${frontend.pages} pages, ${frontend.hooks} hooks`);
1297
+ if (backendDomains.length === 0 && frontendDomains.length === 0) {
1298
+ console.warn("\n ⚠️ No domains detected.");
1299
+ console.warn(" Pass 1 will be skipped. Generated output may be minimal.");
1300
+ console.warn(" Check your project structure — see README for supported patterns.\n");
1301
+ }
1292
1302
  console.log();
1293
1303
 
1294
1304
  // Phase 3: Template selection (multi-stack)