ctxr-cli 0.5.0 → 0.7.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/dist/adapter.d.ts +0 -1
- package/dist/adapter.d.ts.map +1 -1
- package/dist/adapter.js.map +1 -1
- package/dist/adapters/builtin/index.d.ts.map +1 -1
- package/dist/adapters/builtin/index.js +2 -2
- package/dist/adapters/builtin/index.js.map +1 -1
- package/dist/adapters/harness/claude-code.d.ts.map +1 -1
- package/dist/adapters/harness/claude-code.js +30 -14
- package/dist/adapters/harness/claude-code.js.map +1 -1
- package/dist/adapters/harness/hermes-agent.d.ts +9 -0
- package/dist/adapters/harness/hermes-agent.d.ts.map +1 -0
- package/dist/adapters/harness/hermes-agent.js +13 -0
- package/dist/adapters/harness/hermes-agent.js.map +1 -0
- package/dist/adapters/types.d.ts +38 -18
- package/dist/adapters/types.d.ts.map +1 -1
- package/dist/adapters/types.js +3 -3
- package/dist/adapters/types.js.map +1 -1
- package/dist/commands/adapters-generate.d.ts +4 -2
- package/dist/commands/adapters-generate.d.ts.map +1 -1
- package/dist/commands/adapters-generate.js +14 -6
- package/dist/commands/adapters-generate.js.map +1 -1
- package/dist/commands/archive.d.ts +6 -4
- package/dist/commands/archive.d.ts.map +1 -1
- package/dist/commands/archive.js +7 -5
- package/dist/commands/archive.js.map +1 -1
- package/dist/commands/catalog-show.d.ts +0 -1
- package/dist/commands/catalog-show.d.ts.map +1 -1
- package/dist/commands/catalog-show.js +1 -1
- package/dist/commands/catalog-show.js.map +1 -1
- package/dist/commands/graph-query.d.ts +2 -11
- package/dist/commands/graph-query.d.ts.map +1 -1
- package/dist/commands/graph-query.js +11 -14
- package/dist/commands/graph-query.js.map +1 -1
- package/dist/commands/init.d.ts +2 -0
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +82 -21
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/publish-check.d.ts +23 -0
- package/dist/commands/publish-check.d.ts.map +1 -0
- package/dist/commands/publish-check.js +112 -0
- package/dist/commands/publish-check.js.map +1 -0
- package/dist/commands/publish-gather.d.ts +27 -0
- package/dist/commands/publish-gather.d.ts.map +1 -0
- package/dist/commands/publish-gather.js +73 -0
- package/dist/commands/publish-gather.js.map +1 -0
- package/dist/commands/publish-new.d.ts +19 -0
- package/dist/commands/publish-new.d.ts.map +1 -0
- package/dist/commands/publish-new.js +108 -0
- package/dist/commands/publish-new.js.map +1 -0
- package/dist/commands/serve.d.ts +32 -0
- package/dist/commands/serve.d.ts.map +1 -0
- package/dist/commands/serve.js +151 -0
- package/dist/commands/serve.js.map +1 -0
- package/dist/commands/session-capture.d.ts.map +1 -1
- package/dist/commands/session-capture.js +0 -2
- package/dist/commands/session-capture.js.map +1 -1
- package/dist/commands/update.js +3 -3
- package/dist/commands/update.js.map +1 -1
- package/dist/config/defaults.d.ts +49 -44
- package/dist/config/defaults.d.ts.map +1 -1
- package/dist/config/defaults.js +49 -47
- package/dist/config/defaults.js.map +1 -1
- package/dist/config/schema.d.ts +53 -52
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +84 -62
- package/dist/config/schema.js.map +1 -1
- package/dist/core/agents-doc.d.ts +9 -0
- package/dist/core/agents-doc.d.ts.map +1 -1
- package/dist/core/agents-doc.js +31 -16
- package/dist/core/agents-doc.js.map +1 -1
- package/dist/core/browse/link-resolver.d.ts +12 -0
- package/dist/core/browse/link-resolver.d.ts.map +1 -0
- package/dist/core/browse/link-resolver.js +12 -0
- package/dist/core/browse/link-resolver.js.map +1 -0
- package/dist/core/browse/nav.d.ts +10 -0
- package/dist/core/browse/nav.d.ts.map +1 -0
- package/dist/core/browse/nav.js +101 -0
- package/dist/core/browse/nav.js.map +1 -0
- package/dist/core/browse/render.d.ts +5 -0
- package/dist/core/browse/render.d.ts.map +1 -0
- package/dist/core/browse/render.js +66 -0
- package/dist/core/browse/render.js.map +1 -0
- package/dist/core/browse/routes.d.ts +40 -0
- package/dist/core/browse/routes.d.ts.map +1 -0
- package/dist/core/browse/routes.js +68 -0
- package/dist/core/browse/routes.js.map +1 -0
- package/dist/core/browse/templates.d.ts +13 -0
- package/dist/core/browse/templates.d.ts.map +1 -0
- package/dist/core/browse/templates.js +39 -0
- package/dist/core/browse/templates.js.map +1 -0
- package/dist/core/browse/tree.d.ts +33 -0
- package/dist/core/browse/tree.d.ts.map +1 -0
- package/dist/core/browse/tree.js +53 -0
- package/dist/core/browse/tree.js.map +1 -0
- package/dist/core/catalog/build.d.ts +1 -1
- package/dist/core/catalog/build.d.ts.map +1 -1
- package/dist/core/catalog/build.js +1 -2
- package/dist/core/catalog/build.js.map +1 -1
- package/dist/core/catalog/model.d.ts +2 -0
- package/dist/core/catalog/model.d.ts.map +1 -1
- package/dist/core/catalog/model.js +2 -1
- package/dist/core/catalog/model.js.map +1 -1
- package/dist/core/checks/integrity-checks.d.ts +18 -2
- package/dist/core/checks/integrity-checks.d.ts.map +1 -1
- package/dist/core/checks/integrity-checks.js +55 -10
- package/dist/core/checks/integrity-checks.js.map +1 -1
- package/dist/core/checks/manifest.d.ts.map +1 -1
- package/dist/core/checks/manifest.js +0 -5
- package/dist/core/checks/manifest.js.map +1 -1
- package/dist/core/checks/organize-checks.d.ts +10 -3
- package/dist/core/checks/organize-checks.d.ts.map +1 -1
- package/dist/core/checks/organize-checks.js +14 -5
- package/dist/core/checks/organize-checks.js.map +1 -1
- package/dist/core/checks/types.d.ts +1 -1
- package/dist/core/convention-doc.d.ts +21 -19
- package/dist/core/convention-doc.d.ts.map +1 -1
- package/dist/core/convention-doc.js +48 -62
- package/dist/core/convention-doc.js.map +1 -1
- package/dist/core/conventions.d.ts +2 -2
- package/dist/core/conventions.js +2 -2
- package/dist/core/errors.d.ts +31 -44
- package/dist/core/errors.d.ts.map +1 -1
- package/dist/core/errors.js +81 -128
- package/dist/core/errors.js.map +1 -1
- package/dist/core/exit-codes.d.ts +7 -5
- package/dist/core/exit-codes.d.ts.map +1 -1
- package/dist/core/exit-codes.js +7 -5
- package/dist/core/exit-codes.js.map +1 -1
- package/dist/core/git/repo.d.ts +0 -6
- package/dist/core/git/repo.d.ts.map +1 -1
- package/dist/core/git/repo.js +0 -13
- package/dist/core/git/repo.js.map +1 -1
- package/dist/core/git/worktree.d.ts +4 -7
- package/dist/core/git/worktree.d.ts.map +1 -1
- package/dist/core/git/worktree.js +4 -10
- package/dist/core/git/worktree.js.map +1 -1
- package/dist/core/graph/model.d.ts +14 -0
- package/dist/core/graph/model.d.ts.map +1 -1
- package/dist/core/graph/model.js +30 -14
- package/dist/core/graph/model.js.map +1 -1
- package/dist/core/harness/bridge.d.ts +30 -0
- package/dist/core/harness/bridge.d.ts.map +1 -0
- package/dist/core/harness/bridge.js +178 -0
- package/dist/core/harness/bridge.js.map +1 -0
- package/dist/core/ingest/identity.d.ts +4 -4
- package/dist/core/ingest/identity.js +4 -4
- package/dist/core/json-config-merge.d.ts.map +1 -1
- package/dist/core/json-config-merge.js +30 -7
- package/dist/core/json-config-merge.js.map +1 -1
- package/dist/core/migrations/add-explanation-craft-skill.d.ts +26 -0
- package/dist/core/migrations/add-explanation-craft-skill.d.ts.map +1 -0
- package/dist/core/migrations/add-explanation-craft-skill.js +94 -0
- package/dist/core/migrations/add-explanation-craft-skill.js.map +1 -0
- package/dist/core/migrations/archive-destination-from-taxonomy.d.ts +35 -0
- package/dist/core/migrations/archive-destination-from-taxonomy.d.ts.map +1 -0
- package/dist/core/migrations/archive-destination-from-taxonomy.js +109 -0
- package/dist/core/migrations/archive-destination-from-taxonomy.js.map +1 -0
- package/dist/core/migrations/drop-access-axes.d.ts +24 -0
- package/dist/core/migrations/drop-access-axes.d.ts.map +1 -0
- package/dist/core/migrations/drop-access-axes.js +54 -0
- package/dist/core/migrations/drop-access-axes.js.map +1 -0
- package/dist/core/migrations/drop-forge-and-workspaces-external.d.ts +19 -0
- package/dist/core/migrations/drop-forge-and-workspaces-external.d.ts.map +1 -0
- package/dist/core/migrations/drop-forge-and-workspaces-external.js +49 -0
- package/dist/core/migrations/drop-forge-and-workspaces-external.js.map +1 -0
- package/dist/core/migrations/registry.d.ts +11 -1
- package/dist/core/migrations/registry.d.ts.map +1 -1
- package/dist/core/migrations/registry.js +19 -3
- package/dist/core/migrations/registry.js.map +1 -1
- package/dist/core/notes/list.d.ts +1 -12
- package/dist/core/notes/list.d.ts.map +1 -1
- package/dist/core/notes/list.js +5 -1
- package/dist/core/notes/list.js.map +1 -1
- package/dist/core/publish/script-check.d.ts +12 -0
- package/dist/core/publish/script-check.d.ts.map +1 -0
- package/dist/core/publish/script-check.js +39 -0
- package/dist/core/publish/script-check.js.map +1 -0
- package/dist/core/reconcile.d.ts +3 -0
- package/dist/core/reconcile.d.ts.map +1 -1
- package/dist/core/reconcile.js +15 -5
- package/dist/core/reconcile.js.map +1 -1
- package/dist/core/records.d.ts +4 -5
- package/dist/core/records.d.ts.map +1 -1
- package/dist/core/records.js +0 -2
- package/dist/core/records.js.map +1 -1
- package/dist/core/session.d.ts +9 -9
- package/dist/core/session.js +9 -9
- package/dist/core/skills.d.ts +42 -0
- package/dist/core/skills.d.ts.map +1 -1
- package/dist/core/skills.js +159 -31
- package/dist/core/skills.js.map +1 -1
- package/dist/core/write-lifecycle/path-gate.d.ts.map +1 -1
- package/dist/core/write-lifecycle/path-gate.js +4 -2
- package/dist/core/write-lifecycle/path-gate.js.map +1 -1
- package/dist/prompt/inquirer-prompter.d.ts.map +1 -1
- package/dist/prompt/inquirer-prompter.js +11 -1
- package/dist/prompt/inquirer-prompter.js.map +1 -1
- package/dist/prompt/prompter.d.ts +16 -0
- package/dist/prompt/prompter.d.ts.map +1 -1
- package/dist/run.d.ts.map +1 -1
- package/dist/run.js +69 -101
- package/dist/run.js.map +1 -1
- package/dist/taxonomy/profiles.d.ts +11 -0
- package/dist/taxonomy/profiles.d.ts.map +1 -1
- package/dist/taxonomy/profiles.js +1 -0
- package/dist/taxonomy/profiles.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +3 -1
- package/templates/agents/canonical.md +1 -3
- package/templates/conventions/baseline-conventions.md +27 -0
- package/templates/conventions/{custom-convention-seed.md → house-conventions-seed.md} +15 -2
- package/templates/hooks/pre-push.sh +1 -1
- package/templates/serve/shell.html +18 -0
- package/templates/serve/style.css +163 -0
- package/templates/skills/ctxr-land.md +32 -18
- package/templates/skills/ctxr-organize-audit.md +2 -10
- package/templates/skills/ctxr-placement.md +6 -24
- package/templates/skills/ctxr-publish.md +84 -0
- package/templates/skills/ctxr-session-capture.md +43 -3
- package/templates/skills/ctxr-session-lifecycle.md +20 -1
- package/templates/skills/ctxr-submit.md +15 -11
- package/templates/vendor/eli5/LICENSE.txt +21 -0
- package/templates/vendor/eli5/SKILL.md +116 -0
- package/templates/vendor/eli5/provenance.json +8 -0
- package/templates/vendor/frontend-design/LICENSE.txt +177 -0
- package/templates/vendor/frontend-design/SKILL.md +55 -0
- package/templates/vendor/frontend-design/provenance.json +7 -0
- package/dist/adapters/forge/github.d.ts +0 -12
- package/dist/adapters/forge/github.d.ts.map +0 -1
- package/dist/adapters/forge/github.js +0 -76
- package/dist/adapters/forge/github.js.map +0 -1
- package/dist/adapters/forge/types.d.ts +0 -46
- package/dist/adapters/forge/types.d.ts.map +0 -1
- package/dist/adapters/forge/types.js +0 -2
- package/dist/adapters/forge/types.js.map +0 -1
- package/dist/commands/check.d.ts +0 -30
- package/dist/commands/check.d.ts.map +0 -1
- package/dist/commands/check.js +0 -70
- package/dist/commands/check.js.map +0 -1
- package/dist/commands/note-resolve.d.ts +0 -14
- package/dist/commands/note-resolve.d.ts.map +0 -1
- package/dist/commands/note-resolve.js +0 -24
- package/dist/commands/note-resolve.js.map +0 -1
- package/dist/commands/session-abandon.d.ts +0 -13
- package/dist/commands/session-abandon.d.ts.map +0 -1
- package/dist/commands/session-abandon.js +0 -22
- package/dist/commands/session-abandon.js.map +0 -1
- package/dist/commands/session-land.d.ts +0 -45
- package/dist/commands/session-land.d.ts.map +0 -1
- package/dist/commands/session-land.js +0 -171
- package/dist/commands/session-land.js.map +0 -1
- package/dist/commands/session-reap.d.ts +0 -22
- package/dist/commands/session-reap.d.ts.map +0 -1
- package/dist/commands/session-reap.js +0 -52
- package/dist/commands/session-reap.js.map +0 -1
- package/dist/commands/session-submit.d.ts +0 -29
- package/dist/commands/session-submit.d.ts.map +0 -1
- package/dist/commands/session-submit.js +0 -72
- package/dist/commands/session-submit.js.map +0 -1
- package/dist/core/checks/disclosure-checks.d.ts +0 -4
- package/dist/core/checks/disclosure-checks.d.ts.map +0 -1
- package/dist/core/checks/disclosure-checks.js +0 -24
- package/dist/core/checks/disclosure-checks.js.map +0 -1
- package/dist/core/disclosure/leak-scan.d.ts +0 -19
- package/dist/core/disclosure/leak-scan.d.ts.map +0 -1
- package/dist/core/disclosure/leak-scan.js +0 -31
- package/dist/core/disclosure/leak-scan.js.map +0 -1
- package/dist/core/disclosure/model.d.ts +0 -18
- package/dist/core/disclosure/model.d.ts.map +0 -1
- package/dist/core/disclosure/model.js +0 -45
- package/dist/core/disclosure/model.js.map +0 -1
- package/dist/core/graph/visibility-filter.d.ts +0 -13
- package/dist/core/graph/visibility-filter.d.ts.map +0 -1
- package/dist/core/graph/visibility-filter.js +0 -26
- package/dist/core/graph/visibility-filter.js.map +0 -1
- package/dist/core/migrations/rename-visibility-field.d.ts +0 -3
- package/dist/core/migrations/rename-visibility-field.d.ts.map +0 -1
- package/dist/core/migrations/rename-visibility-field.js +0 -62
- package/dist/core/migrations/rename-visibility-field.js.map +0 -1
- package/dist/core/notes/checks.d.ts +0 -20
- package/dist/core/notes/checks.d.ts.map +0 -1
- package/dist/core/notes/checks.js +0 -58
- package/dist/core/notes/checks.js.map +0 -1
- package/dist/core/notes/visibility.d.ts +0 -26
- package/dist/core/notes/visibility.d.ts.map +0 -1
- package/dist/core/notes/visibility.js +0 -41
- package/dist/core/notes/visibility.js.map +0 -1
- package/templates/conventions/baseline-convention.md +0 -60
|
@@ -2,19 +2,16 @@ import { GraphNodeNotFoundError, GraphNotBuiltError } from '../core/errors.js';
|
|
|
2
2
|
import { ExitCode } from '../core/exit-codes.js';
|
|
3
3
|
import { bridges, clusters, hubs, neighbors, orphans, shortestPath, subgraph, } from '../core/graph/query.js';
|
|
4
4
|
import { readGraph } from '../core/graph/persist.js';
|
|
5
|
-
import { filterGraphByAudience } from '../core/graph/visibility-filter.js';
|
|
6
5
|
export const requires = { store: 'required' };
|
|
7
6
|
/**
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
* — see filterGraphByAudience. Every subcommand below routes through this
|
|
11
|
-
* one loader so none of them can accidentally query the unfiltered graph.
|
|
7
|
+
* Every subcommand below routes through this one loader, so a query can
|
|
8
|
+
* never read a graph the store has not built.
|
|
12
9
|
*/
|
|
13
|
-
async function loadGraph(store
|
|
10
|
+
async function loadGraph(store) {
|
|
14
11
|
const graph = await readGraph(store);
|
|
15
12
|
if (!graph)
|
|
16
13
|
throw new GraphNotBuiltError();
|
|
17
|
-
return
|
|
14
|
+
return graph;
|
|
18
15
|
}
|
|
19
16
|
function assertNode(graph, nodeId) {
|
|
20
17
|
if (!graph.nodes.some((n) => n.id === nodeId))
|
|
@@ -31,42 +28,42 @@ function outcome(store, data, humanSummary) {
|
|
|
31
28
|
};
|
|
32
29
|
}
|
|
33
30
|
export async function executeNeighbors(store, flags) {
|
|
34
|
-
const graph = await loadGraph(store
|
|
31
|
+
const graph = await loadGraph(store);
|
|
35
32
|
assertNode(graph, flags.node);
|
|
36
33
|
const result = neighbors(graph, flags.node, { depth: flags.depth, direction: flags.direction, type: flags.type });
|
|
37
34
|
return outcome(store, { neighbors: result }, `${result.length} neighbor(s) of "${flags.node}".`);
|
|
38
35
|
}
|
|
39
36
|
export async function executePath(store, flags) {
|
|
40
|
-
const graph = await loadGraph(store
|
|
37
|
+
const graph = await loadGraph(store);
|
|
41
38
|
assertNode(graph, flags.from);
|
|
42
39
|
assertNode(graph, flags.to);
|
|
43
40
|
const result = shortestPath(graph, flags.from, flags.to);
|
|
44
41
|
return outcome(store, { path: result }, result ? `Path: ${result.join(' -> ')}` : `No path from "${flags.from}" to "${flags.to}".`);
|
|
45
42
|
}
|
|
46
43
|
export async function executeSubgraph(store, flags) {
|
|
47
|
-
const graph = await loadGraph(store
|
|
44
|
+
const graph = await loadGraph(store);
|
|
48
45
|
for (const id of flags.ids)
|
|
49
46
|
assertNode(graph, id);
|
|
50
47
|
const result = subgraph(graph, flags.ids);
|
|
51
48
|
return outcome(store, result, `Subgraph: ${result.nodes.length} node(s), ${result.edges.length} edge(s).`);
|
|
52
49
|
}
|
|
53
50
|
export async function executeHubs(store, flags = {}) {
|
|
54
|
-
const graph = await loadGraph(store
|
|
51
|
+
const graph = await loadGraph(store);
|
|
55
52
|
const result = hubs(graph, flags.top ?? 10);
|
|
56
53
|
return outcome(store, { hubs: result }, `Top ${result.length} hub(s) by backlink count.`);
|
|
57
54
|
}
|
|
58
55
|
export async function executeOrphans(store, flags = {}) {
|
|
59
|
-
const graph = await loadGraph(store
|
|
56
|
+
const graph = await loadGraph(store);
|
|
60
57
|
const result = orphans(graph);
|
|
61
58
|
return outcome(store, { orphans: result }, `${result.length} orphan node(s) (no links in or out).`);
|
|
62
59
|
}
|
|
63
60
|
export async function executeClusters(store, flags = {}) {
|
|
64
|
-
const graph = await loadGraph(store
|
|
61
|
+
const graph = await loadGraph(store);
|
|
65
62
|
const result = clusters(graph);
|
|
66
63
|
return outcome(store, { clusters: result }, `${result.length} cluster(s).`);
|
|
67
64
|
}
|
|
68
65
|
export async function executeBridges(store, flags = {}) {
|
|
69
|
-
const graph = await loadGraph(store
|
|
66
|
+
const graph = await loadGraph(store);
|
|
70
67
|
const result = bridges(graph, flags.top ?? store.config.retrieval.graph.bridge_top);
|
|
71
68
|
return outcome(store, { bridges: result }, `Top ${result.length} bridge(s) by distinct clusters linked into.`);
|
|
72
69
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph-query.js","sourceRoot":"","sources":["../../src/commands/graph-query.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD,OAAO,EACL,OAAO,EACP,QAAQ,EACR,IAAI,EACJ,SAAS,EACT,OAAO,EACP,YAAY,EACZ,QAAQ,GAGT,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"graph-query.js","sourceRoot":"","sources":["../../src/commands/graph-query.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/init.d.ts
CHANGED
|
@@ -6,6 +6,8 @@ export interface InitFlags {
|
|
|
6
6
|
root?: string;
|
|
7
7
|
profile?: string;
|
|
8
8
|
taxonomy?: string;
|
|
9
|
+
/** Comma-separated harness-generation adapter ids, or "none". Unset means: prompt if interactive, else the default set. */
|
|
10
|
+
harness?: string;
|
|
9
11
|
}
|
|
10
12
|
export interface InitData {
|
|
11
13
|
root: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAyB1E,OAAO,EAKL,KAAK,mBAAmB,EACzB,MAAM,qBAAqB,CAAC;AAe7B,OAAO,EAAiB,KAAK,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAkB5D,eAAO,MAAM,QAAQ,EAAE,eAAqC,CAAC;AAE7D,MAAM,WAAW,SAAS;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2HAA2H;IAC3H,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,mBAAmB,EAAE,OAAO,CAAC;IAC7B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,GAAG,EAAE;QAAE,kBAAkB,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAC3F,wFAAwF;IACxF,QAAQ,EAAE;QAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,MAAM,EAAE,mBAAmB,EAAE,CAAA;KAAE,CAAC;IACpE,cAAc,EAAE,MAAM,CAAC;CACxB;AA8TD,wBAAsB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAY9F"}
|
package/dist/commands/init.js
CHANGED
|
@@ -3,16 +3,18 @@ import { mkdir, readFile } from 'node:fs/promises';
|
|
|
3
3
|
import path from 'node:path';
|
|
4
4
|
import { parse as parseYaml } from 'yaml';
|
|
5
5
|
import { z } from 'zod';
|
|
6
|
-
import { DEFAULT_ADAPTERS,
|
|
6
|
+
import { DEFAULT_ADAPTERS, DEFAULT_ARCHIVE_DESTINATION, DEFAULT_ROLLUP_STALE_DAYS, DEFAULT_CATALOG_PATH, DEFAULT_CATALOG_SECTION_MAX_BYTES, DEFAULT_PUBLISH_PATH, DEFAULT_VENDORED_SKILLS, DEFAULT_HOUSE_CONVENTIONS_FILE_NAME, DEFAULT_GUIDANCE_PATH, DEFAULT_DERIVED_PATHS, DEFAULT_DIFF_SIZE_CEILING_LINES, DEFAULT_EXCLUDE_PATHS, DEFAULT_INBOX_PATH, DEFAULT_TRACKING_PARAMS, DEFAULT_MISSION_PATH, DEFAULT_SKILLS_PATH, DEFAULT_RELATIONS, DEFAULT_GRAPH_SETTINGS, DEFAULT_SESSION_BRANCH_PREFIX, DEFAULT_WORKTREES_PATH, } from '../config/defaults.js';
|
|
7
7
|
import { configPathFor, readConfig } from '../config/load.js';
|
|
8
8
|
import { renderStoreConfig } from '../config/render.js';
|
|
9
|
-
import { SUPPORTED_SCHEMA_VERSION, TaxonomyLayerSchema } from '../config/schema.js';
|
|
9
|
+
import { SUPPORTED_SCHEMA_VERSION, TaxonomyLayerSchema, } from '../config/schema.js';
|
|
10
10
|
import { buildAgentsCanonicalSection, buildAgentsCaptureSection, buildAgentsConventionsSection, buildAgentsLegRoutingSection, buildAgentsMissionSection, buildAgentsPlacementSection, agentsMdPath, } from '../core/agents-doc.js';
|
|
11
|
-
import {
|
|
12
|
-
import { syncShippedSkills } from '../core/skills.js';
|
|
11
|
+
import { seedHouseConventionsFile } from '../core/convention-doc.js';
|
|
12
|
+
import { syncShippedSkills, syncVendoredSkills } from '../core/skills.js';
|
|
13
|
+
import { bridgeHarnessSkills } from '../core/harness/bridge.js';
|
|
13
14
|
import { reconcileStore, WORKTREES_GITIGNORE_FENCE } from '../core/reconcile.js';
|
|
14
15
|
import { isInteractive } from '../core/env.js';
|
|
15
|
-
import {
|
|
16
|
+
import { CLI_VERSION } from '../version.js';
|
|
17
|
+
import { GitIdentityMissingError, InvalidTaxonomyFileError, TaxonomySelectionConflictError, UnknownHarnessError, UnknownTaxonomyProfileError, } from '../core/errors.js';
|
|
16
18
|
import { ExitCode } from '../core/exit-codes.js';
|
|
17
19
|
import { writeFileAtomic } from '../core/fs/atomic.js';
|
|
18
20
|
import { upsertFencedRegionInFile } from '../core/fs/fenced-region.js';
|
|
@@ -23,6 +25,18 @@ import { resolveRootForInit } from '../core/root.js';
|
|
|
23
25
|
import { defaultProfile, DEFAULT_PROFILE_ID, profileById, SHIPPED_PROFILES } from '../taxonomy/profiles.js';
|
|
24
26
|
export const requires = { store: 'absent' };
|
|
25
27
|
const CustomTaxonomyFileSchema = z.object({ layers: z.array(TaxonomyLayerSchema) });
|
|
28
|
+
/**
|
|
29
|
+
* Spread rather than a plain key, so `archiveDestination` stays genuinely
|
|
30
|
+
* optional on `ResolvedTaxonomy` rather than always-present-but-possibly-
|
|
31
|
+
* undefined, matching how the config schema keeps its own optional fields.
|
|
32
|
+
*/
|
|
33
|
+
function fromProfile(profile) {
|
|
34
|
+
return {
|
|
35
|
+
profileId: profile.id,
|
|
36
|
+
layers: [...profile.layers],
|
|
37
|
+
...(profile.archiveDestination !== undefined ? { archiveDestination: profile.archiveDestination } : {}),
|
|
38
|
+
};
|
|
39
|
+
}
|
|
26
40
|
async function resolveTaxonomy(env, flags) {
|
|
27
41
|
if (flags.profile && flags.taxonomy) {
|
|
28
42
|
throw new TaxonomySelectionConflictError();
|
|
@@ -45,7 +59,7 @@ async function resolveTaxonomy(env, flags) {
|
|
|
45
59
|
if (!profile) {
|
|
46
60
|
throw new UnknownTaxonomyProfileError(flags.profile, SHIPPED_PROFILES.map((p) => p.id));
|
|
47
61
|
}
|
|
48
|
-
return
|
|
62
|
+
return fromProfile(profile);
|
|
49
63
|
}
|
|
50
64
|
if (isInteractive(env)) {
|
|
51
65
|
const selectedId = await env.prompter.selectProfile({
|
|
@@ -54,11 +68,43 @@ async function resolveTaxonomy(env, flags) {
|
|
|
54
68
|
defaultId: DEFAULT_PROFILE_ID,
|
|
55
69
|
});
|
|
56
70
|
const profile = profileById(selectedId) ?? defaultProfile();
|
|
57
|
-
return
|
|
71
|
+
return fromProfile(profile);
|
|
58
72
|
}
|
|
59
73
|
// Non-interactive, nothing specified: PARA immediately — never prompt, never block.
|
|
60
|
-
|
|
61
|
-
|
|
74
|
+
return fromProfile(defaultProfile());
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* vendored-craft-skills spec ("the operator declares which harnesses a
|
|
78
|
+
* store targets, at setup"): the selectable harness-generation adapters,
|
|
79
|
+
* presented at init and never inferred by inspecting the host machine.
|
|
80
|
+
*/
|
|
81
|
+
const SELECTABLE_HARNESSES = [
|
|
82
|
+
{ id: 'claude-code', name: 'Claude Code', description: 'Generates CLAUDE.md importing AGENTS.md, plus a permission config with the write-gate hook.' },
|
|
83
|
+
{ id: 'hermes-agent', name: 'Hermes', description: 'Reads AGENTS.md directly — no entry file generated.' },
|
|
84
|
+
];
|
|
85
|
+
const DEFAULT_HARNESS_IDS = ['claude-code'];
|
|
86
|
+
async function resolveHarnesses(env, flags) {
|
|
87
|
+
if (flags.harness !== undefined) {
|
|
88
|
+
const trimmed = flags.harness.trim();
|
|
89
|
+
if (trimmed === '' || trimmed === 'none')
|
|
90
|
+
return [];
|
|
91
|
+
const ids = trimmed.split(',').map((s) => s.trim()).filter((s) => s.length > 0);
|
|
92
|
+
const known = new Set(SELECTABLE_HARNESSES.map((h) => h.id));
|
|
93
|
+
for (const id of ids) {
|
|
94
|
+
if (!known.has(id))
|
|
95
|
+
throw new UnknownHarnessError(id, [...known]);
|
|
96
|
+
}
|
|
97
|
+
return [...new Set(ids)];
|
|
98
|
+
}
|
|
99
|
+
if (isInteractive(env)) {
|
|
100
|
+
return env.prompter.selectHarnesses({
|
|
101
|
+
message: 'Which agent harnesses should this store target? (their skills directory is bridged to the canonical one)',
|
|
102
|
+
choices: SELECTABLE_HARNESSES,
|
|
103
|
+
defaultIds: DEFAULT_HARNESS_IDS,
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
// Non-interactive, nothing specified: the default set immediately — never prompt, never block.
|
|
107
|
+
return [...DEFAULT_HARNESS_IDS];
|
|
62
108
|
}
|
|
63
109
|
async function safeCurrentBranch(env, root) {
|
|
64
110
|
try {
|
|
@@ -93,7 +139,7 @@ async function runInitCore(env, flags) {
|
|
|
93
139
|
if (existsSync(configPath)) {
|
|
94
140
|
const config = await readConfig(root); // validates + gates schema_version
|
|
95
141
|
// Reconciling an existing store is exactly `ctxr update`'s job — one shared implementation.
|
|
96
|
-
await reconcileStore(env, root, config);
|
|
142
|
+
const { findings: reconcileFindings } = await reconcileStore(env, root, config);
|
|
97
143
|
return {
|
|
98
144
|
data: {
|
|
99
145
|
root,
|
|
@@ -111,11 +157,12 @@ async function runInitCore(env, flags) {
|
|
|
111
157
|
},
|
|
112
158
|
schema_version: config.schema_version,
|
|
113
159
|
},
|
|
114
|
-
findings:
|
|
160
|
+
findings: reconcileFindings,
|
|
115
161
|
};
|
|
116
162
|
}
|
|
117
163
|
// --- Resolve taxonomy in memory, no writes yet -------------------------
|
|
118
164
|
const taxonomy = await resolveTaxonomy(env, flags);
|
|
165
|
+
const harnessIds = await resolveHarnesses(env, flags);
|
|
119
166
|
// --- Git preflight, still no writes -------------------------------------
|
|
120
167
|
const toplevel = await findToplevel(env.git, root);
|
|
121
168
|
const findings = [];
|
|
@@ -137,22 +184,27 @@ async function runInitCore(env, flags) {
|
|
|
137
184
|
}
|
|
138
185
|
// Works even pre-commit: git init leaves HEAD pointing at an unborn branch.
|
|
139
186
|
const defaultBranch = (await safeCurrentBranch(env, root)) ?? 'main';
|
|
187
|
+
// The default forge adapter is untouched by --harness, which selects
|
|
188
|
+
// only harness-generation adapters (vendored-craft-skills spec).
|
|
189
|
+
const resolvedAdapters = [
|
|
190
|
+
...DEFAULT_ADAPTERS.filter((a) => a.kind !== 'harness-generation'),
|
|
191
|
+
...harnessIds.map((id) => ({ id, kind: 'harness-generation' })),
|
|
192
|
+
];
|
|
140
193
|
const config = {
|
|
141
194
|
schema_version: SUPPORTED_SCHEMA_VERSION,
|
|
142
195
|
taxonomy: { profile: taxonomy.profileId, layers: taxonomy.layers },
|
|
143
|
-
fields: { visibility: DEFAULT_VISIBILITY_FIELD_KEY },
|
|
144
|
-
visibility: { default_context: DEFAULT_VISIBILITY_CONTEXT, directory_defaults: {}, contexts: {} },
|
|
145
196
|
derived: { paths: [...DEFAULT_DERIVED_PATHS] },
|
|
146
197
|
retrieval: { exclude_paths: [...DEFAULT_EXCLUDE_PATHS], relations: [...DEFAULT_RELATIONS], graph: { ...DEFAULT_GRAPH_SETTINGS, orphan_exempt_clusters: [] } },
|
|
147
198
|
git: { default_branch: defaultBranch },
|
|
148
|
-
session: { branch_prefix: DEFAULT_SESSION_BRANCH_PREFIX, worktrees_path: DEFAULT_WORKTREES_PATH
|
|
199
|
+
session: { branch_prefix: DEFAULT_SESSION_BRANCH_PREFIX, worktrees_path: DEFAULT_WORKTREES_PATH },
|
|
149
200
|
write_lifecycle: { diff_size_ceiling_lines: DEFAULT_DIFF_SIZE_CEILING_LINES, writable_paths: [] },
|
|
150
201
|
catalog: { path: DEFAULT_CATALOG_PATH, section_max_bytes: DEFAULT_CATALOG_SECTION_MAX_BYTES },
|
|
151
|
-
|
|
202
|
+
publish: { path: DEFAULT_PUBLISH_PATH },
|
|
203
|
+
skills: { vendored: [...DEFAULT_VENDORED_SKILLS] },
|
|
152
204
|
ingest: { inbox_path: DEFAULT_INBOX_PATH, tracking_params: [...DEFAULT_TRACKING_PARAMS] },
|
|
153
|
-
organize: {
|
|
205
|
+
organize: { archive_destination: taxonomy.archiveDestination ?? DEFAULT_ARCHIVE_DESTINATION, rollup_stale_days: DEFAULT_ROLLUP_STALE_DAYS, mission_path: DEFAULT_MISSION_PATH },
|
|
154
206
|
harness: { skills_path: DEFAULT_SKILLS_PATH, guidance_path: DEFAULT_GUIDANCE_PATH },
|
|
155
|
-
adapters:
|
|
207
|
+
adapters: resolvedAdapters,
|
|
156
208
|
};
|
|
157
209
|
// Round-trips through the schema internally; throws before any byte is written if it doesn't.
|
|
158
210
|
const configText = renderStoreConfig(config);
|
|
@@ -162,8 +214,7 @@ async function runInitCore(env, flags) {
|
|
|
162
214
|
await upsertFencedRegionInFile(gitignorePath, WORKTREES_GITIGNORE_FENCE, [config.session.worktrees_path]);
|
|
163
215
|
// Guidance-directory content must be current BEFORE the AGENTS.md sections
|
|
164
216
|
// that read it (mission, store conventions) are built below.
|
|
165
|
-
await
|
|
166
|
-
const customConventionSeeded = await seedCustomConventionFile(root, config);
|
|
217
|
+
const houseConventionsSeeded = await seedHouseConventionsFile(root, config);
|
|
167
218
|
const missionSeeded = config.organize.mission_path ? await seedMissionDocument(root, config.organize.mission_path) : null;
|
|
168
219
|
// harness-portability spec "Generated sections render in a fixed order":
|
|
169
220
|
// called in that order directly — a fresh AGENTS.md has no existing fences
|
|
@@ -174,10 +225,12 @@ async function runInitCore(env, flags) {
|
|
|
174
225
|
await buildAgentsCaptureSection(root, config);
|
|
175
226
|
await buildAgentsPlacementSection(root, config);
|
|
176
227
|
const skillFilesCreated = await syncShippedSkills(root, config);
|
|
228
|
+
const { changed: vendoredSkillFilesCreated, findings: vendoredFindings } = await syncVendoredSkills(root, config, CLI_VERSION);
|
|
229
|
+
findings.push(...vendoredFindings);
|
|
230
|
+
const bridged = await bridgeHarnessSkills(root, config);
|
|
177
231
|
await buildAgentsConventionsSection(root, config);
|
|
178
232
|
const guidanceFilesCreated = [
|
|
179
|
-
path.join(config.harness.guidance_path,
|
|
180
|
-
...(customConventionSeeded.created ? [path.join(config.harness.guidance_path, DEFAULT_CUSTOM_CONVENTION_FILE_NAME)] : []),
|
|
233
|
+
...(houseConventionsSeeded.created ? [path.join(config.harness.guidance_path, DEFAULT_HOUSE_CONVENTIONS_FILE_NAME)] : []),
|
|
181
234
|
...(missionSeeded ? [missionSeeded] : []),
|
|
182
235
|
].map((p) => p.split(path.sep).join('/'));
|
|
183
236
|
// One directory per configured layer with a .gitkeep — makes Zettelkasten's
|
|
@@ -197,12 +250,18 @@ async function runInitCore(env, flags) {
|
|
|
197
250
|
const { changed: hookFiles } = await installHooks(root, defaultBranch);
|
|
198
251
|
await configureHooksPath(env.git, root);
|
|
199
252
|
const relConfigPath = path.relative(root, configPath);
|
|
253
|
+
// No trailing slash: `git add` refuses a directory pathspec ending in "/"
|
|
254
|
+
// when that path is a symlink ("pathspec is beyond a symbolic link"), which
|
|
255
|
+
// a symlink-mode bridge always is. The bare path stages the link itself.
|
|
256
|
+
const bridgedPaths = bridged.map((r) => r.path.replace(/\/+$/, ''));
|
|
200
257
|
await addPaths(env.git, root, [
|
|
201
258
|
relConfigPath,
|
|
202
259
|
'.gitignore',
|
|
203
260
|
path.relative(root, agentsMdPath(root)),
|
|
204
261
|
...layerGitkeeps,
|
|
205
262
|
...skillFilesCreated,
|
|
263
|
+
...vendoredSkillFilesCreated,
|
|
264
|
+
...bridgedPaths,
|
|
206
265
|
...guidanceFilesCreated,
|
|
207
266
|
...hookFiles,
|
|
208
267
|
]);
|
|
@@ -217,6 +276,8 @@ async function runInitCore(env, flags) {
|
|
|
217
276
|
path.relative(root, agentsMdPath(root)),
|
|
218
277
|
...layerGitkeeps,
|
|
219
278
|
...skillFilesCreated,
|
|
279
|
+
...vendoredSkillFilesCreated,
|
|
280
|
+
...bridgedPaths,
|
|
220
281
|
...guidanceFilesCreated,
|
|
221
282
|
...hookFiles,
|
|
222
283
|
],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { CommandOutcome, CommandRequires } from '../core/command.js';
|
|
2
|
+
import type { Store } from '../core/store.js';
|
|
3
|
+
export declare const requires: CommandRequires;
|
|
4
|
+
export interface PublishCheckFlags {
|
|
5
|
+
path: string;
|
|
6
|
+
}
|
|
7
|
+
export interface PublishCheckFailure {
|
|
8
|
+
check: string;
|
|
9
|
+
message: string;
|
|
10
|
+
}
|
|
11
|
+
export interface PublishCheckData {
|
|
12
|
+
path: string;
|
|
13
|
+
passed: boolean;
|
|
14
|
+
failures: PublishCheckFailure[];
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* publish spec: the mechanized half of the page-checklist — every check
|
|
18
|
+
* answerable from the file and its sibling README alone, never a caller-
|
|
19
|
+
* supplied assertion (the source convention's `--expect NEEDLE=COUNT` mode
|
|
20
|
+
* is deliberately not carried forward; see design.md).
|
|
21
|
+
*/
|
|
22
|
+
export declare function execute(store: Store, flags: PublishCheckFlags): Promise<CommandOutcome<PublishCheckData>>;
|
|
23
|
+
//# sourceMappingURL=publish-check.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"publish-check.d.ts","sourceRoot":"","sources":["../../src/commands/publish-check.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAK1E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAE9C,eAAO,MAAM,QAAQ,EAAE,eAAuC,CAAC;AAE/D,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,mBAAmB,EAAE,CAAC;CACjC;AA8DD;;;;;GAKG;AACH,wBAAsB,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,CA4C/G"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import { existsSync } from 'node:fs';
|
|
2
|
+
import { readFile } from 'node:fs/promises';
|
|
3
|
+
import path from 'node:path';
|
|
4
|
+
import { PublishPageNotFoundError } from '../core/errors.js';
|
|
5
|
+
import { ExitCode } from '../core/exit-codes.js';
|
|
6
|
+
import { parseNoteText } from '../core/notes/parse.js';
|
|
7
|
+
import { checkScriptSyntax } from '../core/publish/script-check.js';
|
|
8
|
+
export const requires = { store: 'required' };
|
|
9
|
+
/** publish spec: the fixed tag list a tag-balance pass counts, matching the source convention's checker. */
|
|
10
|
+
const BALANCE_TAGS = ['section', 'div', 'h1', 'h2', 'h3', 'h4', 'article', 'header', 'main', 'nav', 'aside', 'footer', 'ul', 'ol', 'li', 'p', 'table', 'tr', 'td', 'th'];
|
|
11
|
+
function stripNonStructural(html) {
|
|
12
|
+
return html.replace(/<!--[\s\S]*?-->/g, '').replace(/<script[\s\S]*?<\/script>/gi, '').replace(/<style[\s\S]*?<\/style>/gi, '');
|
|
13
|
+
}
|
|
14
|
+
function checkNoExternalReferences(html) {
|
|
15
|
+
const match = /(?:src|href)\s*=\s*["']https?:\/\/[^"']*["']/i.exec(html);
|
|
16
|
+
if (!match)
|
|
17
|
+
return [];
|
|
18
|
+
return [{ check: 'no-external-references', message: `references an external network resource: ${match[0]}` }];
|
|
19
|
+
}
|
|
20
|
+
function checkViewportMeta(html) {
|
|
21
|
+
if (/<meta[^>]*name\s*=\s*["']viewport["']/i.test(html))
|
|
22
|
+
return [];
|
|
23
|
+
return [{ check: 'viewport-meta', message: 'no <meta name="viewport"> tag' }];
|
|
24
|
+
}
|
|
25
|
+
function checkPrintRule(html) {
|
|
26
|
+
if (/@media\s+print/i.test(html))
|
|
27
|
+
return [];
|
|
28
|
+
return [{ check: 'print-rule', message: 'no @media print rule' }];
|
|
29
|
+
}
|
|
30
|
+
function checkProvenanceLine(html) {
|
|
31
|
+
const hasDate = /\d{4}-\d{2}-\d{2}/.test(html);
|
|
32
|
+
const hasReadmeLink = /href\s*=\s*["'][^"']*readme[^"']*["']/i.test(html);
|
|
33
|
+
if (hasDate && hasReadmeLink)
|
|
34
|
+
return [];
|
|
35
|
+
return [{ check: 'provenance-line', message: 'no provenance line pairing a date with a link to the sibling README' }];
|
|
36
|
+
}
|
|
37
|
+
function checkTagBalance(html) {
|
|
38
|
+
const stripped = stripNonStructural(html);
|
|
39
|
+
const failures = [];
|
|
40
|
+
for (const tag of BALANCE_TAGS) {
|
|
41
|
+
const open = (stripped.match(new RegExp(`<${tag}(?:\\s[^>]*)?>`, 'gi')) ?? []).length;
|
|
42
|
+
const close = (stripped.match(new RegExp(`</${tag}\\s*>`, 'gi')) ?? []).length;
|
|
43
|
+
if (open !== close)
|
|
44
|
+
failures.push({ check: 'tag-balance', message: `<${tag}>: open=${open} close=${close}` });
|
|
45
|
+
}
|
|
46
|
+
return failures;
|
|
47
|
+
}
|
|
48
|
+
function extractInlineScripts(html) {
|
|
49
|
+
const blocks = [];
|
|
50
|
+
const re = /<script([^>]*)>([\s\S]*?)<\/script>/gi;
|
|
51
|
+
let match;
|
|
52
|
+
while ((match = re.exec(html))) {
|
|
53
|
+
const attrs = match[1] ?? '';
|
|
54
|
+
if (/\bsrc\s*=/i.test(attrs))
|
|
55
|
+
continue; // external — already caught by checkNoExternalReferences if http(s)
|
|
56
|
+
const body = (match[2] ?? '').trim();
|
|
57
|
+
if (body.length > 0)
|
|
58
|
+
blocks.push(body);
|
|
59
|
+
}
|
|
60
|
+
return blocks;
|
|
61
|
+
}
|
|
62
|
+
async function checkInlineScriptSyntax(html) {
|
|
63
|
+
const scripts = extractInlineScripts(html);
|
|
64
|
+
const errors = await checkScriptSyntax(scripts);
|
|
65
|
+
return errors.map((e) => ({ check: 'script-syntax', message: `script block #${e.index}: ${e.message}` }));
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* publish spec: the mechanized half of the page-checklist — every check
|
|
69
|
+
* answerable from the file and its sibling README alone, never a caller-
|
|
70
|
+
* supplied assertion (the source convention's `--expect NEEDLE=COUNT` mode
|
|
71
|
+
* is deliberately not carried forward; see design.md).
|
|
72
|
+
*/
|
|
73
|
+
export async function execute(store, flags) {
|
|
74
|
+
const absolutePath = path.isAbsolute(flags.path) ? flags.path : path.resolve(store.root, flags.path);
|
|
75
|
+
const relativePath = path.relative(store.root, absolutePath).split(path.sep).join('/');
|
|
76
|
+
if (!existsSync(absolutePath)) {
|
|
77
|
+
throw new PublishPageNotFoundError(relativePath);
|
|
78
|
+
}
|
|
79
|
+
const html = await readFile(absolutePath, 'utf8');
|
|
80
|
+
const pageDir = path.dirname(absolutePath);
|
|
81
|
+
const readmePath = path.join(pageDir, 'README.md');
|
|
82
|
+
const readmeRelativePath = path.relative(store.root, readmePath).split(path.sep).join('/');
|
|
83
|
+
const failures = [
|
|
84
|
+
...checkNoExternalReferences(html),
|
|
85
|
+
...checkViewportMeta(html),
|
|
86
|
+
...checkPrintRule(html),
|
|
87
|
+
...checkProvenanceLine(html),
|
|
88
|
+
...checkTagBalance(html),
|
|
89
|
+
];
|
|
90
|
+
if (!existsSync(readmePath)) {
|
|
91
|
+
failures.push({ check: 'sibling-readme', message: `no sibling README at "${readmeRelativePath}"` });
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
const readmeRaw = await readFile(readmePath, 'utf8');
|
|
95
|
+
const readmeNote = parseNoteText(readmeRaw, readmeRelativePath);
|
|
96
|
+
if (readmeNote.frontmatter?.kind !== undefined) {
|
|
97
|
+
failures.push({ check: 'readme-frontmatter', message: 'README declares a "kind" field — a page\'s kind is the folder name alone' });
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
failures.push(...(await checkInlineScriptSyntax(html)));
|
|
101
|
+
return {
|
|
102
|
+
exitCode: failures.length === 0 ? ExitCode.Ok : ExitCode.CheckFailed,
|
|
103
|
+
data: { path: relativePath, passed: failures.length === 0, failures },
|
|
104
|
+
findings: [],
|
|
105
|
+
humanSummary: failures.length === 0
|
|
106
|
+
? `${relativePath}: all checks passed.`
|
|
107
|
+
: `${relativePath}: ${failures.length} failing check(s): ${failures.map((f) => f.check).join(', ')}.`,
|
|
108
|
+
storeRoot: store.root,
|
|
109
|
+
schemaVersion: store.config.schema_version,
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
//# sourceMappingURL=publish-check.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"publish-check.js","sourceRoot":"","sources":["../../src/commands/publish-check.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { CommandOutcome, CommandRequires } from '../core/command.js';
|
|
2
|
+
import type { RunEnv } from '../core/env.js';
|
|
3
|
+
import type { Store } from '../core/store.js';
|
|
4
|
+
export declare const requires: CommandRequires;
|
|
5
|
+
export interface PublishGatherFlags {
|
|
6
|
+
under?: string;
|
|
7
|
+
note?: string;
|
|
8
|
+
entity?: string;
|
|
9
|
+
}
|
|
10
|
+
export interface PublishGatherEntry {
|
|
11
|
+
path: string;
|
|
12
|
+
}
|
|
13
|
+
export interface PublishGatherData {
|
|
14
|
+
selector: 'under' | 'note' | 'entity';
|
|
15
|
+
subject: string;
|
|
16
|
+
count: number;
|
|
17
|
+
notes: PublishGatherEntry[];
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* publish spec: agent-facing enumeration only, matching rollup gather's
|
|
21
|
+
* shape — resolves a subject to its note set (one of three selectors) and
|
|
22
|
+
* reports it. It gates nothing and renders nothing; judging what belongs in
|
|
23
|
+
* a page is the agent's and its craft skill's work, and the mechanical
|
|
24
|
+
* checks a finished page must pass live in `ctxr publish check`.
|
|
25
|
+
*/
|
|
26
|
+
export declare function execute(env: RunEnv, store: Store, flags: PublishGatherFlags): Promise<CommandOutcome<PublishGatherData>>;
|
|
27
|
+
//# sourceMappingURL=publish-gather.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"publish-gather.d.ts","sourceRoot":"","sources":["../../src/commands/publish-gather.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAM7C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAE9C,eAAO,MAAM,QAAQ,EAAE,eAAuC,CAAC;AAE/D,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,kBAAkB,EAAE,CAAC;CAC7B;AA+CD;;;;;;GAMG;AACH,wBAAsB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,CAY9H"}
|