@theglitchking/hit-em-with-the-docs 2.3.0 → 2.5.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 (45) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/README.md +4 -0
  4. package/dist/action/core/audit/auditor.d.ts.map +1 -1
  5. package/dist/action/core/integrate/integrator.d.ts.map +1 -1
  6. package/dist/action/core/knowledge-base/fix-legacy-layout.d.ts +61 -0
  7. package/dist/action/core/knowledge-base/fix-legacy-layout.d.ts.map +1 -0
  8. package/dist/action/core/knowledge-base/migrate.d.ts +42 -8
  9. package/dist/action/core/knowledge-base/migrate.d.ts.map +1 -1
  10. package/dist/action/core/maintain/orchestrator.d.ts +2 -0
  11. package/dist/action/core/maintain/orchestrator.d.ts.map +1 -1
  12. package/dist/action/generators/regenerate.d.ts +38 -0
  13. package/dist/action/generators/regenerate.d.ts.map +1 -0
  14. package/dist/action/index.d.ts +1 -0
  15. package/dist/action/index.d.ts.map +1 -1
  16. package/dist/action/index.js +1 -1
  17. package/dist/cli/index.js +103 -4
  18. package/dist/cli/index.js.map +1 -1
  19. package/dist/core/audit/auditor.d.ts.map +1 -1
  20. package/dist/core/audit/auditor.js +62 -2
  21. package/dist/core/audit/auditor.js.map +1 -1
  22. package/dist/core/integrate/integrator.d.ts.map +1 -1
  23. package/dist/core/integrate/integrator.js +9 -31
  24. package/dist/core/integrate/integrator.js.map +1 -1
  25. package/dist/core/knowledge-base/fix-legacy-layout.d.ts +61 -0
  26. package/dist/core/knowledge-base/fix-legacy-layout.d.ts.map +1 -0
  27. package/dist/core/knowledge-base/fix-legacy-layout.js +189 -0
  28. package/dist/core/knowledge-base/fix-legacy-layout.js.map +1 -0
  29. package/dist/core/knowledge-base/migrate.d.ts +42 -8
  30. package/dist/core/knowledge-base/migrate.d.ts.map +1 -1
  31. package/dist/core/knowledge-base/migrate.js +59 -24
  32. package/dist/core/knowledge-base/migrate.js.map +1 -1
  33. package/dist/core/maintain/orchestrator.d.ts +2 -0
  34. package/dist/core/maintain/orchestrator.d.ts.map +1 -1
  35. package/dist/core/maintain/orchestrator.js +19 -0
  36. package/dist/core/maintain/orchestrator.js.map +1 -1
  37. package/dist/generators/regenerate.d.ts +38 -0
  38. package/dist/generators/regenerate.d.ts.map +1 -0
  39. package/dist/generators/regenerate.js +137 -0
  40. package/dist/generators/regenerate.js.map +1 -0
  41. package/dist/index.d.ts +1 -0
  42. package/dist/index.d.ts.map +1 -1
  43. package/dist/index.js +1 -0
  44. package/dist/index.js.map +1 -1
  45. package/package.json +1 -1
@@ -0,0 +1,137 @@
1
+ import { readdir, readFile, writeFile } from 'fs/promises';
2
+ import { join } from 'path';
3
+ import { DOMAINS } from '../core/domains/constants.js';
4
+ import { parseFrontmatter } from '../utils/frontmatter.js';
5
+ import { formatDate } from '../core/metadata/generator.js';
6
+ import { pathExists } from '../utils/glob.js';
7
+ import { logger } from '../utils/logger.js';
8
+ import { generateRootIndex, generateDomainIndexContent, } from './index-generator.js';
9
+ import { generateRootRegistry, generateDomainRegistryContent, } from './registry-generator.js';
10
+ /** Generated files that are never themselves treated as documents. */
11
+ const SYSTEM_FILES = new Set(['INDEX.md', 'REGISTRY.md']);
12
+ /**
13
+ * List the document files in a domain directory, excluding the generated
14
+ * INDEX.md / REGISTRY.md. Returns sorted file names (not paths). Empty when
15
+ * the domain directory does not exist.
16
+ */
17
+ export async function listDomainDocFiles(docsPath, domain) {
18
+ try {
19
+ const names = await readdir(join(docsPath, domain));
20
+ return names
21
+ .filter((n) => n.endsWith('.md') && !SYSTEM_FILES.has(n))
22
+ .sort();
23
+ }
24
+ catch {
25
+ return [];
26
+ }
27
+ }
28
+ /** Normalise a frontmatter date (Date | ISO string | plain date) to YYYY-MM-DD. */
29
+ function normalizeDate(value) {
30
+ if (value instanceof Date)
31
+ return formatDate(value);
32
+ if (typeof value === 'string') {
33
+ const match = value.match(/\d{4}-\d{2}-\d{2}/);
34
+ return match ? match[0] : value;
35
+ }
36
+ return formatDate(new Date());
37
+ }
38
+ /** Count words in a markdown body (frontmatter already stripped). */
39
+ function countWords(body) {
40
+ return body.split(/\s+/).filter(Boolean).length;
41
+ }
42
+ /** Derive a human title from a file name when frontmatter has no title. */
43
+ function titleFromFileName(fileName) {
44
+ return fileName
45
+ .replace(/\.md$/, '')
46
+ .replace(/[-_]/g, ' ')
47
+ .replace(/\b\w/g, (c) => c.toUpperCase());
48
+ }
49
+ /**
50
+ * Build IndexEntry[] for one domain by reading every document's frontmatter.
51
+ * `pathPrefix` is prepended to each entry's `path` — `''` for domain-relative
52
+ * paths (domain INDEX/REGISTRY) or `'<domain>/'` for root-relative paths.
53
+ */
54
+ async function buildDomainEntries(docsPath, domain, pathPrefix) {
55
+ const files = await listDomainDocFiles(docsPath, domain);
56
+ const entries = [];
57
+ for (const fileName of files) {
58
+ let raw;
59
+ try {
60
+ raw = await readFile(join(docsPath, domain, fileName), 'utf-8');
61
+ }
62
+ catch {
63
+ continue;
64
+ }
65
+ const { data, content } = parseFrontmatter(raw);
66
+ entries.push({
67
+ path: pathPrefix + fileName,
68
+ title: typeof data.title === 'string' && data.title.trim()
69
+ ? data.title
70
+ : titleFromFileName(fileName),
71
+ tier: typeof data.tier === 'string' ? data.tier : 'guide',
72
+ status: typeof data.status === 'string' ? data.status : 'active',
73
+ lastUpdated: normalizeDate(data.last_updated),
74
+ wordCount: typeof data.word_count === 'number'
75
+ ? data.word_count
76
+ : countWords(content),
77
+ });
78
+ }
79
+ return entries;
80
+ }
81
+ /**
82
+ * Regenerate domain + root INDEX.md / REGISTRY.md from the documents on disk.
83
+ *
84
+ * This is the single source of truth for index generation, shared by
85
+ * `integrate`, `maintain`, and the `index` CLI command. It replaces the
86
+ * fragile regex-append path in `integrate` that could only update an
87
+ * already-populated table — and silently no-op'd on a freshly scaffolded
88
+ * INDEX.md, so the first document into any domain was never registered
89
+ * (see https://github.com/TheGlitchKing/hit-em-with-the-docs/issues/7).
90
+ */
91
+ export async function regenerateIndexes(options) {
92
+ const { docsPath, silent = false } = options;
93
+ const targetDomains = options.domains ?? [...DOMAINS];
94
+ const result = {
95
+ documentCounts: {},
96
+ filesWritten: [],
97
+ totalDocuments: 0,
98
+ };
99
+ // Scan every domain — the root INDEX needs counts for all of them even
100
+ // when only a subset of domain files is being rewritten.
101
+ const rootEntriesByDomain = {};
102
+ for (const domain of DOMAINS) {
103
+ const domainEntries = await buildDomainEntries(docsPath, domain, '');
104
+ result.documentCounts[domain] = domainEntries.length;
105
+ result.totalDocuments += domainEntries.length;
106
+ rootEntriesByDomain[domain] = domainEntries.map((e) => ({
107
+ ...e,
108
+ path: `${domain}/${e.path}`,
109
+ }));
110
+ // Only (re)write a domain's own files when it is in the target set and
111
+ // its directory actually exists on disk.
112
+ if (!targetDomains.includes(domain))
113
+ continue;
114
+ const domainDir = join(docsPath, domain);
115
+ if (!(await pathExists(domainDir)))
116
+ continue;
117
+ const indexPath = join(domainDir, 'INDEX.md');
118
+ const registryPath = join(domainDir, 'REGISTRY.md');
119
+ await writeFile(indexPath, generateDomainIndexContent(domain, domainEntries), 'utf-8');
120
+ await writeFile(registryPath, generateDomainRegistryContent(domain, domainEntries), 'utf-8');
121
+ result.filesWritten.push(indexPath, registryPath);
122
+ }
123
+ // Root INDEX.md / REGISTRY.md — always refreshed.
124
+ if (await pathExists(docsPath)) {
125
+ const rootIndexPath = join(docsPath, 'INDEX.md');
126
+ const rootRegistryPath = join(docsPath, 'REGISTRY.md');
127
+ await writeFile(rootIndexPath, generateRootIndex(rootEntriesByDomain), 'utf-8');
128
+ await writeFile(rootRegistryPath, generateRootRegistry(), 'utf-8');
129
+ result.filesWritten.push(rootIndexPath, rootRegistryPath);
130
+ }
131
+ if (!silent) {
132
+ logger.success(`Regenerated ${result.filesWritten.length} index file(s) — ` +
133
+ `${result.totalDocuments} document(s) across ${DOMAINS.length} domains`);
134
+ }
135
+ return result;
136
+ }
137
+ //# sourceMappingURL=regenerate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"regenerate.js","sourceRoot":"","sources":["../../src/generators/regenerate.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -16,6 +16,7 @@ export * from './utils/markdown.js';
16
16
  export * from './generators/scaffold.js';
17
17
  export * from './generators/index-generator.js';
18
18
  export * from './generators/registry-generator.js';
19
+ export * from './generators/regenerate.js';
19
20
  export * from './core/metadata/sync.js';
20
21
  export * from './core/links/checker.js';
21
22
  export * from './core/links/tracker.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAG7C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,8BAA8B,CAAC;AAG7C,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AAGpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,iCAAiC,CAAC;AAChD,cAAc,oCAAoC,CAAC;AAGnD,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAGhD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,iCAAiC,CAAC;AAGhD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AAGzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAG7C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,8BAA8B,CAAC;AAG7C,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AAGpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,iCAAiC,CAAC;AAChD,cAAc,oCAAoC,CAAC;AACnD,cAAc,4BAA4B,CAAC;AAG3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAGhD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,iCAAiC,CAAC;AAGhD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AAGzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC"}
package/dist/index.js CHANGED
@@ -20,6 +20,7 @@ export * from './utils/markdown.js';
20
20
  export * from './generators/scaffold.js';
21
21
  export * from './generators/index-generator.js';
22
22
  export * from './generators/registry-generator.js';
23
+ export * from './generators/regenerate.js';
23
24
  // Core automation
24
25
  export * from './core/metadata/sync.js';
25
26
  export * from './core/links/checker.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,qBAAqB;AACrB,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAE7C,kBAAkB;AAClB,cAAc,2BAA2B,CAAC;AAC1C,cAAc,8BAA8B,CAAC;AAE7C,YAAY;AACZ,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AAEpC,aAAa;AACb,cAAc,0BAA0B,CAAC;AACzC,cAAc,iCAAiC,CAAC;AAChD,cAAc,oCAAoC,CAAC;AAEnD,kBAAkB;AAClB,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAEhD,mBAAmB;AACnB,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,iCAAiC,CAAC;AAEhD,UAAU;AACV,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AAEzC,qCAAqC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,qBAAqB;AACrB,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAE7C,kBAAkB;AAClB,cAAc,2BAA2B,CAAC;AAC1C,cAAc,8BAA8B,CAAC;AAE7C,YAAY;AACZ,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AAEpC,aAAa;AACb,cAAc,0BAA0B,CAAC;AACzC,cAAc,iCAAiC,CAAC;AAChD,cAAc,oCAAoC,CAAC;AACnD,cAAc,4BAA4B,CAAC;AAE3C,kBAAkB;AAClB,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAEhD,mBAAmB;AACnB,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,iCAAiC,CAAC;AAEhD,UAAU;AACV,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AAEzC,qCAAqC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@theglitchking/hit-em-with-the-docs",
3
- "version": "2.3.0",
3
+ "version": "2.5.0",
4
4
  "description": "Self-managing documentation system with hierarchical structure, intelligent automation, pattern discovery, and agent orchestration",
5
5
  "type": "module",
6
6
  "main": "dist/cli/index.js",