@contractspec/example.video-docs-terminal 2.1.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 (41) hide show
  1. package/.turbo/turbo-build.log +38 -0
  2. package/.turbo/turbo-prebuild.log +1 -0
  3. package/CHANGELOG.md +14 -0
  4. package/dist/browser/build-tutorial.js +60 -0
  5. package/dist/browser/docs/index.js +89 -0
  6. package/dist/browser/docs/video-docs-terminal.docblock.js +89 -0
  7. package/dist/browser/example.js +33 -0
  8. package/dist/browser/generate-narration.js +18 -0
  9. package/dist/browser/index.js +389 -0
  10. package/dist/browser/sample-tutorials.js +192 -0
  11. package/dist/build-tutorial.d.ts +44 -0
  12. package/dist/build-tutorial.js +61 -0
  13. package/dist/docs/index.d.ts +1 -0
  14. package/dist/docs/index.js +90 -0
  15. package/dist/docs/video-docs-terminal.docblock.d.ts +1 -0
  16. package/dist/docs/video-docs-terminal.docblock.js +90 -0
  17. package/dist/example.d.ts +2 -0
  18. package/dist/example.js +34 -0
  19. package/dist/generate-narration.d.ts +42 -0
  20. package/dist/generate-narration.js +19 -0
  21. package/dist/index.d.ts +5 -0
  22. package/dist/index.js +390 -0
  23. package/dist/node/build-tutorial.js +60 -0
  24. package/dist/node/docs/index.js +89 -0
  25. package/dist/node/docs/video-docs-terminal.docblock.js +89 -0
  26. package/dist/node/example.js +33 -0
  27. package/dist/node/generate-narration.js +18 -0
  28. package/dist/node/index.js +389 -0
  29. package/dist/node/sample-tutorials.js +192 -0
  30. package/dist/sample-tutorials.d.ts +40 -0
  31. package/dist/sample-tutorials.js +193 -0
  32. package/package.json +159 -0
  33. package/src/build-tutorial.ts +120 -0
  34. package/src/docs/index.ts +1 -0
  35. package/src/docs/video-docs-terminal.docblock.ts +93 -0
  36. package/src/example.ts +32 -0
  37. package/src/generate-narration.ts +70 -0
  38. package/src/index.ts +7 -0
  39. package/src/sample-tutorials.ts +241 -0
  40. package/tsconfig.json +9 -0
  41. package/tsdown.config.js +3 -0
@@ -0,0 +1,192 @@
1
+ // src/sample-tutorials.ts
2
+ var initTutorial = {
3
+ id: "init",
4
+ title: "Initialize a Project",
5
+ subtitle: "Set up a new ContractSpec workspace in seconds",
6
+ terminalTitle: "~/projects",
7
+ lines: [
8
+ { text: "contractspec init my-api", type: "command" },
9
+ { text: "Creating project my-api...", type: "output", delay: 15 },
10
+ { text: " ├── contracts/", type: "output", delay: 5 },
11
+ { text: " ├── generated/", type: "output", delay: 5 },
12
+ { text: " ├── contractspec.config.ts", type: "output", delay: 5 },
13
+ { text: " └── package.json", type: "output", delay: 5 },
14
+ { text: "✓ Project initialized", type: "success", delay: 10 },
15
+ { text: "cd my-api", type: "command", delay: 15 },
16
+ { text: "contractspec status", type: "command", delay: 15 },
17
+ {
18
+ text: "0 contracts · 0 generated files · ready",
19
+ type: "output",
20
+ delay: 10
21
+ }
22
+ ],
23
+ summary: "Your project is ready. Define contracts next.",
24
+ brief: {
25
+ title: "Initialize a ContractSpec Project",
26
+ summary: "The init command scaffolds a new workspace with contracts, generated output, and configuration.",
27
+ problems: [
28
+ "Setting up API projects manually is tedious and error-prone",
29
+ "Teams need a consistent project structure from day one"
30
+ ],
31
+ solutions: [
32
+ "One command creates the entire project scaffold",
33
+ "Standard structure ensures consistency across teams"
34
+ ],
35
+ audience: {
36
+ role: "Developer",
37
+ painPoints: ["Manual project setup", "Inconsistent project structure"]
38
+ },
39
+ callToAction: "Run contractspec init to get started."
40
+ }
41
+ };
42
+ var buildTutorial = {
43
+ id: "build",
44
+ title: "Build from Contracts",
45
+ subtitle: "Generate all surfaces from a single spec",
46
+ terminalTitle: "~/projects/my-api",
47
+ lines: [
48
+ { text: "# Define a contract first", type: "comment" },
49
+ { text: "contractspec build", type: "command", delay: 15 },
50
+ { text: "Building 3 contracts...", type: "output", delay: 15 },
51
+ { text: " → CreateUser REST + GraphQL + DB", type: "output", delay: 8 },
52
+ { text: " → ListUsers REST + GraphQL", type: "output", delay: 8 },
53
+ { text: " → DeleteUser REST + GraphQL + DB", type: "output", delay: 8 },
54
+ { text: "✓ 18 files generated in 0.4s", type: "success", delay: 12 },
55
+ { text: "contractspec status", type: "command", delay: 15 },
56
+ {
57
+ text: "3 contracts · 18 generated files · all up to date",
58
+ type: "output",
59
+ delay: 10
60
+ }
61
+ ],
62
+ summary: "3 contracts → 18 files. One spec, every surface.",
63
+ brief: {
64
+ title: "Build from Contracts",
65
+ summary: "The build command reads your contract definitions and generates REST, GraphQL, DB schemas, and more.",
66
+ problems: [
67
+ "Manually writing the same logic across REST, GraphQL, and DB",
68
+ "Generated code drifts out of sync with the spec"
69
+ ],
70
+ solutions: [
71
+ "Deterministic build: same spec always produces the same output",
72
+ "All surfaces generated in a single pass"
73
+ ],
74
+ metrics: [
75
+ "18 files from 3 contracts in 0.4 seconds",
76
+ "Zero manual synchronization"
77
+ ],
78
+ audience: {
79
+ role: "Developer",
80
+ painPoints: ["Cross-surface code duplication", "Schema drift"]
81
+ },
82
+ callToAction: "Run contractspec build after defining your contracts."
83
+ }
84
+ };
85
+ var validateTutorial = {
86
+ id: "validate",
87
+ title: "Validate Contracts",
88
+ subtitle: "Catch errors before they reach production",
89
+ terminalTitle: "~/projects/my-api",
90
+ lines: [
91
+ { text: "contractspec validate", type: "command" },
92
+ { text: "Validating 3 contracts...", type: "output", delay: 15 },
93
+ { text: " ✓ CreateUser schema valid", type: "success", delay: 8 },
94
+ { text: " ✓ ListUsers schema valid", type: "success", delay: 8 },
95
+ {
96
+ text: ' ✗ DeleteUser missing required field "reason"',
97
+ type: "error",
98
+ delay: 8
99
+ },
100
+ { text: "", type: "output", delay: 5 },
101
+ { text: "2 passed · 1 failed", type: "output", delay: 10 },
102
+ { text: "# Fix the contract and re-validate", type: "comment", delay: 15 },
103
+ { text: "contractspec validate", type: "command", delay: 15 },
104
+ { text: " ✓ CreateUser schema valid", type: "success", delay: 8 },
105
+ { text: " ✓ ListUsers schema valid", type: "success", delay: 8 },
106
+ { text: " ✓ DeleteUser schema valid", type: "success", delay: 8 },
107
+ { text: "✓ All 3 contracts valid", type: "success", delay: 10 }
108
+ ],
109
+ summary: "Validate early, validate often.",
110
+ brief: {
111
+ title: "Validate Contracts",
112
+ summary: "The validate command checks all contracts against their schemas before generating code.",
113
+ problems: [
114
+ "Invalid schemas slip through to production",
115
+ "Catching errors late in the pipeline costs time"
116
+ ],
117
+ solutions: [
118
+ "Pre-build validation catches schema errors instantly",
119
+ "Clear error messages pinpoint exactly what needs fixing"
120
+ ],
121
+ audience: {
122
+ role: "Developer",
123
+ painPoints: ["Invalid schemas in production", "Late error detection"]
124
+ },
125
+ callToAction: "Run contractspec validate as part of your CI pipeline."
126
+ }
127
+ };
128
+ var deployTutorial = {
129
+ id: "deploy",
130
+ title: "Deploy Artifacts",
131
+ subtitle: "Ship generated code to production",
132
+ terminalTitle: "~/projects/my-api",
133
+ lines: [
134
+ { text: "contractspec build --production", type: "command" },
135
+ {
136
+ text: "✓ 18 files generated (production mode)",
137
+ type: "success",
138
+ delay: 15
139
+ },
140
+ { text: "contractspec publish --dry-run", type: "command", delay: 15 },
141
+ {
142
+ text: "Publishing @my-api/contracts v1.2.0...",
143
+ type: "output",
144
+ delay: 12
145
+ },
146
+ { text: " → npm pack (dry run)", type: "output", delay: 8 },
147
+ { text: " → 3 contracts, 18 generated files", type: "output", delay: 8 },
148
+ { text: " → Package size: 24.3 KB", type: "output", delay: 8 },
149
+ {
150
+ text: "✓ Dry run complete -- ready to publish",
151
+ type: "success",
152
+ delay: 10
153
+ },
154
+ { text: "contractspec publish", type: "command", delay: 15 },
155
+ { text: "✓ Published @my-api/contracts@1.2.0", type: "success", delay: 15 }
156
+ ],
157
+ summary: "From spec to production in one pipeline.",
158
+ brief: {
159
+ title: "Deploy Artifacts",
160
+ summary: "Build in production mode and publish your generated contracts as an npm package.",
161
+ problems: [
162
+ "Deploying hand-written API code is risky and manual",
163
+ "Teams need confidence that generated code matches the spec"
164
+ ],
165
+ solutions: [
166
+ "Production builds are deterministic and reproducible",
167
+ "Dry-run publishing catches packaging issues before release"
168
+ ],
169
+ metrics: [
170
+ "24.3 KB package with 3 contracts and 18 files",
171
+ "Entire pipeline runs in seconds"
172
+ ],
173
+ audience: {
174
+ role: "DevOps Engineer",
175
+ painPoints: ["Manual deployment processes", "Spec-to-production drift"]
176
+ },
177
+ callToAction: "Add contractspec publish to your CI/CD pipeline."
178
+ }
179
+ };
180
+ var allTutorials = [
181
+ initTutorial,
182
+ buildTutorial,
183
+ validateTutorial,
184
+ deployTutorial
185
+ ];
186
+ export {
187
+ validateTutorial,
188
+ initTutorial,
189
+ deployTutorial,
190
+ buildTutorial,
191
+ allTutorials
192
+ };
@@ -0,0 +1,40 @@
1
+ import type { TerminalLine } from '@contractspec/lib.video-gen/compositions/primitives/terminal';
2
+ import type { ContentBrief } from '@contractspec/lib.content-gen/types';
3
+ /**
4
+ * A CLI tutorial definition combining terminal lines with a content brief
5
+ * for narration generation.
6
+ */
7
+ export interface CliTutorial {
8
+ /** Tutorial identifier */
9
+ id: string;
10
+ /** Display title for the scene */
11
+ title: string;
12
+ /** Subtitle shown below the title */
13
+ subtitle?: string;
14
+ /** Terminal window title */
15
+ terminalTitle: string;
16
+ /** Terminal lines (commands + output) */
17
+ lines: TerminalLine[];
18
+ /** Summary text shown after the terminal completes */
19
+ summary?: string;
20
+ /** Content brief used for narration generation */
21
+ brief: ContentBrief;
22
+ }
23
+ /**
24
+ * Tutorial: Initialize a new ContractSpec project.
25
+ */
26
+ export declare const initTutorial: CliTutorial;
27
+ /**
28
+ * Tutorial: Build and generate code from contracts.
29
+ */
30
+ export declare const buildTutorial: CliTutorial;
31
+ /**
32
+ * Tutorial: Validate contracts before building.
33
+ */
34
+ export declare const validateTutorial: CliTutorial;
35
+ /**
36
+ * Tutorial: Deploy generated artifacts.
37
+ */
38
+ export declare const deployTutorial: CliTutorial;
39
+ /** All sample tutorials in recommended presentation order. */
40
+ export declare const allTutorials: CliTutorial[];
@@ -0,0 +1,193 @@
1
+ // @bun
2
+ // src/sample-tutorials.ts
3
+ var initTutorial = {
4
+ id: "init",
5
+ title: "Initialize a Project",
6
+ subtitle: "Set up a new ContractSpec workspace in seconds",
7
+ terminalTitle: "~/projects",
8
+ lines: [
9
+ { text: "contractspec init my-api", type: "command" },
10
+ { text: "Creating project my-api...", type: "output", delay: 15 },
11
+ { text: " \u251C\u2500\u2500 contracts/", type: "output", delay: 5 },
12
+ { text: " \u251C\u2500\u2500 generated/", type: "output", delay: 5 },
13
+ { text: " \u251C\u2500\u2500 contractspec.config.ts", type: "output", delay: 5 },
14
+ { text: " \u2514\u2500\u2500 package.json", type: "output", delay: 5 },
15
+ { text: "\u2713 Project initialized", type: "success", delay: 10 },
16
+ { text: "cd my-api", type: "command", delay: 15 },
17
+ { text: "contractspec status", type: "command", delay: 15 },
18
+ {
19
+ text: "0 contracts \xB7 0 generated files \xB7 ready",
20
+ type: "output",
21
+ delay: 10
22
+ }
23
+ ],
24
+ summary: "Your project is ready. Define contracts next.",
25
+ brief: {
26
+ title: "Initialize a ContractSpec Project",
27
+ summary: "The init command scaffolds a new workspace with contracts, generated output, and configuration.",
28
+ problems: [
29
+ "Setting up API projects manually is tedious and error-prone",
30
+ "Teams need a consistent project structure from day one"
31
+ ],
32
+ solutions: [
33
+ "One command creates the entire project scaffold",
34
+ "Standard structure ensures consistency across teams"
35
+ ],
36
+ audience: {
37
+ role: "Developer",
38
+ painPoints: ["Manual project setup", "Inconsistent project structure"]
39
+ },
40
+ callToAction: "Run contractspec init to get started."
41
+ }
42
+ };
43
+ var buildTutorial = {
44
+ id: "build",
45
+ title: "Build from Contracts",
46
+ subtitle: "Generate all surfaces from a single spec",
47
+ terminalTitle: "~/projects/my-api",
48
+ lines: [
49
+ { text: "# Define a contract first", type: "comment" },
50
+ { text: "contractspec build", type: "command", delay: 15 },
51
+ { text: "Building 3 contracts...", type: "output", delay: 15 },
52
+ { text: " \u2192 CreateUser REST + GraphQL + DB", type: "output", delay: 8 },
53
+ { text: " \u2192 ListUsers REST + GraphQL", type: "output", delay: 8 },
54
+ { text: " \u2192 DeleteUser REST + GraphQL + DB", type: "output", delay: 8 },
55
+ { text: "\u2713 18 files generated in 0.4s", type: "success", delay: 12 },
56
+ { text: "contractspec status", type: "command", delay: 15 },
57
+ {
58
+ text: "3 contracts \xB7 18 generated files \xB7 all up to date",
59
+ type: "output",
60
+ delay: 10
61
+ }
62
+ ],
63
+ summary: "3 contracts \u2192 18 files. One spec, every surface.",
64
+ brief: {
65
+ title: "Build from Contracts",
66
+ summary: "The build command reads your contract definitions and generates REST, GraphQL, DB schemas, and more.",
67
+ problems: [
68
+ "Manually writing the same logic across REST, GraphQL, and DB",
69
+ "Generated code drifts out of sync with the spec"
70
+ ],
71
+ solutions: [
72
+ "Deterministic build: same spec always produces the same output",
73
+ "All surfaces generated in a single pass"
74
+ ],
75
+ metrics: [
76
+ "18 files from 3 contracts in 0.4 seconds",
77
+ "Zero manual synchronization"
78
+ ],
79
+ audience: {
80
+ role: "Developer",
81
+ painPoints: ["Cross-surface code duplication", "Schema drift"]
82
+ },
83
+ callToAction: "Run contractspec build after defining your contracts."
84
+ }
85
+ };
86
+ var validateTutorial = {
87
+ id: "validate",
88
+ title: "Validate Contracts",
89
+ subtitle: "Catch errors before they reach production",
90
+ terminalTitle: "~/projects/my-api",
91
+ lines: [
92
+ { text: "contractspec validate", type: "command" },
93
+ { text: "Validating 3 contracts...", type: "output", delay: 15 },
94
+ { text: " \u2713 CreateUser schema valid", type: "success", delay: 8 },
95
+ { text: " \u2713 ListUsers schema valid", type: "success", delay: 8 },
96
+ {
97
+ text: ' \u2717 DeleteUser missing required field "reason"',
98
+ type: "error",
99
+ delay: 8
100
+ },
101
+ { text: "", type: "output", delay: 5 },
102
+ { text: "2 passed \xB7 1 failed", type: "output", delay: 10 },
103
+ { text: "# Fix the contract and re-validate", type: "comment", delay: 15 },
104
+ { text: "contractspec validate", type: "command", delay: 15 },
105
+ { text: " \u2713 CreateUser schema valid", type: "success", delay: 8 },
106
+ { text: " \u2713 ListUsers schema valid", type: "success", delay: 8 },
107
+ { text: " \u2713 DeleteUser schema valid", type: "success", delay: 8 },
108
+ { text: "\u2713 All 3 contracts valid", type: "success", delay: 10 }
109
+ ],
110
+ summary: "Validate early, validate often.",
111
+ brief: {
112
+ title: "Validate Contracts",
113
+ summary: "The validate command checks all contracts against their schemas before generating code.",
114
+ problems: [
115
+ "Invalid schemas slip through to production",
116
+ "Catching errors late in the pipeline costs time"
117
+ ],
118
+ solutions: [
119
+ "Pre-build validation catches schema errors instantly",
120
+ "Clear error messages pinpoint exactly what needs fixing"
121
+ ],
122
+ audience: {
123
+ role: "Developer",
124
+ painPoints: ["Invalid schemas in production", "Late error detection"]
125
+ },
126
+ callToAction: "Run contractspec validate as part of your CI pipeline."
127
+ }
128
+ };
129
+ var deployTutorial = {
130
+ id: "deploy",
131
+ title: "Deploy Artifacts",
132
+ subtitle: "Ship generated code to production",
133
+ terminalTitle: "~/projects/my-api",
134
+ lines: [
135
+ { text: "contractspec build --production", type: "command" },
136
+ {
137
+ text: "\u2713 18 files generated (production mode)",
138
+ type: "success",
139
+ delay: 15
140
+ },
141
+ { text: "contractspec publish --dry-run", type: "command", delay: 15 },
142
+ {
143
+ text: "Publishing @my-api/contracts v1.2.0...",
144
+ type: "output",
145
+ delay: 12
146
+ },
147
+ { text: " \u2192 npm pack (dry run)", type: "output", delay: 8 },
148
+ { text: " \u2192 3 contracts, 18 generated files", type: "output", delay: 8 },
149
+ { text: " \u2192 Package size: 24.3 KB", type: "output", delay: 8 },
150
+ {
151
+ text: "\u2713 Dry run complete -- ready to publish",
152
+ type: "success",
153
+ delay: 10
154
+ },
155
+ { text: "contractspec publish", type: "command", delay: 15 },
156
+ { text: "\u2713 Published @my-api/contracts@1.2.0", type: "success", delay: 15 }
157
+ ],
158
+ summary: "From spec to production in one pipeline.",
159
+ brief: {
160
+ title: "Deploy Artifacts",
161
+ summary: "Build in production mode and publish your generated contracts as an npm package.",
162
+ problems: [
163
+ "Deploying hand-written API code is risky and manual",
164
+ "Teams need confidence that generated code matches the spec"
165
+ ],
166
+ solutions: [
167
+ "Production builds are deterministic and reproducible",
168
+ "Dry-run publishing catches packaging issues before release"
169
+ ],
170
+ metrics: [
171
+ "24.3 KB package with 3 contracts and 18 files",
172
+ "Entire pipeline runs in seconds"
173
+ ],
174
+ audience: {
175
+ role: "DevOps Engineer",
176
+ painPoints: ["Manual deployment processes", "Spec-to-production drift"]
177
+ },
178
+ callToAction: "Add contractspec publish to your CI/CD pipeline."
179
+ }
180
+ };
181
+ var allTutorials = [
182
+ initTutorial,
183
+ buildTutorial,
184
+ validateTutorial,
185
+ deployTutorial
186
+ ];
187
+ export {
188
+ validateTutorial,
189
+ initTutorial,
190
+ deployTutorial,
191
+ buildTutorial,
192
+ allTutorials
193
+ };
package/package.json ADDED
@@ -0,0 +1,159 @@
1
+ {
2
+ "name": "@contractspec/example.video-docs-terminal",
3
+ "version": "2.1.0",
4
+ "description": "Generate terminal demo videos from CLI walkthroughs using the TerminalDemo composition and ScriptGenerator.",
5
+ "type": "module",
6
+ "types": "./dist/index.d.ts",
7
+ "exports": {
8
+ ".": {
9
+ "types": "./dist/index.d.ts",
10
+ "bun": "./dist/index.js",
11
+ "node": "./dist/node/index.js",
12
+ "browser": "./dist/browser/index.js",
13
+ "default": "./dist/index.js"
14
+ },
15
+ "./build-tutorial": {
16
+ "types": "./dist/build-tutorial.d.ts",
17
+ "bun": "./dist/build-tutorial.js",
18
+ "node": "./dist/node/build-tutorial.js",
19
+ "browser": "./dist/browser/build-tutorial.js",
20
+ "default": "./dist/build-tutorial.js"
21
+ },
22
+ "./docs": {
23
+ "types": "./dist/docs/index.d.ts",
24
+ "bun": "./dist/docs/index.js",
25
+ "node": "./dist/node/docs/index.js",
26
+ "browser": "./dist/browser/docs/index.js",
27
+ "default": "./dist/docs/index.js"
28
+ },
29
+ "./docs/index": {
30
+ "types": "./dist/docs/index.d.ts",
31
+ "bun": "./dist/docs/index.js",
32
+ "node": "./dist/node/docs/index.js",
33
+ "browser": "./dist/browser/docs/index.js",
34
+ "default": "./dist/docs/index.js"
35
+ },
36
+ "./docs/video-docs-terminal.docblock": {
37
+ "types": "./dist/docs/video-docs-terminal.docblock.d.ts",
38
+ "bun": "./dist/docs/video-docs-terminal.docblock.js",
39
+ "node": "./dist/node/docs/video-docs-terminal.docblock.js",
40
+ "browser": "./dist/browser/docs/video-docs-terminal.docblock.js",
41
+ "default": "./dist/docs/video-docs-terminal.docblock.js"
42
+ },
43
+ "./example": {
44
+ "types": "./dist/example.d.ts",
45
+ "bun": "./dist/example.js",
46
+ "node": "./dist/node/example.js",
47
+ "browser": "./dist/browser/example.js",
48
+ "default": "./dist/example.js"
49
+ },
50
+ "./generate-narration": {
51
+ "types": "./dist/generate-narration.d.ts",
52
+ "bun": "./dist/generate-narration.js",
53
+ "node": "./dist/node/generate-narration.js",
54
+ "browser": "./dist/browser/generate-narration.js",
55
+ "default": "./dist/generate-narration.js"
56
+ },
57
+ "./sample-tutorials": {
58
+ "types": "./dist/sample-tutorials.d.ts",
59
+ "bun": "./dist/sample-tutorials.js",
60
+ "node": "./dist/node/sample-tutorials.js",
61
+ "browser": "./dist/browser/sample-tutorials.js",
62
+ "default": "./dist/sample-tutorials.js"
63
+ }
64
+ },
65
+ "scripts": {
66
+ "publish:pkg": "bun publish --tolerate-republish --ignore-scripts --verbose",
67
+ "publish:pkg:canary": "bun publish:pkg --tag canary",
68
+ "build": "bun run prebuild && bun run build:bundle && bun run build:types",
69
+ "build:bundle": "contractspec-bun-build transpile",
70
+ "build:types": "contractspec-bun-build types",
71
+ "dev": "contractspec-bun-build dev",
72
+ "clean": "rimraf dist .turbo",
73
+ "lint": "bun lint:fix",
74
+ "lint:fix": "eslint src --fix",
75
+ "lint:check": "eslint src",
76
+ "test": "bun test --pass-with-no-tests",
77
+ "prebuild": "contractspec-bun-build prebuild",
78
+ "typecheck": "tsc --noEmit"
79
+ },
80
+ "dependencies": {
81
+ "@contractspec/lib.contracts-spec": "2.1.1",
82
+ "@contractspec/lib.video-gen": "1.42.1",
83
+ "@contractspec/lib.content-gen": "2.1.1"
84
+ },
85
+ "devDependencies": {
86
+ "@contractspec/tool.typescript": "2.1.0",
87
+ "@contractspec/tool.bun": "2.1.0",
88
+ "typescript": "^5.9.3"
89
+ },
90
+ "publishConfig": {
91
+ "access": "public",
92
+ "exports": {
93
+ ".": {
94
+ "types": "./dist/index.d.ts",
95
+ "bun": "./dist/index.js",
96
+ "node": "./dist/node/index.js",
97
+ "browser": "./dist/browser/index.js",
98
+ "default": "./dist/index.js"
99
+ },
100
+ "./build-tutorial": {
101
+ "types": "./dist/build-tutorial.d.ts",
102
+ "bun": "./dist/build-tutorial.js",
103
+ "node": "./dist/node/build-tutorial.js",
104
+ "browser": "./dist/browser/build-tutorial.js",
105
+ "default": "./dist/build-tutorial.js"
106
+ },
107
+ "./docs": {
108
+ "types": "./dist/docs/index.d.ts",
109
+ "bun": "./dist/docs/index.js",
110
+ "node": "./dist/node/docs/index.js",
111
+ "browser": "./dist/browser/docs/index.js",
112
+ "default": "./dist/docs/index.js"
113
+ },
114
+ "./docs/index": {
115
+ "types": "./dist/docs/index.d.ts",
116
+ "bun": "./dist/docs/index.js",
117
+ "node": "./dist/node/docs/index.js",
118
+ "browser": "./dist/browser/docs/index.js",
119
+ "default": "./dist/docs/index.js"
120
+ },
121
+ "./docs/video-docs-terminal.docblock": {
122
+ "types": "./dist/docs/video-docs-terminal.docblock.d.ts",
123
+ "bun": "./dist/docs/video-docs-terminal.docblock.js",
124
+ "node": "./dist/node/docs/video-docs-terminal.docblock.js",
125
+ "browser": "./dist/browser/docs/video-docs-terminal.docblock.js",
126
+ "default": "./dist/docs/video-docs-terminal.docblock.js"
127
+ },
128
+ "./example": {
129
+ "types": "./dist/example.d.ts",
130
+ "bun": "./dist/example.js",
131
+ "node": "./dist/node/example.js",
132
+ "browser": "./dist/browser/example.js",
133
+ "default": "./dist/example.js"
134
+ },
135
+ "./generate-narration": {
136
+ "types": "./dist/generate-narration.d.ts",
137
+ "bun": "./dist/generate-narration.js",
138
+ "node": "./dist/node/generate-narration.js",
139
+ "browser": "./dist/browser/generate-narration.js",
140
+ "default": "./dist/generate-narration.js"
141
+ },
142
+ "./sample-tutorials": {
143
+ "types": "./dist/sample-tutorials.d.ts",
144
+ "bun": "./dist/sample-tutorials.js",
145
+ "node": "./dist/node/sample-tutorials.js",
146
+ "browser": "./dist/browser/sample-tutorials.js",
147
+ "default": "./dist/sample-tutorials.js"
148
+ }
149
+ },
150
+ "registry": "https://registry.npmjs.org/"
151
+ },
152
+ "license": "MIT",
153
+ "repository": {
154
+ "type": "git",
155
+ "url": "https://github.com/lssm-tech/contractspec.git",
156
+ "directory": "packages/examples/video-docs-terminal"
157
+ },
158
+ "homepage": "https://contractspec.io"
159
+ }