devglide 0.1.1

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 (252) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +338 -0
  3. package/bin/claude-md-template.js +94 -0
  4. package/bin/devglide.js +387 -0
  5. package/package.json +85 -0
  6. package/pnpm-workspace.yaml +3 -0
  7. package/src/apps/coder/.turbo/turbo-lint.log +5 -0
  8. package/src/apps/coder/package.json +16 -0
  9. package/src/apps/coder/public/favicon.svg +7 -0
  10. package/src/apps/coder/public/page.css +275 -0
  11. package/src/apps/coder/public/page.js +528 -0
  12. package/src/apps/coder/server.js +3 -0
  13. package/src/apps/documentation/public/page.css +597 -0
  14. package/src/apps/documentation/public/page.js +609 -0
  15. package/src/apps/kanban/.turbo/turbo-lint.log +97 -0
  16. package/src/apps/kanban/.turbo/turbo-typecheck.log +5 -0
  17. package/src/apps/kanban/package.json +32 -0
  18. package/src/apps/kanban/public/favicon.svg +7 -0
  19. package/src/apps/kanban/public/page.css +1010 -0
  20. package/src/apps/kanban/public/page.js +1730 -0
  21. package/src/apps/kanban/public/vendor/marked.min.js +6 -0
  22. package/src/apps/kanban/public/vendor/sortable.min.js +2 -0
  23. package/src/apps/kanban/src/db.ts +319 -0
  24. package/src/apps/kanban/src/index.ts +14 -0
  25. package/src/apps/kanban/src/mcp-helpers.test.ts +88 -0
  26. package/src/apps/kanban/src/mcp-helpers.ts +60 -0
  27. package/src/apps/kanban/src/mcp.ts +59 -0
  28. package/src/apps/kanban/src/routes/attachments.ts +161 -0
  29. package/src/apps/kanban/src/routes/features.ts +233 -0
  30. package/src/apps/kanban/src/routes/issues.ts +373 -0
  31. package/src/apps/kanban/src/tools/feature-tools.ts +164 -0
  32. package/src/apps/kanban/src/tools/item-tools.ts +307 -0
  33. package/src/apps/kanban/src/tools/versioned-entry-tools.ts +72 -0
  34. package/src/apps/kanban/tsconfig.check.json +9 -0
  35. package/src/apps/kanban/tsconfig.json +9 -0
  36. package/src/apps/keymap/.turbo/turbo-lint.log +5 -0
  37. package/src/apps/keymap/package.json +16 -0
  38. package/src/apps/keymap/public/page.css +275 -0
  39. package/src/apps/keymap/public/page.js +294 -0
  40. package/src/apps/keymap/server.js +25 -0
  41. package/src/apps/log/.turbo/turbo-build.log +5 -0
  42. package/src/apps/log/.turbo/turbo-lint.log +45 -0
  43. package/src/apps/log/.turbo/turbo-typecheck.log +5 -0
  44. package/src/apps/log/node_modules/.bin/tsc +21 -0
  45. package/src/apps/log/node_modules/.bin/tsserver +21 -0
  46. package/src/apps/log/node_modules/.bin/tsx +21 -0
  47. package/src/apps/log/package.json +36 -0
  48. package/src/apps/log/public/console-sniffer.js +221 -0
  49. package/src/apps/log/public/favicon.svg +7 -0
  50. package/src/apps/log/public/page.css +322 -0
  51. package/src/apps/log/public/page.js +463 -0
  52. package/src/apps/log/src/index.ts +9 -0
  53. package/src/apps/log/src/mcp.ts +122 -0
  54. package/src/apps/log/src/routes/log.ts +333 -0
  55. package/src/apps/log/src/routes/status.ts +25 -0
  56. package/src/apps/log/src/server-sniffer.ts +118 -0
  57. package/src/apps/log/src/services/file-patterns.ts +39 -0
  58. package/src/apps/log/src/services/file-tailer.ts +228 -0
  59. package/src/apps/log/src/services/line-parser.ts +94 -0
  60. package/src/apps/log/src/services/log-writer.ts +39 -0
  61. package/src/apps/log/tsconfig.json +8 -0
  62. package/src/apps/prompts/.turbo/turbo-build.log +5 -0
  63. package/src/apps/prompts/.turbo/turbo-lint.log +24 -0
  64. package/src/apps/prompts/.turbo/turbo-typecheck.log +5 -0
  65. package/src/apps/prompts/mcp.ts +175 -0
  66. package/src/apps/prompts/node_modules/.bin/tsc +21 -0
  67. package/src/apps/prompts/node_modules/.bin/tsserver +21 -0
  68. package/src/apps/prompts/node_modules/.bin/tsx +21 -0
  69. package/src/apps/prompts/package.json +25 -0
  70. package/src/apps/prompts/public/page.css +315 -0
  71. package/src/apps/prompts/public/page.js +541 -0
  72. package/src/apps/prompts/services/prompt-store.ts +212 -0
  73. package/src/apps/prompts/src/index.ts +9 -0
  74. package/src/apps/prompts/tsconfig.json +8 -0
  75. package/src/apps/prompts/types.ts +27 -0
  76. package/src/apps/shell/.turbo/turbo-build.log +5 -0
  77. package/src/apps/shell/.turbo/turbo-lint.log +34 -0
  78. package/src/apps/shell/.turbo/turbo-typecheck.log +5 -0
  79. package/src/apps/shell/package.json +35 -0
  80. package/src/apps/shell/public/favicon.svg +7 -0
  81. package/src/apps/shell/public/page.css +407 -0
  82. package/src/apps/shell/public/page.js +1577 -0
  83. package/src/apps/shell/src/index.ts +150 -0
  84. package/src/apps/shell/src/mcp.ts +398 -0
  85. package/src/apps/shell/src/shell-types.ts +41 -0
  86. package/src/apps/shell/tsconfig.json +8 -0
  87. package/src/apps/test/.turbo/turbo-build.log +5 -0
  88. package/src/apps/test/.turbo/turbo-lint.log +27 -0
  89. package/src/apps/test/.turbo/turbo-typecheck.log +5 -0
  90. package/src/apps/test/node_modules/.bin/tsc +21 -0
  91. package/src/apps/test/node_modules/.bin/tsserver +21 -0
  92. package/src/apps/test/node_modules/.bin/tsx +21 -0
  93. package/src/apps/test/node_modules/.bin/uuid +21 -0
  94. package/src/apps/test/package.json +35 -0
  95. package/src/apps/test/public/favicon.svg +7 -0
  96. package/src/apps/test/public/page.css +499 -0
  97. package/src/apps/test/public/page.js +417 -0
  98. package/src/apps/test/public/scenario-runner.js +450 -0
  99. package/src/apps/test/src/index.ts +9 -0
  100. package/src/apps/test/src/mcp.ts +192 -0
  101. package/src/apps/test/src/routes/trigger.ts +285 -0
  102. package/src/apps/test/src/services/scenario-broadcaster.ts +60 -0
  103. package/src/apps/test/src/services/scenario-manager.ts +361 -0
  104. package/src/apps/test/src/services/scenario-store.ts +145 -0
  105. package/src/apps/test/tsconfig.json +8 -0
  106. package/src/apps/vocabulary/.turbo/turbo-build.log +5 -0
  107. package/src/apps/vocabulary/.turbo/turbo-lint.log +25 -0
  108. package/src/apps/vocabulary/.turbo/turbo-typecheck.log +5 -0
  109. package/src/apps/vocabulary/mcp.ts +173 -0
  110. package/src/apps/vocabulary/node_modules/.bin/tsc +21 -0
  111. package/src/apps/vocabulary/node_modules/.bin/tsserver +21 -0
  112. package/src/apps/vocabulary/node_modules/.bin/tsx +21 -0
  113. package/src/apps/vocabulary/package.json +25 -0
  114. package/src/apps/vocabulary/public/page.css +247 -0
  115. package/src/apps/vocabulary/public/page.js +444 -0
  116. package/src/apps/vocabulary/services/vocabulary-store.ts +179 -0
  117. package/src/apps/vocabulary/src/index.ts +10 -0
  118. package/src/apps/vocabulary/tsconfig.json +8 -0
  119. package/src/apps/vocabulary/types.ts +22 -0
  120. package/src/apps/voice/.turbo/turbo-build.log +5 -0
  121. package/src/apps/voice/.turbo/turbo-lint.log +43 -0
  122. package/src/apps/voice/.turbo/turbo-typecheck.log +5 -0
  123. package/src/apps/voice/node_modules/.bin/openai +21 -0
  124. package/src/apps/voice/node_modules/.bin/tsc +21 -0
  125. package/src/apps/voice/node_modules/.bin/tsserver +21 -0
  126. package/src/apps/voice/node_modules/.bin/tsx +21 -0
  127. package/src/apps/voice/package.json +35 -0
  128. package/src/apps/voice/public/favicon.svg +7 -0
  129. package/src/apps/voice/public/page.css +388 -0
  130. package/src/apps/voice/public/page.js +718 -0
  131. package/src/apps/voice/src/index.ts +10 -0
  132. package/src/apps/voice/src/mcp.ts +70 -0
  133. package/src/apps/voice/src/providers/index.ts +85 -0
  134. package/src/apps/voice/src/providers/openai-compatible.ts +94 -0
  135. package/src/apps/voice/src/providers/types.ts +27 -0
  136. package/src/apps/voice/src/routes/config.ts +118 -0
  137. package/src/apps/voice/src/routes/transcribe.ts +90 -0
  138. package/src/apps/voice/src/services/config-store.ts +129 -0
  139. package/src/apps/voice/src/services/stats.ts +108 -0
  140. package/src/apps/voice/src/transcribe.ts +11 -0
  141. package/src/apps/voice/src/utils/mime.ts +16 -0
  142. package/src/apps/voice/tsconfig.json +8 -0
  143. package/src/apps/workflow/.turbo/turbo-build.log +5 -0
  144. package/src/apps/workflow/.turbo/turbo-lint.log +96 -0
  145. package/src/apps/workflow/.turbo/turbo-typecheck.log +5 -0
  146. package/src/apps/workflow/engine/executors/decision-executor.ts +87 -0
  147. package/src/apps/workflow/engine/executors/file-executor.ts +90 -0
  148. package/src/apps/workflow/engine/executors/git-executor.ts +137 -0
  149. package/src/apps/workflow/engine/executors/http-executor.ts +65 -0
  150. package/src/apps/workflow/engine/executors/index.ts +28 -0
  151. package/src/apps/workflow/engine/executors/kanban-executor.ts +154 -0
  152. package/src/apps/workflow/engine/executors/llm-executor.ts +46 -0
  153. package/src/apps/workflow/engine/executors/log-executor.ts +62 -0
  154. package/src/apps/workflow/engine/executors/loop-executor.ts +14 -0
  155. package/src/apps/workflow/engine/executors/shell-executor.ts +107 -0
  156. package/src/apps/workflow/engine/executors/sub-workflow-executor.ts +61 -0
  157. package/src/apps/workflow/engine/executors/test-executor.ts +73 -0
  158. package/src/apps/workflow/engine/executors/trigger-executor.ts +39 -0
  159. package/src/apps/workflow/engine/expression-evaluator.ts +117 -0
  160. package/src/apps/workflow/engine/graph-runner.ts +438 -0
  161. package/src/apps/workflow/engine/node-executor.ts +104 -0
  162. package/src/apps/workflow/engine/node-registry.ts +15 -0
  163. package/src/apps/workflow/engine/variable-resolver.ts +109 -0
  164. package/src/apps/workflow/mcp.ts +223 -0
  165. package/src/apps/workflow/node_modules/.bin/tsc +21 -0
  166. package/src/apps/workflow/node_modules/.bin/tsserver +21 -0
  167. package/src/apps/workflow/node_modules/.bin/tsx +21 -0
  168. package/src/apps/workflow/package.json +25 -0
  169. package/src/apps/workflow/public/editor/canvas.js +366 -0
  170. package/src/apps/workflow/public/editor/drag-manager.js +326 -0
  171. package/src/apps/workflow/public/editor/edge-renderer.js +235 -0
  172. package/src/apps/workflow/public/editor/history-manager.js +147 -0
  173. package/src/apps/workflow/public/editor/layout-engine.js +159 -0
  174. package/src/apps/workflow/public/editor/node-renderer.js +199 -0
  175. package/src/apps/workflow/public/editor/selection-manager.js +193 -0
  176. package/src/apps/workflow/public/favicon.svg +7 -0
  177. package/src/apps/workflow/public/models/node-types.js +300 -0
  178. package/src/apps/workflow/public/models/workflow-model.js +257 -0
  179. package/src/apps/workflow/public/page.css +406 -0
  180. package/src/apps/workflow/public/page.js +658 -0
  181. package/src/apps/workflow/public/panels/inspector.js +360 -0
  182. package/src/apps/workflow/public/panels/palette.js +106 -0
  183. package/src/apps/workflow/public/panels/run-view.js +275 -0
  184. package/src/apps/workflow/public/panels/toolbar.js +232 -0
  185. package/src/apps/workflow/public/panels/workflow-list.js +237 -0
  186. package/src/apps/workflow/public/state/store.js +47 -0
  187. package/src/apps/workflow/services/custom-node-loader.ts +48 -0
  188. package/src/apps/workflow/services/legacy-converter.ts +72 -0
  189. package/src/apps/workflow/services/run-manager.ts +190 -0
  190. package/src/apps/workflow/services/workflow-store.ts +424 -0
  191. package/src/apps/workflow/services/workflow-validator.test.ts +103 -0
  192. package/src/apps/workflow/services/workflow-validator.ts +98 -0
  193. package/src/apps/workflow/src/index.ts +10 -0
  194. package/src/apps/workflow/templates/ci-pipeline.json +18 -0
  195. package/src/apps/workflow/templates/code-review.json +22 -0
  196. package/src/apps/workflow/templates/kanban-testing.json +24 -0
  197. package/src/apps/workflow/tsconfig.json +8 -0
  198. package/src/apps/workflow/types.ts +268 -0
  199. package/src/packages/auth-middleware.ts +14 -0
  200. package/src/packages/design-tokens/.turbo/turbo-build.log +10 -0
  201. package/src/packages/design-tokens/STYLEGUIDE.md +414 -0
  202. package/src/packages/design-tokens/build.js +413 -0
  203. package/src/packages/design-tokens/demo/index.html +1367 -0
  204. package/src/packages/design-tokens/demo/proposition-a.html +717 -0
  205. package/src/packages/design-tokens/demo/proposition-b.html +1239 -0
  206. package/src/packages/design-tokens/demo/proposition-c.html +1049 -0
  207. package/src/packages/design-tokens/dist/tailwind-preset.js +115 -0
  208. package/src/packages/design-tokens/dist/tokens.css +345 -0
  209. package/src/packages/design-tokens/dist/tokens.d.ts +229 -0
  210. package/src/packages/design-tokens/dist/tokens.js +386 -0
  211. package/src/packages/design-tokens/package.json +25 -0
  212. package/src/packages/design-tokens/tokens.json +228 -0
  213. package/src/packages/devtools-middleware.ts +22 -0
  214. package/src/packages/eslint-config/index.js +63 -0
  215. package/src/packages/eslint-config/node_modules/.bin/eslint +21 -0
  216. package/src/packages/eslint-config/package.json +18 -0
  217. package/src/packages/json-file-store.ts +232 -0
  218. package/src/packages/mcp-utils/.turbo/turbo-build.log +5 -0
  219. package/src/packages/mcp-utils/dist/index.d.ts +33 -0
  220. package/src/packages/mcp-utils/dist/index.d.ts.map +1 -0
  221. package/src/packages/mcp-utils/dist/index.js +126 -0
  222. package/src/packages/mcp-utils/dist/index.js.map +1 -0
  223. package/src/packages/mcp-utils/node_modules/.bin/tsc +21 -0
  224. package/src/packages/mcp-utils/node_modules/.bin/tsserver +21 -0
  225. package/src/packages/mcp-utils/package.json +32 -0
  226. package/src/packages/mcp-utils/src/index.ts +171 -0
  227. package/src/packages/mcp-utils/tsconfig.json +9 -0
  228. package/src/packages/paths.ts +18 -0
  229. package/src/packages/project-context/index.js +55 -0
  230. package/src/packages/project-context/package.json +13 -0
  231. package/src/packages/project-store.ts +127 -0
  232. package/src/packages/server-sniffer.ts +132 -0
  233. package/src/packages/shared-assets/favicon.svg +7 -0
  234. package/src/packages/shared-assets/keymap-registry.js +512 -0
  235. package/src/packages/shared-assets/logo.svg +6 -0
  236. package/src/packages/shared-assets/package.json +11 -0
  237. package/src/packages/shared-assets/ui-utils.js +48 -0
  238. package/src/packages/shared-assets/voice-widget.d.ts +37 -0
  239. package/src/packages/shared-assets/voice-widget.js +695 -0
  240. package/src/packages/shared-types/.turbo/turbo-build.log +5 -0
  241. package/src/packages/shared-types/dist/index.d.ts +39 -0
  242. package/src/packages/shared-types/dist/index.d.ts.map +1 -0
  243. package/src/packages/shared-types/node_modules/.bin/tsc +21 -0
  244. package/src/packages/shared-types/node_modules/.bin/tsserver +21 -0
  245. package/src/packages/shared-types/package.json +25 -0
  246. package/src/packages/shared-types/src/index.ts +41 -0
  247. package/src/packages/shared-types/tsconfig.json +11 -0
  248. package/src/packages/tsconfig/base.json +15 -0
  249. package/src/packages/tsconfig/next.json +14 -0
  250. package/src/packages/tsconfig/node.json +11 -0
  251. package/src/packages/tsconfig/package.json +10 -0
  252. package/turbo.json +25 -0
@@ -0,0 +1,386 @@
1
+ /* @devglide/design-tokens v2.0 — generated, do not edit */
2
+ export const tokens = {
3
+ "primitive": {
4
+ "neutral": {
5
+ "0": "#0d1117",
6
+ "1": "#161b22",
7
+ "2": "#1c2128",
8
+ "3": "#22272e",
9
+ "4": "#2d333b",
10
+ "5": "#353b44",
11
+ "6": "#444c56",
12
+ "7": "#545d68",
13
+ "8": "#636e7b",
14
+ "9": "#768390",
15
+ "10": "#8b949e",
16
+ "11": "#adbac7",
17
+ "12": "#cdd9e5"
18
+ },
19
+ "green": {
20
+ "1": "#0d1f12",
21
+ "2": "#1a3d1e",
22
+ "3": "#1f6328",
23
+ "4": "#2ea043",
24
+ "5": "#3fb950",
25
+ "6": "#56d364",
26
+ "7": "#7ee787",
27
+ "8": "#a0f0a8",
28
+ "9": "#b7f5bd"
29
+ },
30
+ "red": {
31
+ "1": "#3d0d0d",
32
+ "2": "#6e1616",
33
+ "3": "#a82020",
34
+ "4": "#d32f2f",
35
+ "5": "#ff3333",
36
+ "6": "#ff6b6b"
37
+ },
38
+ "amber": {
39
+ "1": "#3d2600",
40
+ "2": "#6e4400",
41
+ "3": "#9e6a03",
42
+ "4": "#d29922",
43
+ "5": "#e3b341",
44
+ "6": "#f0c84d"
45
+ },
46
+ "blue": {
47
+ "1": "#0d2240",
48
+ "2": "#1a3d6e",
49
+ "3": "#2f73b8",
50
+ "4": "#58a6ff",
51
+ "5": "#79c0ff"
52
+ }
53
+ },
54
+ "color": {
55
+ "bg": {
56
+ "base": "#1c2128",
57
+ "surface": "#22272e",
58
+ "raised": "#2d333b",
59
+ "overlay": "#353b44",
60
+ "sunken": "#161b22",
61
+ "invert": "#adbac7"
62
+ },
63
+ "border": {
64
+ "subtle": "#2d333b",
65
+ "default": "#373e47",
66
+ "strong": "#444c56",
67
+ "accent": "#4d5560"
68
+ },
69
+ "text": {
70
+ "primary": "#adbac7",
71
+ "secondary": "#768390",
72
+ "muted": "#636e7b",
73
+ "accent": "#7ee787",
74
+ "inverse": "#1c2128",
75
+ "link": "#58a6ff"
76
+ },
77
+ "accent": {
78
+ "subtle": "#0d1f12",
79
+ "dim": "#1a3d1e",
80
+ "muted": "#2ea043",
81
+ "default": "#7ee787",
82
+ "bright": "#a0f0a8",
83
+ "contrast": "#1c2128"
84
+ },
85
+ "state": {
86
+ "idle": "#7ee787",
87
+ "active": "#56d364",
88
+ "recording": "#ff1500",
89
+ "processing": "#e3b341",
90
+ "success": "#4ade80",
91
+ "error": "#ff3333",
92
+ "warning": "#d29922",
93
+ "info": "#58a6ff"
94
+ }
95
+ },
96
+ "font": {
97
+ "mono": "'JetBrains Mono', 'Fira Code', 'Cascadia Code', monospace",
98
+ "ui": "system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif",
99
+ "display": "'Inter Variable', 'Inter', system-ui, sans-serif"
100
+ },
101
+ "fontSize": {
102
+ "xs": "clamp(9px, calc(9px + 4 * (100vw - 720px) / 1840), 13px)",
103
+ "sm": "clamp(11px, calc(11px + 5 * (100vw - 720px) / 1840), 16px)",
104
+ "md": "clamp(12px, calc(12px + 7 * (100vw - 720px) / 1840), 19px)",
105
+ "lg": "clamp(15px, calc(15px + 10 * (100vw - 720px) / 1840), 25px)",
106
+ "xl": "clamp(19px, calc(19px + 14 * (100vw - 720px) / 1840), 33px)",
107
+ "2xl": "clamp(27px, calc(27px + 18 * (100vw - 720px) / 1840), 45px)",
108
+ "3xl": "clamp(35px, calc(35px + 28 * (100vw - 720px) / 1840), 63px)"
109
+ },
110
+ "letterSpacing": {
111
+ "tight": "0",
112
+ "normal": "0.05em",
113
+ "wide": "0.12em",
114
+ "wider": "0.2em"
115
+ },
116
+ "lineHeight": {
117
+ "tight": "1.1",
118
+ "normal": "1.4",
119
+ "loose": "1.7"
120
+ },
121
+ "space": {
122
+ "1": "4px",
123
+ "2": "8px",
124
+ "3": "12px",
125
+ "4": "16px",
126
+ "5": "20px",
127
+ "6": "24px",
128
+ "8": "32px",
129
+ "10": "40px",
130
+ "12": "48px",
131
+ "16": "64px",
132
+ "20": "80px",
133
+ "24": "96px",
134
+ "px": "1px"
135
+ },
136
+ "radius": {
137
+ "none": "0",
138
+ "xs": "2px",
139
+ "sm": "4px",
140
+ "md": "6px",
141
+ "lg": "8px",
142
+ "xl": "12px",
143
+ "full": "9999px"
144
+ },
145
+ "clip": {
146
+ "sm": "polygon(0 0, calc(100% - 8px) 0, 100% 8px, 100% 100%, 8px 100%, 0 calc(100% - 8px))",
147
+ "md": "polygon(0 0, calc(100% - 12px) 0, 100% 12px, 100% 100%, 12px 100%, 0 calc(100% - 12px))",
148
+ "lg": "polygon(0 0, calc(100% - 16px) 0, 100% 16px, 100% 100%, 16px 100%, 0 calc(100% - 16px))",
149
+ "xl": "polygon(0 0, calc(100% - 24px) 0, 100% 24px, 100% 100%, 24px 100%, 0 calc(100% - 24px))"
150
+ },
151
+ "shadow": {
152
+ "sm": "0 1px 3px rgba(0,0,0,0.4)",
153
+ "md": "0 2px 8px rgba(0,0,0,0.5)",
154
+ "lg": "0 4px 16px rgba(0,0,0,0.6)",
155
+ "xl": "0 8px 32px rgba(0,0,0,0.7)"
156
+ },
157
+ "glow": {
158
+ "accent": "0 0 8px rgba(126,231,135,0.4)",
159
+ "accent-strong": "0 0 16px rgba(126,231,135,0.7)",
160
+ "error": "0 0 8px rgba(255,51,51,0.6)",
161
+ "success": "0 0 8px rgba(74,222,128,0.4)",
162
+ "processing": "0 0 8px rgba(227,179,65,0.4)"
163
+ },
164
+ "opacity": {
165
+ "5": "0.05",
166
+ "10": "0.1",
167
+ "20": "0.2",
168
+ "40": "0.4",
169
+ "60": "0.6",
170
+ "80": "0.8"
171
+ },
172
+ "duration": {
173
+ "fast": "150ms",
174
+ "base": "250ms",
175
+ "slow": "400ms",
176
+ "slower": "600ms"
177
+ },
178
+ "easing": {
179
+ "default": "ease",
180
+ "in": "ease-in",
181
+ "out": "ease-out",
182
+ "linear": "linear",
183
+ "spring": "linear(0, 0.009, 0.035 2.1%, 0.141 4.4%, 0.723 12.9%, 0.938 16.7%, 1.017, 1.058, 1.066 24%, 1.058, 1.037 31%, 0.99 38%, 0.977 42%, 0.975, 0.978 48.9%, 1)",
184
+ "spring-bouncy": "linear(0, 0.004, 0.016, 0.035, 0.063 9.1%, 0.141 13.6%, 0.25, 0.391, 0.563, 0.765, 1.006 30.7%, 1.119 34.8%, 1.17 38.4%, 1.177, 1.152 44.4%, 1.029 53%, 0.988 57.5%, 0.984, 0.989 63.2%, 1.006 69.3%, 1.012 75.4%, 1.007, 1)"
185
+ },
186
+ "focus": {
187
+ "ring-width": "2px",
188
+ "ring-offset": "2px",
189
+ "ring-color": "#7ee787"
190
+ },
191
+ "zIndex": {
192
+ "base": "0",
193
+ "raised": "10",
194
+ "overlay": "100",
195
+ "modal": "200",
196
+ "toast": "300"
197
+ },
198
+ "breakpoint": {
199
+ "sm": "640px",
200
+ "md": "1024px",
201
+ "lg": "1440px",
202
+ "xl": "1920px",
203
+ "2xl": "2560px"
204
+ },
205
+ "maxWidth": {
206
+ "prose": "65ch",
207
+ "sm": "720px",
208
+ "md": "960px",
209
+ "lg": "1200px",
210
+ "xl": "1440px"
211
+ }
212
+ };
213
+
214
+ // Flat map of CSS variable name -> value
215
+ export const cssVars = Object.fromEntries([
216
+ ['--df-primitive-neutral-0', "#0d1117"],
217
+ ['--df-primitive-neutral-1', "#161b22"],
218
+ ['--df-primitive-neutral-2', "#1c2128"],
219
+ ['--df-primitive-neutral-3', "#22272e"],
220
+ ['--df-primitive-neutral-4', "#2d333b"],
221
+ ['--df-primitive-neutral-5', "#353b44"],
222
+ ['--df-primitive-neutral-6', "#444c56"],
223
+ ['--df-primitive-neutral-7', "#545d68"],
224
+ ['--df-primitive-neutral-8', "#636e7b"],
225
+ ['--df-primitive-neutral-9', "#768390"],
226
+ ['--df-primitive-neutral-10', "#8b949e"],
227
+ ['--df-primitive-neutral-11', "#adbac7"],
228
+ ['--df-primitive-neutral-12', "#cdd9e5"],
229
+ ['--df-primitive-green-1', "#0d1f12"],
230
+ ['--df-primitive-green-2', "#1a3d1e"],
231
+ ['--df-primitive-green-3', "#1f6328"],
232
+ ['--df-primitive-green-4', "#2ea043"],
233
+ ['--df-primitive-green-5', "#3fb950"],
234
+ ['--df-primitive-green-6', "#56d364"],
235
+ ['--df-primitive-green-7', "#7ee787"],
236
+ ['--df-primitive-green-8', "#a0f0a8"],
237
+ ['--df-primitive-green-9', "#b7f5bd"],
238
+ ['--df-primitive-red-1', "#3d0d0d"],
239
+ ['--df-primitive-red-2', "#6e1616"],
240
+ ['--df-primitive-red-3', "#a82020"],
241
+ ['--df-primitive-red-4', "#d32f2f"],
242
+ ['--df-primitive-red-5', "#ff3333"],
243
+ ['--df-primitive-red-6', "#ff6b6b"],
244
+ ['--df-primitive-amber-1', "#3d2600"],
245
+ ['--df-primitive-amber-2', "#6e4400"],
246
+ ['--df-primitive-amber-3', "#9e6a03"],
247
+ ['--df-primitive-amber-4', "#d29922"],
248
+ ['--df-primitive-amber-5', "#e3b341"],
249
+ ['--df-primitive-amber-6', "#f0c84d"],
250
+ ['--df-primitive-blue-1', "#0d2240"],
251
+ ['--df-primitive-blue-2', "#1a3d6e"],
252
+ ['--df-primitive-blue-3', "#2f73b8"],
253
+ ['--df-primitive-blue-4', "#58a6ff"],
254
+ ['--df-primitive-blue-5', "#79c0ff"],
255
+ ['--df-color-bg-base', "#1c2128"],
256
+ ['--df-color-bg-surface', "#22272e"],
257
+ ['--df-color-bg-raised', "#2d333b"],
258
+ ['--df-color-bg-overlay', "#353b44"],
259
+ ['--df-color-bg-sunken', "#161b22"],
260
+ ['--df-color-bg-invert', "#adbac7"],
261
+ ['--df-color-border-subtle', "#2d333b"],
262
+ ['--df-color-border-default', "#373e47"],
263
+ ['--df-color-border-strong', "#444c56"],
264
+ ['--df-color-border-accent', "#4d5560"],
265
+ ['--df-color-text-primary', "#adbac7"],
266
+ ['--df-color-text-secondary', "#768390"],
267
+ ['--df-color-text-muted', "#636e7b"],
268
+ ['--df-color-text-accent', "#7ee787"],
269
+ ['--df-color-text-inverse', "#1c2128"],
270
+ ['--df-color-text-link', "#58a6ff"],
271
+ ['--df-color-accent-subtle', "#0d1f12"],
272
+ ['--df-color-accent-dim', "#1a3d1e"],
273
+ ['--df-color-accent-muted', "#2ea043"],
274
+ ['--df-color-accent-default', "#7ee787"],
275
+ ['--df-color-accent-bright', "#a0f0a8"],
276
+ ['--df-color-accent-contrast', "#1c2128"],
277
+ ['--df-color-state-idle', "#7ee787"],
278
+ ['--df-color-state-active', "#56d364"],
279
+ ['--df-color-state-recording', "#ff1500"],
280
+ ['--df-color-state-processing', "#e3b341"],
281
+ ['--df-color-state-success', "#4ade80"],
282
+ ['--df-color-state-error', "#ff3333"],
283
+ ['--df-color-state-warning', "#d29922"],
284
+ ['--df-color-state-info', "#58a6ff"],
285
+ ['--df-font-mono', "'JetBrains Mono', 'Fira Code', 'Cascadia Code', monospace"],
286
+ ['--df-font-ui', "system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif"],
287
+ ['--df-font-display', "'Inter Variable', 'Inter', system-ui, sans-serif"],
288
+ ['--df-font-size-xs', "clamp(9px, calc(9px + 4 * (100vw - 720px) / 1840), 13px)"],
289
+ ['--df-font-size-sm', "clamp(11px, calc(11px + 5 * (100vw - 720px) / 1840), 16px)"],
290
+ ['--df-font-size-md', "clamp(12px, calc(12px + 7 * (100vw - 720px) / 1840), 19px)"],
291
+ ['--df-font-size-lg', "clamp(15px, calc(15px + 10 * (100vw - 720px) / 1840), 25px)"],
292
+ ['--df-font-size-xl', "clamp(19px, calc(19px + 14 * (100vw - 720px) / 1840), 33px)"],
293
+ ['--df-font-size-2xl', "clamp(27px, calc(27px + 18 * (100vw - 720px) / 1840), 45px)"],
294
+ ['--df-font-size-3xl', "clamp(35px, calc(35px + 28 * (100vw - 720px) / 1840), 63px)"],
295
+ ['--df-letter-spacing-tight', "0"],
296
+ ['--df-letter-spacing-normal', "0.05em"],
297
+ ['--df-letter-spacing-wide', "0.12em"],
298
+ ['--df-letter-spacing-wider', "0.2em"],
299
+ ['--df-line-height-tight', "1.1"],
300
+ ['--df-line-height-normal', "1.4"],
301
+ ['--df-line-height-loose', "1.7"],
302
+ ['--df-space-1', "4px"],
303
+ ['--df-space-2', "8px"],
304
+ ['--df-space-3', "12px"],
305
+ ['--df-space-4', "16px"],
306
+ ['--df-space-5', "20px"],
307
+ ['--df-space-6', "24px"],
308
+ ['--df-space-8', "32px"],
309
+ ['--df-space-10', "40px"],
310
+ ['--df-space-12', "48px"],
311
+ ['--df-space-16', "64px"],
312
+ ['--df-space-20', "80px"],
313
+ ['--df-space-24', "96px"],
314
+ ['--df-space-px', "1px"],
315
+ ['--df-radius-none', "0"],
316
+ ['--df-radius-xs', "2px"],
317
+ ['--df-radius-sm', "4px"],
318
+ ['--df-radius-md', "6px"],
319
+ ['--df-radius-lg', "8px"],
320
+ ['--df-radius-xl', "12px"],
321
+ ['--df-radius-full', "9999px"],
322
+ ['--df-clip-sm', "polygon(0 0, calc(100% - 8px) 0, 100% 8px, 100% 100%, 8px 100%, 0 calc(100% - 8px))"],
323
+ ['--df-clip-md', "polygon(0 0, calc(100% - 12px) 0, 100% 12px, 100% 100%, 12px 100%, 0 calc(100% - 12px))"],
324
+ ['--df-clip-lg', "polygon(0 0, calc(100% - 16px) 0, 100% 16px, 100% 100%, 16px 100%, 0 calc(100% - 16px))"],
325
+ ['--df-clip-xl', "polygon(0 0, calc(100% - 24px) 0, 100% 24px, 100% 100%, 24px 100%, 0 calc(100% - 24px))"],
326
+ ['--df-shadow-sm', "0 1px 3px rgba(0,0,0,0.4)"],
327
+ ['--df-shadow-md', "0 2px 8px rgba(0,0,0,0.5)"],
328
+ ['--df-shadow-lg', "0 4px 16px rgba(0,0,0,0.6)"],
329
+ ['--df-shadow-xl', "0 8px 32px rgba(0,0,0,0.7)"],
330
+ ['--df-glow-accent', "0 0 8px rgba(126,231,135,0.4)"],
331
+ ['--df-glow-accent-strong', "0 0 16px rgba(126,231,135,0.7)"],
332
+ ['--df-glow-error', "0 0 8px rgba(255,51,51,0.6)"],
333
+ ['--df-glow-success', "0 0 8px rgba(74,222,128,0.4)"],
334
+ ['--df-glow-processing', "0 0 8px rgba(227,179,65,0.4)"],
335
+ ['--df-opacity-5', "0.05"],
336
+ ['--df-opacity-10', "0.1"],
337
+ ['--df-opacity-20', "0.2"],
338
+ ['--df-opacity-40', "0.4"],
339
+ ['--df-opacity-60', "0.6"],
340
+ ['--df-opacity-80', "0.8"],
341
+ ['--df-duration-fast', "150ms"],
342
+ ['--df-duration-base', "250ms"],
343
+ ['--df-duration-slow', "400ms"],
344
+ ['--df-duration-slower', "600ms"],
345
+ ['--df-easing-default', "ease"],
346
+ ['--df-easing-in', "ease-in"],
347
+ ['--df-easing-out', "ease-out"],
348
+ ['--df-easing-linear', "linear"],
349
+ ['--df-easing-spring', "linear(0, 0.009, 0.035 2.1%, 0.141 4.4%, 0.723 12.9%, 0.938 16.7%, 1.017, 1.058, 1.066 24%, 1.058, 1.037 31%, 0.99 38%, 0.977 42%, 0.975, 0.978 48.9%, 1)"],
350
+ ['--df-easing-spring-bouncy', "linear(0, 0.004, 0.016, 0.035, 0.063 9.1%, 0.141 13.6%, 0.25, 0.391, 0.563, 0.765, 1.006 30.7%, 1.119 34.8%, 1.17 38.4%, 1.177, 1.152 44.4%, 1.029 53%, 0.988 57.5%, 0.984, 0.989 63.2%, 1.006 69.3%, 1.012 75.4%, 1.007, 1)"],
351
+ ['--df-focus-ring-width', "2px"],
352
+ ['--df-focus-ring-offset', "2px"],
353
+ ['--df-focus-ring-color', "#7ee787"],
354
+ ['--df-z-index-base', "0"],
355
+ ['--df-z-index-raised', "10"],
356
+ ['--df-z-index-overlay', "100"],
357
+ ['--df-z-index-modal', "200"],
358
+ ['--df-z-index-toast', "300"],
359
+ ['--df-breakpoint-sm', "640px"],
360
+ ['--df-breakpoint-md', "1024px"],
361
+ ['--df-breakpoint-lg', "1440px"],
362
+ ['--df-breakpoint-xl', "1920px"],
363
+ ['--df-breakpoint-2xl', "2560px"],
364
+ ['--df-max-width-prose', "65ch"],
365
+ ['--df-max-width-sm', "720px"],
366
+ ['--df-max-width-md', "960px"],
367
+ ['--df-max-width-lg', "1200px"],
368
+ ['--df-max-width-xl', "1440px"],
369
+ ]);
370
+
371
+ // Convenience re-exports
372
+ export const primitives = tokens.primitive;
373
+ export const colors = tokens.color;
374
+ export const fonts = tokens.font;
375
+ export const fontSizes = tokens.fontSize;
376
+ export const spacing = tokens.space;
377
+ export const radii = tokens.radius;
378
+ export const clips = tokens.clip;
379
+ export const shadows = tokens.shadow;
380
+ export const glows = tokens.glow;
381
+ export const opacities = tokens.opacity;
382
+ export const durations = tokens.duration;
383
+ export const easings = tokens.easing;
384
+ export const focusRing = tokens.focus;
385
+ export const breakpoints = tokens.breakpoint;
386
+ export const maxWidths = tokens.maxWidth;
@@ -0,0 +1,25 @@
1
+ {
2
+ "name": "@devglide/design-tokens",
3
+ "version": "0.1.0",
4
+ "description": "Devglide design token system — NGE/NERV aesthetic",
5
+ "type": "module",
6
+ "main": "./dist/tokens.js",
7
+ "types": "./dist/tokens.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "import": "./dist/tokens.js",
11
+ "types": "./dist/tokens.d.ts"
12
+ },
13
+ "./css": "./dist/tokens.css",
14
+ "./tailwind": "./dist/tailwind-preset.js"
15
+ },
16
+ "files": [
17
+ "dist/",
18
+ "demo/",
19
+ "tokens.json",
20
+ "STYLEGUIDE.md"
21
+ ],
22
+ "scripts": {
23
+ "build": "node build.js"
24
+ }
25
+ }
@@ -0,0 +1,228 @@
1
+ {
2
+ "primitive": {
3
+ "neutral": {
4
+ "0": "#0d1117",
5
+ "1": "#161b22",
6
+ "2": "#1c2128",
7
+ "3": "#22272e",
8
+ "4": "#2d333b",
9
+ "5": "#353b44",
10
+ "6": "#444c56",
11
+ "7": "#545d68",
12
+ "8": "#636e7b",
13
+ "9": "#768390",
14
+ "10": "#8b949e",
15
+ "11": "#adbac7",
16
+ "12": "#cdd9e5"
17
+ },
18
+ "green": {
19
+ "1": "#0d1f12",
20
+ "2": "#1a3d1e",
21
+ "3": "#1f6328",
22
+ "4": "#2ea043",
23
+ "5": "#3fb950",
24
+ "6": "#56d364",
25
+ "7": "#7ee787",
26
+ "8": "#a0f0a8",
27
+ "9": "#b7f5bd"
28
+ },
29
+ "red": {
30
+ "1": "#3d0d0d",
31
+ "2": "#6e1616",
32
+ "3": "#a82020",
33
+ "4": "#d32f2f",
34
+ "5": "#ff3333",
35
+ "6": "#ff6b6b"
36
+ },
37
+ "amber": {
38
+ "1": "#3d2600",
39
+ "2": "#6e4400",
40
+ "3": "#9e6a03",
41
+ "4": "#d29922",
42
+ "5": "#e3b341",
43
+ "6": "#f0c84d"
44
+ },
45
+ "blue": {
46
+ "1": "#0d2240",
47
+ "2": "#1a3d6e",
48
+ "3": "#2f73b8",
49
+ "4": "#58a6ff",
50
+ "5": "#79c0ff"
51
+ }
52
+ },
53
+
54
+ "color": {
55
+ "bg": {
56
+ "base": "#1c2128",
57
+ "surface": "#22272e",
58
+ "raised": "#2d333b",
59
+ "overlay": "#353b44",
60
+ "sunken": "#161b22",
61
+ "invert": "#adbac7"
62
+ },
63
+ "border": {
64
+ "subtle": "#2d333b",
65
+ "default": "#373e47",
66
+ "strong": "#444c56",
67
+ "accent": "#4d5560"
68
+ },
69
+ "text": {
70
+ "primary": "#adbac7",
71
+ "secondary": "#768390",
72
+ "muted": "#636e7b",
73
+ "accent": "#7ee787",
74
+ "inverse": "#1c2128",
75
+ "link": "#58a6ff"
76
+ },
77
+ "accent": {
78
+ "subtle": "#0d1f12",
79
+ "dim": "#1a3d1e",
80
+ "muted": "#2ea043",
81
+ "default": "#7ee787",
82
+ "bright": "#a0f0a8",
83
+ "contrast": "#1c2128"
84
+ },
85
+ "state": {
86
+ "idle": "#7ee787",
87
+ "active": "#56d364",
88
+ "recording": "#ff1500",
89
+ "processing": "#e3b341",
90
+ "success": "#4ade80",
91
+ "error": "#ff3333",
92
+ "warning": "#d29922",
93
+ "info": "#58a6ff"
94
+ }
95
+ },
96
+
97
+ "font": {
98
+ "mono": "'JetBrains Mono', 'Fira Code', 'Cascadia Code', monospace",
99
+ "ui": "system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif",
100
+ "display": "'Inter Variable', 'Inter', system-ui, sans-serif"
101
+ },
102
+
103
+ "fontSize": {
104
+ "xs": "clamp(9px, calc(9px + 4 * (100vw - 720px) / 1840), 13px)",
105
+ "sm": "clamp(11px, calc(11px + 5 * (100vw - 720px) / 1840), 16px)",
106
+ "md": "clamp(12px, calc(12px + 7 * (100vw - 720px) / 1840), 19px)",
107
+ "lg": "clamp(15px, calc(15px + 10 * (100vw - 720px) / 1840), 25px)",
108
+ "xl": "clamp(19px, calc(19px + 14 * (100vw - 720px) / 1840), 33px)",
109
+ "2xl": "clamp(27px, calc(27px + 18 * (100vw - 720px) / 1840), 45px)",
110
+ "3xl": "clamp(35px, calc(35px + 28 * (100vw - 720px) / 1840), 63px)"
111
+ },
112
+
113
+ "letterSpacing": {
114
+ "tight": "0",
115
+ "normal": "0.05em",
116
+ "wide": "0.12em",
117
+ "wider": "0.2em"
118
+ },
119
+
120
+ "lineHeight": {
121
+ "tight": "1.1",
122
+ "normal": "1.4",
123
+ "loose": "1.7"
124
+ },
125
+
126
+ "space": {
127
+ "px": "1px",
128
+ "1": "4px",
129
+ "2": "8px",
130
+ "3": "12px",
131
+ "4": "16px",
132
+ "5": "20px",
133
+ "6": "24px",
134
+ "8": "32px",
135
+ "10": "40px",
136
+ "12": "48px",
137
+ "16": "64px",
138
+ "20": "80px",
139
+ "24": "96px"
140
+ },
141
+
142
+ "radius": {
143
+ "none": "0",
144
+ "xs": "2px",
145
+ "sm": "4px",
146
+ "md": "6px",
147
+ "lg": "8px",
148
+ "xl": "12px",
149
+ "full": "9999px"
150
+ },
151
+
152
+ "clip": {
153
+ "sm": "polygon(0 0, calc(100% - 8px) 0, 100% 8px, 100% 100%, 8px 100%, 0 calc(100% - 8px))",
154
+ "md": "polygon(0 0, calc(100% - 12px) 0, 100% 12px, 100% 100%, 12px 100%, 0 calc(100% - 12px))",
155
+ "lg": "polygon(0 0, calc(100% - 16px) 0, 100% 16px, 100% 100%, 16px 100%, 0 calc(100% - 16px))",
156
+ "xl": "polygon(0 0, calc(100% - 24px) 0, 100% 24px, 100% 100%, 24px 100%, 0 calc(100% - 24px))"
157
+ },
158
+
159
+ "shadow": {
160
+ "sm": "0 1px 3px rgba(0,0,0,0.4)",
161
+ "md": "0 2px 8px rgba(0,0,0,0.5)",
162
+ "lg": "0 4px 16px rgba(0,0,0,0.6)",
163
+ "xl": "0 8px 32px rgba(0,0,0,0.7)"
164
+ },
165
+
166
+ "glow": {
167
+ "accent": "0 0 8px rgba(126,231,135,0.4)",
168
+ "accent-strong": "0 0 16px rgba(126,231,135,0.7)",
169
+ "error": "0 0 8px rgba(255,51,51,0.6)",
170
+ "success": "0 0 8px rgba(74,222,128,0.4)",
171
+ "processing": "0 0 8px rgba(227,179,65,0.4)"
172
+ },
173
+
174
+ "opacity": {
175
+ "5": "0.05",
176
+ "10": "0.1",
177
+ "20": "0.2",
178
+ "40": "0.4",
179
+ "60": "0.6",
180
+ "80": "0.8"
181
+ },
182
+
183
+ "duration": {
184
+ "fast": "150ms",
185
+ "base": "250ms",
186
+ "slow": "400ms",
187
+ "slower": "600ms"
188
+ },
189
+
190
+ "easing": {
191
+ "default": "ease",
192
+ "in": "ease-in",
193
+ "out": "ease-out",
194
+ "linear": "linear",
195
+ "spring": "linear(0, 0.009, 0.035 2.1%, 0.141 4.4%, 0.723 12.9%, 0.938 16.7%, 1.017, 1.058, 1.066 24%, 1.058, 1.037 31%, 0.99 38%, 0.977 42%, 0.975, 0.978 48.9%, 1)",
196
+ "spring-bouncy": "linear(0, 0.004, 0.016, 0.035, 0.063 9.1%, 0.141 13.6%, 0.25, 0.391, 0.563, 0.765, 1.006 30.7%, 1.119 34.8%, 1.17 38.4%, 1.177, 1.152 44.4%, 1.029 53%, 0.988 57.5%, 0.984, 0.989 63.2%, 1.006 69.3%, 1.012 75.4%, 1.007, 1)"
197
+ },
198
+
199
+ "focus": {
200
+ "ring-width": "2px",
201
+ "ring-offset": "2px",
202
+ "ring-color": "#7ee787"
203
+ },
204
+
205
+ "zIndex": {
206
+ "base": "0",
207
+ "raised": "10",
208
+ "overlay": "100",
209
+ "modal": "200",
210
+ "toast": "300"
211
+ },
212
+
213
+ "breakpoint": {
214
+ "sm": "640px",
215
+ "md": "1024px",
216
+ "lg": "1440px",
217
+ "xl": "1920px",
218
+ "2xl": "2560px"
219
+ },
220
+
221
+ "maxWidth": {
222
+ "prose": "65ch",
223
+ "sm": "720px",
224
+ "md": "960px",
225
+ "lg": "1200px",
226
+ "xl": "1440px"
227
+ }
228
+ }
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Devglide devtools script sources — provides inlined console-sniffer
3
+ * and scenario-runner JS for embedding in devtools endpoints.
4
+ */
5
+
6
+ import path from 'path';
7
+ import { fileURLToPath } from 'url';
8
+ import { readFileSync } from 'fs';
9
+
10
+ const __dirname = path.dirname(fileURLToPath(import.meta.url));
11
+
12
+ // Read script sources once at startup
13
+ let snifferSource: string = '';
14
+ let runnerSource: string = '';
15
+ try {
16
+ snifferSource = readFileSync(path.join(__dirname, '../apps/log/public/console-sniffer.js'), 'utf-8');
17
+ } catch {}
18
+ try {
19
+ runnerSource = readFileSync(path.join(__dirname, '../apps/test/public/scenario-runner.js'), 'utf-8');
20
+ } catch {}
21
+
22
+ export { snifferSource, runnerSource };