@millstone/synapse-cli 0.4.0 → 0.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 (44) hide show
  1. package/dist/commands/format.js +2 -2
  2. package/dist/commands/format.js.map +1 -1
  3. package/dist/commands/generate-pdf.js +2 -2
  4. package/dist/commands/generate-pdf.js.map +1 -1
  5. package/dist/commands/migrate.js +3 -3
  6. package/dist/commands/migrate.js.map +1 -1
  7. package/dist/commands/scaffold.d.ts +1 -2
  8. package/dist/commands/scaffold.d.ts.map +1 -1
  9. package/dist/commands/scaffold.js +8 -8
  10. package/dist/commands/scaffold.js.map +1 -1
  11. package/dist/commands/validate.d.ts.map +1 -1
  12. package/dist/commands/validate.js +11 -6
  13. package/dist/commands/validate.js.map +1 -1
  14. package/dist/index.js +2 -2
  15. package/dist/index.js.map +1 -1
  16. package/dist/lib/bodyRules.d.ts +2 -3
  17. package/dist/lib/bodyRules.d.ts.map +1 -1
  18. package/dist/lib/bodyRules.js.map +1 -1
  19. package/dist/lib/config.d.ts +3 -4
  20. package/dist/lib/config.d.ts.map +1 -1
  21. package/dist/lib/config.js +8 -4
  22. package/dist/lib/config.js.map +1 -1
  23. package/dist/lib/homepage.js +2 -2
  24. package/dist/lib/homepage.js.map +1 -1
  25. package/dist/lib/naming.d.ts +3 -4
  26. package/dist/lib/naming.d.ts.map +1 -1
  27. package/dist/lib/naming.js +9 -6
  28. package/dist/lib/naming.js.map +1 -1
  29. package/dist/lib/schemas.d.ts +3 -5
  30. package/dist/lib/schemas.d.ts.map +1 -1
  31. package/dist/lib/schemas.js +5 -4
  32. package/dist/lib/schemas.js.map +1 -1
  33. package/dist/lib/templateLint.d.ts.map +1 -1
  34. package/dist/lib/templateLint.js +4 -17
  35. package/dist/lib/templateLint.js.map +1 -1
  36. package/dist/lib/type-registry.d.ts +39 -0
  37. package/dist/lib/type-registry.d.ts.map +1 -0
  38. package/dist/lib/type-registry.js +163 -0
  39. package/dist/lib/type-registry.js.map +1 -0
  40. package/package.json +5 -6
  41. package/dist/lib/types.generated.d.ts +0 -54
  42. package/dist/lib/types.generated.d.ts.map +0 -1
  43. package/dist/lib/types.generated.js +0 -144
  44. package/dist/lib/types.generated.js.map +0 -1
@@ -0,0 +1,163 @@
1
+ /**
2
+ * Dynamic type registry - discovers document types at runtime from schema files.
3
+ * Replaces the static types.generated.ts with runtime schema discovery.
4
+ */
5
+ import fsExtra from 'fs-extra';
6
+ import * as path from 'path';
7
+ import { createRequire } from 'module';
8
+ const fs = fsExtra;
9
+ // Cache for discovered types
10
+ let _typeRegistry = null;
11
+ /**
12
+ * Resolve the frontmatter schema directory using a cascade:
13
+ * 1. Local project: {cwd}/schemas/frontmatter/
14
+ * 2. @millstone/synapse-schemas npm package
15
+ * 3. Error with helpful message
16
+ */
17
+ function getSchemaDir() {
18
+ // Priority 1: Local project override
19
+ const localPaths = [
20
+ path.resolve(process.cwd(), 'schemas/frontmatter'),
21
+ path.resolve(process.cwd(), '../schemas/frontmatter'),
22
+ path.resolve(process.cwd(), '../../schemas/frontmatter'),
23
+ ];
24
+ for (const schemaPath of localPaths) {
25
+ if (fs.existsSync(schemaPath)) {
26
+ try {
27
+ const files = fs.readdirSync(schemaPath);
28
+ const hasSchemas = files.some((f) => f.endsWith('.schema.json'));
29
+ if (hasSchemas) {
30
+ return schemaPath;
31
+ }
32
+ }
33
+ catch {
34
+ continue;
35
+ }
36
+ }
37
+ }
38
+ // Priority 2: @millstone/synapse-schemas package
39
+ try {
40
+ const require = createRequire(import.meta.url);
41
+ const pkgPath = require.resolve('@millstone/synapse-schemas/package.json');
42
+ const pkgDir = path.dirname(pkgPath);
43
+ const frontmatterDir = path.join(pkgDir, 'frontmatter');
44
+ if (fs.existsSync(frontmatterDir)) {
45
+ return frontmatterDir;
46
+ }
47
+ }
48
+ catch {
49
+ // Package not installed
50
+ }
51
+ // Priority 3: Error with helpful message
52
+ throw new Error('Could not find frontmatter schemas. Either place schemas in {projectRoot}/schemas/frontmatter/ ' +
53
+ 'or install the @millstone/synapse-schemas package: npm install @millstone/synapse-schemas');
54
+ }
55
+ /**
56
+ * Discover all document types by scanning schema files.
57
+ * Reads x-synapse metadata from each schema for folder/displayLabel/cmsCollection.
58
+ */
59
+ function discoverTypes() {
60
+ const schemaDir = getSchemaDir();
61
+ const files = fs.readdirSync(schemaDir);
62
+ const registry = {};
63
+ for (const file of files) {
64
+ if (!file.endsWith('.schema.json') || file === 'base.schema.json')
65
+ continue;
66
+ const schemaPath = path.join(schemaDir, file);
67
+ try {
68
+ const content = fs.readFileSync(schemaPath, 'utf-8');
69
+ const schema = JSON.parse(content);
70
+ // Extract type from properties.type.const
71
+ const type = schema.properties?.type?.const;
72
+ if (!type) {
73
+ // Also check inside allOf for the const
74
+ const allOfType = schema.allOf?.find((item) => item.properties?.type?.const);
75
+ if (!allOfType)
76
+ continue;
77
+ // Skip - schema doesn't define a type const
78
+ continue;
79
+ }
80
+ // Extract x-synapse metadata
81
+ const xSynapse = schema['x-synapse'];
82
+ if (xSynapse) {
83
+ registry[type] = {
84
+ folder: xSynapse.folder,
85
+ displayLabel: xSynapse.displayLabel,
86
+ cmsCollection: xSynapse.cmsCollection,
87
+ };
88
+ }
89
+ else {
90
+ // Derive defaults if no x-synapse metadata
91
+ registry[type] = {
92
+ folder: type,
93
+ displayLabel: type.charAt(0).toUpperCase() + type.slice(1),
94
+ cmsCollection: type + 's',
95
+ };
96
+ }
97
+ }
98
+ catch {
99
+ // Skip files that can't be parsed
100
+ continue;
101
+ }
102
+ }
103
+ return registry;
104
+ }
105
+ /**
106
+ * Get the full type registry. Cached after first call.
107
+ */
108
+ export function getTypeRegistry() {
109
+ if (!_typeRegistry) {
110
+ _typeRegistry = discoverTypes();
111
+ }
112
+ return _typeRegistry;
113
+ }
114
+ /**
115
+ * Get all known document types as a sorted array.
116
+ */
117
+ export function getDocTypes() {
118
+ return Object.keys(getTypeRegistry()).sort();
119
+ }
120
+ /**
121
+ * Check if a value is a known document type.
122
+ */
123
+ export function isKnownDocType(value) {
124
+ return value in getTypeRegistry();
125
+ }
126
+ /**
127
+ * Get the expected content folder for a document type.
128
+ * Returns path like "content/90_Architecture/ADRs"
129
+ */
130
+ export function getExpectedFolder(type) {
131
+ const registry = getTypeRegistry();
132
+ const meta = registry[type];
133
+ if (!meta)
134
+ throw new Error(`Unknown document type: ${type}`);
135
+ return `content/${meta.folder}`;
136
+ }
137
+ /**
138
+ * Get the display label for a document type.
139
+ */
140
+ export function getDisplayLabel(type) {
141
+ const registry = getTypeRegistry();
142
+ const meta = registry[type];
143
+ if (!meta)
144
+ throw new Error(`Unknown document type: ${type}`);
145
+ return meta.displayLabel;
146
+ }
147
+ /**
148
+ * Get the CMS collection name for a document type.
149
+ */
150
+ export function getCmsCollection(type) {
151
+ const registry = getTypeRegistry();
152
+ const meta = registry[type];
153
+ if (!meta)
154
+ throw new Error(`Unknown document type: ${type}`);
155
+ return meta.cmsCollection;
156
+ }
157
+ /**
158
+ * Clear the type registry cache. Useful for testing.
159
+ */
160
+ export function clearTypeRegistryCache() {
161
+ _typeRegistry = null;
162
+ }
163
+ //# sourceMappingURL=type-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type-registry.js","sourceRoot":"","sources":["../../src/lib/type-registry.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@millstone/synapse-cli",
3
- "version": "0.4.0",
3
+ "version": "0.5.0",
4
4
  "description": "Synapse documentation framework CLI",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -15,15 +15,14 @@
15
15
  "README.md"
16
16
  ],
17
17
  "scripts": {
18
- "build": "npm run check:types && tsc",
19
- "dev": "npm run generate:types && tsc --watch",
20
- "test": "npm run check:types && NODE_OPTIONS=--experimental-vm-modules jest --coverage",
18
+ "check:types": "tsc --noEmit",
19
+ "build": "tsc",
20
+ "dev": "tsc --watch",
21
+ "test": "NODE_OPTIONS=--experimental-vm-modules jest --coverage",
21
22
  "test:unit": "NODE_OPTIONS=--experimental-vm-modules jest --coverage",
22
23
  "test:integration": "npm test",
23
24
  "coverage": "NODE_OPTIONS=--experimental-vm-modules jest --coverage",
24
25
  "coverage:report": "NODE_OPTIONS=--experimental-vm-modules jest --coverage --coverageReporters=text --coverageReporters=html",
25
- "generate:types": "tsx scripts/generate-types.ts",
26
- "check:types": "tsx scripts/check-types.ts",
27
26
  "install-hooks": "git config core.hooksPath .githooks",
28
27
  "prepublishOnly": "npm run build"
29
28
  },
@@ -1,54 +0,0 @@
1
- /**
2
- * THIS FILE IS AUTO-GENERATED FROM SCHEMA FILES
3
- * DO NOT EDIT DIRECTLY - Edit schemas in content/schemas/ instead
4
- * Generated on: 2025-10-30T22:56:15.267Z
5
- */
6
- /**
7
- * All available document types derived from schema files
8
- */
9
- export declare const DOC_TYPES: readonly ["adr", "agreement", "capability", "meeting", "policy", "prd", "process", "reference", "runbook", "scorecard", "sop", "sow", "standard", "system", "tdd"];
10
- /**
11
- * Union type of all document types
12
- */
13
- export type DocType = typeof DOC_TYPES[number];
14
- /**
15
- * Type guard to check if a string is a valid DocType
16
- */
17
- export declare function isDocType(value: string): value is DocType;
18
- /**
19
- * Get all document types as a mutable array
20
- */
21
- export declare function getDocTypes(): DocType[];
22
- /**
23
- * Template metadata for each document type
24
- */
25
- export interface TemplateMetadata {
26
- folder: string;
27
- displayLabel: string;
28
- cmsCollection: string;
29
- }
30
- /**
31
- * Registry of all template metadata
32
- */
33
- export declare const TEMPLATE_REGISTRY: Record<DocType, TemplateMetadata>;
34
- /**
35
- * Get the expected folder for a document type
36
- */
37
- export declare function getExpectedFolder(type: DocType): string;
38
- /**
39
- * Get the display label for a document type
40
- */
41
- export declare function getDisplayLabel(type: DocType): string;
42
- /**
43
- * Get the CMS collection name for a document type
44
- */
45
- export declare function getCmsCollection(type: DocType): string;
46
- /**
47
- * Metadata about the generated types
48
- */
49
- export declare const SCHEMA_METADATA: {
50
- readonly generatedAt: "2025-10-30T22:56:15.267Z";
51
- readonly schemaCount: 15;
52
- readonly types: readonly ["adr", "agreement", "capability", "meeting", "policy", "prd", "process", "reference", "runbook", "scorecard", "sop", "sow", "standard", "system", "tdd"];
53
- };
54
- //# sourceMappingURL=types.generated.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.generated.d.ts","sourceRoot":"","sources":["../../src/lib/types.generated.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,eAAO,MAAM,SAAS,oKAgBZ,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,OAAO,GAAG,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC;AAE/C;;GAEG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,OAAO,CAEzD;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,OAAO,EAAE,CAEvC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,OAAO,EAAE,gBAAgB,CA4E/D,CAAC;AAEF;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAEvD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAErD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAEtD;AAED;;GAEG;AACH,eAAO,MAAM,eAAe;;;;CAIlB,CAAC"}
@@ -1,144 +0,0 @@
1
- /**
2
- * THIS FILE IS AUTO-GENERATED FROM SCHEMA FILES
3
- * DO NOT EDIT DIRECTLY - Edit schemas in content/schemas/ instead
4
- * Generated on: 2025-10-30T22:56:15.267Z
5
- */
6
- /**
7
- * All available document types derived from schema files
8
- */
9
- export const DOC_TYPES = [
10
- 'adr',
11
- 'agreement',
12
- 'capability',
13
- 'meeting',
14
- 'policy',
15
- 'prd',
16
- 'process',
17
- 'reference',
18
- 'runbook',
19
- 'scorecard',
20
- 'sop',
21
- 'sow',
22
- 'standard',
23
- 'system',
24
- 'tdd'
25
- ];
26
- /**
27
- * Type guard to check if a string is a valid DocType
28
- */
29
- export function isDocType(value) {
30
- return DOC_TYPES.includes(value);
31
- }
32
- /**
33
- * Get all document types as a mutable array
34
- */
35
- export function getDocTypes() {
36
- return [...DOC_TYPES];
37
- }
38
- /**
39
- * Registry of all template metadata
40
- */
41
- export const TEMPLATE_REGISTRY = {
42
- 'adr': {
43
- folder: '90_Architecture/ADRs',
44
- displayLabel: 'ADR',
45
- cmsCollection: 'adrs'
46
- },
47
- 'agreement': {
48
- folder: '120_Legal/agreements',
49
- displayLabel: 'Agreement',
50
- cmsCollection: 'agreements'
51
- },
52
- 'capability': {
53
- folder: '110_Capabilities',
54
- displayLabel: 'Capability',
55
- cmsCollection: 'capabilities'
56
- },
57
- 'meeting': {
58
- folder: '60_Meetings',
59
- displayLabel: 'Meeting',
60
- cmsCollection: 'meetings'
61
- },
62
- 'policy': {
63
- folder: '10_Policies',
64
- displayLabel: 'Policy',
65
- cmsCollection: 'policies'
66
- },
67
- 'prd': {
68
- folder: '100_Products/PRDs',
69
- displayLabel: 'PRD',
70
- cmsCollection: 'prds'
71
- },
72
- 'process': {
73
- folder: '30_Processes',
74
- displayLabel: 'Process',
75
- cmsCollection: 'processes'
76
- },
77
- 'reference': {
78
- folder: '200_References',
79
- displayLabel: 'Reference',
80
- cmsCollection: 'references'
81
- },
82
- 'runbook': {
83
- folder: '50_Runbooks',
84
- displayLabel: 'Runbook',
85
- cmsCollection: 'runbooks'
86
- },
87
- 'scorecard': {
88
- folder: '80_Scorecards',
89
- displayLabel: 'Scorecard',
90
- cmsCollection: 'scorecards'
91
- },
92
- 'sop': {
93
- folder: '40_SOPs',
94
- displayLabel: 'SOP',
95
- cmsCollection: 'sops'
96
- },
97
- 'sow': {
98
- folder: '120_Legal/SOWs',
99
- displayLabel: 'SOW',
100
- cmsCollection: 'sows'
101
- },
102
- 'standard': {
103
- folder: '20_Standards',
104
- displayLabel: 'Standard',
105
- cmsCollection: 'standards'
106
- },
107
- 'system': {
108
- folder: '70_Systems',
109
- displayLabel: 'System',
110
- cmsCollection: 'systems'
111
- },
112
- 'tdd': {
113
- folder: '90_Architecture/TDDs',
114
- displayLabel: 'TDD',
115
- cmsCollection: 'tdds'
116
- }
117
- };
118
- /**
119
- * Get the expected folder for a document type
120
- */
121
- export function getExpectedFolder(type) {
122
- return `content/${TEMPLATE_REGISTRY[type].folder}`;
123
- }
124
- /**
125
- * Get the display label for a document type
126
- */
127
- export function getDisplayLabel(type) {
128
- return TEMPLATE_REGISTRY[type].displayLabel;
129
- }
130
- /**
131
- * Get the CMS collection name for a document type
132
- */
133
- export function getCmsCollection(type) {
134
- return TEMPLATE_REGISTRY[type].cmsCollection;
135
- }
136
- /**
137
- * Metadata about the generated types
138
- */
139
- export const SCHEMA_METADATA = {
140
- generatedAt: '2025-10-30T22:56:15.267Z',
141
- schemaCount: 15,
142
- types: DOC_TYPES
143
- };
144
- //# sourceMappingURL=types.generated.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.generated.js","sourceRoot":"","sources":["../../src/lib/types.generated.ts"],"names":[],"mappings":"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"}