llm-wiki-kit 0.1.9 → 0.1.10

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 (2) hide show
  1. package/package.json +1 -1
  2. package/src/cli.js +16 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "llm-wiki-kit",
3
- "version": "0.1.9",
3
+ "version": "0.1.10",
4
4
  "description": "Hook-first living LLM Wiki runtime for Codex and Claude Code.",
5
5
  "type": "module",
6
6
  "files": [
package/src/cli.js CHANGED
@@ -222,6 +222,9 @@ async function listProjects(options) {
222
222
  workspace: root,
223
223
  runtime: state?.lastRuntimeVersionApplied || 'unknown',
224
224
  current: Boolean(state?.runtimeUpToDateWithProject && state?.managedFilesCurrent),
225
+ runtimeCurrent: Boolean(state?.runtimeUpToDateWithProject),
226
+ autoUpdateable: (state?.managedFiles || []).filter((file) => !file.current && file.patchable).length,
227
+ needsAttention: (state?.managedFiles || []).filter((file) => file.needsAttention).length,
225
228
  error,
226
229
  });
227
230
  }
@@ -318,7 +321,7 @@ function formatProjects(value) {
318
321
  lines.push('- no applied project roots found');
319
322
  } else {
320
323
  for (const project of value.projects) {
321
- const status = project.error ? `error: ${project.error}` : project.current ? 'current' : `needs update (applied ${project.runtime})`;
324
+ const status = formatProjectListStatus(project);
322
325
  lines.push(`- ${project.workspace}: ${status}`);
323
326
  }
324
327
  }
@@ -327,3 +330,15 @@ function formatProjects(value) {
327
330
  lines.push('To reapply templates without npm install:', commandForProject('post-update --all', value.workspace));
328
331
  return lines.join('\n');
329
332
  }
333
+
334
+ function formatProjectListStatus(project) {
335
+ if (project.error) return `error: ${project.error}`;
336
+ if (project.current) return 'current';
337
+ if (project.runtimeCurrent && project.autoUpdateable === 0 && project.needsAttention > 0) {
338
+ return `needs agent cleanup (${project.needsAttention}; applied ${project.runtime})`;
339
+ }
340
+ if (project.autoUpdateable > 0) {
341
+ return `needs template update (${project.autoUpdateable}; applied ${project.runtime})`;
342
+ }
343
+ return `needs review (applied ${project.runtime})`;
344
+ }