@theglitchking/hit-em-with-the-docs 2.4.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.
- package/.claude-plugin/marketplace.json +2 -2
- package/.claude-plugin/plugin.json +1 -1
- package/README.md +2 -0
- package/dist/action/core/audit/auditor.d.ts.map +1 -1
- package/dist/action/core/integrate/integrator.d.ts.map +1 -1
- package/dist/action/core/maintain/orchestrator.d.ts +2 -0
- package/dist/action/core/maintain/orchestrator.d.ts.map +1 -1
- package/dist/action/generators/regenerate.d.ts +38 -0
- package/dist/action/generators/regenerate.d.ts.map +1 -0
- package/dist/action/index.d.ts +1 -0
- package/dist/action/index.d.ts.map +1 -1
- package/dist/action/index.js +1 -1
- package/dist/cli/index.js +33 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/core/audit/auditor.d.ts.map +1 -1
- package/dist/core/audit/auditor.js +62 -2
- package/dist/core/audit/auditor.js.map +1 -1
- package/dist/core/integrate/integrator.d.ts.map +1 -1
- package/dist/core/integrate/integrator.js +9 -31
- package/dist/core/integrate/integrator.js.map +1 -1
- package/dist/core/maintain/orchestrator.d.ts +2 -0
- package/dist/core/maintain/orchestrator.d.ts.map +1 -1
- package/dist/core/maintain/orchestrator.js +19 -0
- package/dist/core/maintain/orchestrator.js.map +1 -1
- package/dist/generators/regenerate.d.ts +38 -0
- package/dist/generators/regenerate.d.ts.map +1 -0
- package/dist/generators/regenerate.js +137 -0
- package/dist/generators/regenerate.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- 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';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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;
|
|
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;
|
|
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
|
+
"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",
|