chamba 0.7.0 → 0.9.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 (134) hide show
  1. package/LICENSE +53 -14
  2. package/README.md +34 -8
  3. package/dist/commands/advanced.js +7 -278
  4. package/dist/commands/dev.js +11 -612
  5. package/dist/commands/doctor.js +1 -29
  6. package/dist/commands/menu.js +1 -80
  7. package/dist/commands/onboard.js +6 -230
  8. package/dist/commands/settings.js +15 -349
  9. package/dist/lib/agent-commands.js +2 -0
  10. package/dist/lib/agent-context.js +6 -210
  11. package/dist/lib/browser.js +1 -40
  12. package/dist/lib/chamba-yaml.js +10 -191
  13. package/dist/lib/constants.js +1 -125
  14. package/dist/lib/dockerfile-builder.js +41 -261
  15. package/dist/lib/env.js +2 -78
  16. package/dist/lib/git-env.js +1 -21
  17. package/dist/lib/global-config.js +4 -66
  18. package/dist/lib/pnpm-store.js +1 -19
  19. package/dist/lib/ports.js +1 -210
  20. package/dist/lib/safe-rm.js +1 -36
  21. package/dist/lib/sessions.js +2 -34
  22. package/dist/lib/shadows.js +1 -176
  23. package/dist/lib/skills.js +2 -0
  24. package/dist/lib/templates.js +1 -0
  25. package/dist/lib/webterm.js +1 -305
  26. package/dist/lib/workspace-identity.js +4 -260
  27. package/package.json +4 -4
  28. package/templates/Dockerfile +15 -22
  29. package/templates/claude-statusline.sh +5 -7
  30. package/templates/context/baseline.md +4 -2
  31. package/templates/context/web-pane-craft.md +1 -1
  32. package/templates/pane-apps/client/assets/api-BBDf_rzz.js +12 -0
  33. package/templates/pane-apps/client/assets/api-DNLbSBpK.css +1 -0
  34. package/templates/pane-apps/client/assets/bee-B7t97l5B.webp +0 -0
  35. package/templates/pane-apps/client/assets/buzz-CUUsbnXH.mp3 +0 -0
  36. package/templates/pane-apps/client/assets/c-BNa-DeUl.json +3552 -0
  37. package/templates/pane-apps/client/assets/cpp-B-T4NRoH.json +20239 -0
  38. package/templates/pane-apps/client/assets/csharp-BbxHChhA.json +6010 -0
  39. package/templates/pane-apps/client/assets/css-CWCxuwmz.json +1860 -0
  40. package/templates/pane-apps/client/assets/diff-B-2N89g8.json +154 -0
  41. package/templates/pane-apps/client/assets/docker-DWTvYW26.json +103 -0
  42. package/templates/pane-apps/client/assets/files-BkmyervY.js +1 -0
  43. package/templates/pane-apps/client/assets/go-B2hyYeNg.json +3156 -0
  44. package/templates/pane-apps/client/assets/graphql-Z6Id2aNO.json +1292 -0
  45. package/templates/pane-apps/client/assets/home-3SeGzySM.css +1 -0
  46. package/templates/pane-apps/client/assets/home-Cu9xOd2i.js +1 -0
  47. package/templates/pane-apps/client/assets/html-BtzvlIfu.json +2627 -0
  48. package/templates/pane-apps/client/assets/ini-Bn3Twap1.json +108 -0
  49. package/templates/pane-apps/client/assets/java-C7t2dwLO.json +1885 -0
  50. package/templates/pane-apps/client/assets/javascript-DuC2v0C0.json +5996 -0
  51. package/templates/pane-apps/client/assets/json-CwdkWeV5.json +206 -0
  52. package/templates/pane-apps/client/assets/jsonc-MYWDbTU3.json +206 -0
  53. package/templates/pane-apps/client/assets/jsx-Cn8EZuIC.json +5996 -0
  54. package/templates/pane-apps/client/assets/kotlin-CFNOz1gw.json +580 -0
  55. package/templates/pane-apps/client/assets/make-BVnlFCcl.json +629 -0
  56. package/templates/pane-apps/client/assets/markdown-B4Xk2WM_.json +3263 -0
  57. package/templates/pane-apps/client/assets/php-CAQzQmmI.json +4188 -0
  58. package/templates/pane-apps/client/assets/pop-D5ZANBC3.mp3 +0 -0
  59. package/templates/pane-apps/client/assets/python-CYQee8m4.json +4174 -0
  60. package/templates/pane-apps/client/assets/reviews-DMrGB-kG.js +153 -0
  61. package/templates/pane-apps/client/assets/reviews-nK_yRav9.css +1 -0
  62. package/templates/pane-apps/client/assets/ruby-D7R58tus.json +3114 -0
  63. package/templates/pane-apps/client/assets/rust-BFBbFiei.json +1103 -0
  64. package/templates/pane-apps/client/assets/scss-TQRhBkPG.json +1874 -0
  65. package/templates/pane-apps/client/assets/shellscript-DieAkC4W.json +2375 -0
  66. package/templates/pane-apps/client/assets/specs-Cabb15F0.js +13 -0
  67. package/templates/pane-apps/client/assets/sql-Bxd030LV.json +634 -0
  68. package/templates/pane-apps/client/assets/toml-ChrKGzsV.json +430 -0
  69. package/templates/pane-apps/client/assets/tsx-D2e90MFw.json +5996 -0
  70. package/templates/pane-apps/client/assets/typescript-DonXQ_n1.json +5747 -0
  71. package/templates/pane-apps/client/assets/useNow-BHFKFraS.js +1 -0
  72. package/templates/pane-apps/client/assets/xml-B17r2RXF.json +382 -0
  73. package/templates/pane-apps/client/assets/yaml-CKn4h1zy.json +627 -0
  74. package/templates/pane-apps/client/home/index.html +16 -0
  75. package/templates/pane-apps/client/reviews/index.html +17 -0
  76. package/templates/pane-apps/client/specs/index.html +4 -2
  77. package/templates/pane-apps/server/home.mjs +12 -0
  78. package/templates/pane-apps/server/reviews.mjs +21 -0
  79. package/templates/pane-apps/server/specs.mjs +5 -1588
  80. package/templates/skills/chamba-statusline/SKILL.md +7 -19
  81. package/templates/skills/dx-review/SKILL.md +136 -0
  82. package/templates/skills/dx-review/references/acts.md +233 -0
  83. package/templates/skills/dx-spec/SKILL.md +230 -30
  84. package/templates/skills/dx-spec/references/principles-template.md +2 -0
  85. package/templates/skills/dx-spec/references/review-guide.md +6 -52
  86. package/templates/skills/dx-spec/references/spec-guide.md +25 -5
  87. package/templates/skills/dx-spec/references/stages.md +149 -60
  88. package/templates/skills/dx-spec-execute/SKILL.md +217 -38
  89. package/templates/startup.mjs +22 -16
  90. package/templates/tool-helper.sh +168 -0
  91. package/templates/webterm/README.md +82 -27
  92. package/templates/webterm/color.js +61 -0
  93. package/templates/webterm/config.js +55 -4
  94. package/templates/webterm/context/claude.md +0 -1
  95. package/templates/webterm/public/app/alerts.js +95 -14
  96. package/templates/webterm/public/app/anchored.js +81 -0
  97. package/templates/webterm/public/app/composer.js +37 -3
  98. package/templates/webterm/public/app/connection.js +23 -0
  99. package/templates/webterm/public/app/dom.js +3 -0
  100. package/templates/webterm/public/app/frames.js +52 -18
  101. package/templates/webterm/public/app/home-host.js +16 -0
  102. package/templates/webterm/public/app/main.js +24 -8
  103. package/templates/webterm/public/app/new-session.js +13 -41
  104. package/templates/webterm/public/app/palette.js +58 -0
  105. package/templates/webterm/public/app/pane-shape.js +169 -0
  106. package/templates/webterm/public/app/pane-shell.js +240 -135
  107. package/templates/webterm/public/app/pane.js +39 -24
  108. package/templates/webterm/public/app/reviews-host.js +19 -0
  109. package/templates/webterm/public/app/specs-host.js +12 -218
  110. package/templates/webterm/public/app/state.js +5 -0
  111. package/templates/webterm/public/app/tabs.js +6 -2
  112. package/templates/webterm/public/app/theme.js +75 -27
  113. package/templates/webterm/public/app/tool-host.js +318 -0
  114. package/templates/webterm/public/app/workspace-color.js +192 -0
  115. package/templates/webterm/public/index.html +22 -4
  116. package/templates/webterm/public/styles.css +195 -21
  117. package/templates/webterm/server.js +198 -150
  118. package/templates/webterm/tool-document.js +3 -2
  119. package/templates/webterm/tools/commands.js +61 -0
  120. package/templates/webterm/tools/home.js +58 -0
  121. package/templates/webterm/tools/index.js +26 -0
  122. package/templates/webterm/tools/mount.js +337 -0
  123. package/templates/webterm/tools/paths.js +34 -0
  124. package/templates/webterm/tools/reviews.js +137 -0
  125. package/templates/webterm/tools/specs.js +154 -0
  126. package/templates/webterm/typed-line.js +70 -7
  127. package/templates/context/context-usage.md +0 -1
  128. package/templates/context-usage.sh +0 -266
  129. package/templates/pane-apps/client/assets/specs-B1970L17.css +0 -1
  130. package/templates/pane-apps/client/assets/specs-cEee_SPn.js +0 -23
  131. package/templates/skills/dx-spec-config/SKILL.md +0 -313
  132. package/templates/skills/dx-spec-config/references/principles-template.md +0 -12
  133. package/templates/specs.sh +0 -106
  134. package/templates/webterm/specs.js +0 -358
@@ -0,0 +1,430 @@
1
+ {
2
+ "displayName": "TOML",
3
+ "fileTypes": [
4
+ "toml"
5
+ ],
6
+ "name": "toml",
7
+ "patterns": [
8
+ {
9
+ "include": "#comments"
10
+ },
11
+ {
12
+ "include": "#groups"
13
+ },
14
+ {
15
+ "include": "#key_pair"
16
+ },
17
+ {
18
+ "include": "#invalid"
19
+ }
20
+ ],
21
+ "repository": {
22
+ "comments": {
23
+ "begin": "(^[\\t ]+)?(?=#)",
24
+ "beginCaptures": {
25
+ "1": {
26
+ "name": "punctuation.whitespace.comment.leading.toml"
27
+ }
28
+ },
29
+ "end": "(?!\\G)",
30
+ "patterns": [
31
+ {
32
+ "begin": "#",
33
+ "beginCaptures": {
34
+ "0": {
35
+ "name": "punctuation.definition.comment.toml"
36
+ }
37
+ },
38
+ "end": "\\n",
39
+ "name": "comment.line.number-sign.toml"
40
+ }
41
+ ]
42
+ },
43
+ "groups": {
44
+ "patterns": [
45
+ {
46
+ "captures": {
47
+ "1": {
48
+ "name": "punctuation.definition.section.begin.toml"
49
+ },
50
+ "2": {
51
+ "patterns": [
52
+ {
53
+ "match": "[^.\\s]+",
54
+ "name": "entity.name.section.toml"
55
+ }
56
+ ]
57
+ },
58
+ "3": {
59
+ "name": "punctuation.definition.section.begin.toml"
60
+ }
61
+ },
62
+ "match": "^\\s*(\\[)([^]\\[]*)(])",
63
+ "name": "meta.group.toml"
64
+ },
65
+ {
66
+ "captures": {
67
+ "1": {
68
+ "name": "punctuation.definition.section.begin.toml"
69
+ },
70
+ "2": {
71
+ "patterns": [
72
+ {
73
+ "match": "[^.\\s]+",
74
+ "name": "entity.name.section.toml"
75
+ }
76
+ ]
77
+ },
78
+ "3": {
79
+ "name": "punctuation.definition.section.begin.toml"
80
+ }
81
+ },
82
+ "match": "^\\s*(\\[\\[)([^]\\[]*)(]])",
83
+ "name": "meta.group.double.toml"
84
+ }
85
+ ]
86
+ },
87
+ "invalid": {
88
+ "match": "\\S+(\\s*(?=\\S))?",
89
+ "name": "invalid.illegal.not-allowed-here.toml"
90
+ },
91
+ "key_pair": {
92
+ "patterns": [
93
+ {
94
+ "begin": "([-0-9A-Z_a-z]+)\\s*(=)\\s*",
95
+ "captures": {
96
+ "1": {
97
+ "name": "variable.other.key.toml"
98
+ },
99
+ "2": {
100
+ "name": "punctuation.separator.key-value.toml"
101
+ }
102
+ },
103
+ "end": "(?<=\\S)(?<!=)|$",
104
+ "patterns": [
105
+ {
106
+ "include": "#primatives"
107
+ }
108
+ ]
109
+ },
110
+ {
111
+ "begin": "((\")(.*?)(\"))\\s*(=)\\s*",
112
+ "captures": {
113
+ "1": {
114
+ "name": "variable.other.key.toml"
115
+ },
116
+ "2": {
117
+ "name": "punctuation.definition.variable.begin.toml"
118
+ },
119
+ "3": {
120
+ "patterns": [
121
+ {
122
+ "match": "\\\\([\"\\\\bfnrt]|u\\h{4}|U\\h{8})",
123
+ "name": "constant.character.escape.toml"
124
+ },
125
+ {
126
+ "match": "\\\\[^\"\\\\bfnrt]",
127
+ "name": "invalid.illegal.escape.toml"
128
+ },
129
+ {
130
+ "match": "\"",
131
+ "name": "invalid.illegal.not-allowed-here.toml"
132
+ }
133
+ ]
134
+ },
135
+ "4": {
136
+ "name": "punctuation.definition.variable.end.toml"
137
+ },
138
+ "5": {
139
+ "name": "punctuation.separator.key-value.toml"
140
+ }
141
+ },
142
+ "end": "(?<=\\S)(?<!=)|$",
143
+ "patterns": [
144
+ {
145
+ "include": "#primatives"
146
+ }
147
+ ]
148
+ },
149
+ {
150
+ "begin": "((')([^']*)('))\\s*(=)\\s*",
151
+ "captures": {
152
+ "1": {
153
+ "name": "variable.other.key.toml"
154
+ },
155
+ "2": {
156
+ "name": "punctuation.definition.variable.begin.toml"
157
+ },
158
+ "4": {
159
+ "name": "punctuation.definition.variable.end.toml"
160
+ },
161
+ "5": {
162
+ "name": "punctuation.separator.key-value.toml"
163
+ }
164
+ },
165
+ "end": "(?<=\\S)(?<!=)|$",
166
+ "patterns": [
167
+ {
168
+ "include": "#primatives"
169
+ }
170
+ ]
171
+ },
172
+ {
173
+ "begin": "(((?:[-0-9A-Z_a-z]+|\"(?:[^\"\\\\]|\\\\.)*\"|'[^']*')(?:\\s*\\.\\s*|(?=\\s*=))){2,})\\s*(=)\\s*",
174
+ "captures": {
175
+ "1": {
176
+ "name": "variable.other.key.toml",
177
+ "patterns": [
178
+ {
179
+ "match": "\\.",
180
+ "name": "punctuation.separator.variable.toml"
181
+ },
182
+ {
183
+ "captures": {
184
+ "1": {
185
+ "name": "punctuation.definition.variable.begin.toml"
186
+ },
187
+ "2": {
188
+ "patterns": [
189
+ {
190
+ "match": "\\\\([\"\\\\bfnrt]|u\\h{4}|U\\h{8})",
191
+ "name": "constant.character.escape.toml"
192
+ },
193
+ {
194
+ "match": "\\\\[^\"\\\\bfnrt]",
195
+ "name": "invalid.illegal.escape.toml"
196
+ }
197
+ ]
198
+ },
199
+ "3": {
200
+ "name": "punctuation.definition.variable.end.toml"
201
+ }
202
+ },
203
+ "match": "(\")((?:[^\"\\\\]|\\\\.)*)(\")"
204
+ },
205
+ {
206
+ "captures": {
207
+ "1": {
208
+ "name": "punctuation.definition.variable.begin.toml"
209
+ },
210
+ "2": {
211
+ "name": "punctuation.definition.variable.end.toml"
212
+ }
213
+ },
214
+ "match": "(')[^']*(')"
215
+ }
216
+ ]
217
+ },
218
+ "3": {
219
+ "name": "punctuation.separator.key-value.toml"
220
+ }
221
+ },
222
+ "end": "(?<=\\S)(?<!=)|$",
223
+ "patterns": [
224
+ {
225
+ "include": "#primatives"
226
+ }
227
+ ]
228
+ }
229
+ ]
230
+ },
231
+ "primatives": {
232
+ "patterns": [
233
+ {
234
+ "begin": "\\G\"\"\"",
235
+ "beginCaptures": {
236
+ "0": {
237
+ "name": "punctuation.definition.string.begin.toml"
238
+ }
239
+ },
240
+ "end": "\"{3,5}",
241
+ "endCaptures": {
242
+ "0": {
243
+ "name": "punctuation.definition.string.end.toml"
244
+ }
245
+ },
246
+ "name": "string.quoted.triple.double.toml",
247
+ "patterns": [
248
+ {
249
+ "match": "\\\\([\"\\\\bfnrt]|u\\h{4}|U\\h{8})",
250
+ "name": "constant.character.escape.toml"
251
+ },
252
+ {
253
+ "match": "\\\\[^\\n\"\\\\bfnrt]",
254
+ "name": "invalid.illegal.escape.toml"
255
+ }
256
+ ]
257
+ },
258
+ {
259
+ "begin": "\\G\"",
260
+ "beginCaptures": {
261
+ "0": {
262
+ "name": "punctuation.definition.string.begin.toml"
263
+ }
264
+ },
265
+ "end": "\"",
266
+ "endCaptures": {
267
+ "0": {
268
+ "name": "punctuation.definition.string.end.toml"
269
+ }
270
+ },
271
+ "name": "string.quoted.double.toml",
272
+ "patterns": [
273
+ {
274
+ "match": "\\\\([\"\\\\bfnrt]|u\\h{4}|U\\h{8})",
275
+ "name": "constant.character.escape.toml"
276
+ },
277
+ {
278
+ "match": "\\\\[^\"\\\\bfnrt]",
279
+ "name": "invalid.illegal.escape.toml"
280
+ }
281
+ ]
282
+ },
283
+ {
284
+ "begin": "\\G'''",
285
+ "beginCaptures": {
286
+ "0": {
287
+ "name": "punctuation.definition.string.begin.toml"
288
+ }
289
+ },
290
+ "end": "'{3,5}",
291
+ "endCaptures": {
292
+ "0": {
293
+ "name": "punctuation.definition.string.end.toml"
294
+ }
295
+ },
296
+ "name": "string.quoted.triple.single.toml"
297
+ },
298
+ {
299
+ "begin": "\\G'",
300
+ "beginCaptures": {
301
+ "0": {
302
+ "name": "punctuation.definition.string.begin.toml"
303
+ }
304
+ },
305
+ "end": "'",
306
+ "endCaptures": {
307
+ "0": {
308
+ "name": "punctuation.definition.string.end.toml"
309
+ }
310
+ },
311
+ "name": "string.quoted.single.toml"
312
+ },
313
+ {
314
+ "match": "\\G[0-9]{4}-(0[1-9]|1[012])-(?!00|3[2-9])[0-3][0-9]([ Tt](?!2[5-9])[012][0-9]:[0-5][0-9]:(?!6[1-9])[0-6][0-9](\\.[0-9]+)?(Z|[-+](?!2[5-9])[012][0-9]:[0-5][0-9])?)?",
315
+ "name": "constant.other.date.toml"
316
+ },
317
+ {
318
+ "match": "\\G(?!2[5-9])[012][0-9]:[0-5][0-9]:(?!6[1-9])[0-6][0-9](\\.[0-9]+)?",
319
+ "name": "constant.other.time.toml"
320
+ },
321
+ {
322
+ "match": "\\G(true|false)",
323
+ "name": "constant.language.boolean.toml"
324
+ },
325
+ {
326
+ "match": "\\G0x\\h(_??\\h)*",
327
+ "name": "constant.numeric.hex.toml"
328
+ },
329
+ {
330
+ "match": "\\G0o[0-7]([0-7]|_[0-7])*",
331
+ "name": "constant.numeric.octal.toml"
332
+ },
333
+ {
334
+ "match": "\\G0b[01]([01]|_[01])*",
335
+ "name": "constant.numeric.binary.toml"
336
+ },
337
+ {
338
+ "match": "\\G[-+]?(inf|nan)",
339
+ "name": "constant.numeric.toml"
340
+ },
341
+ {
342
+ "match": "\\G([-+]?(0|([1-9](([0-9]|_[0-9])+)?)))(?=[.Ee])(\\.([0-9](([0-9]|_[0-9])+)?))?([Ee]([-+]?[0-9](([0-9]|_[0-9])+)?))?",
343
+ "name": "constant.numeric.float.toml"
344
+ },
345
+ {
346
+ "match": "\\G([-+]?(0|([1-9](([0-9]|_[0-9])+)?)))",
347
+ "name": "constant.numeric.integer.toml"
348
+ },
349
+ {
350
+ "begin": "\\G\\[",
351
+ "beginCaptures": {
352
+ "0": {
353
+ "name": "punctuation.definition.array.begin.toml"
354
+ }
355
+ },
356
+ "end": "]",
357
+ "endCaptures": {
358
+ "0": {
359
+ "name": "punctuation.definition.array.end.toml"
360
+ }
361
+ },
362
+ "name": "meta.array.toml",
363
+ "patterns": [
364
+ {
365
+ "begin": "(?=[\"']|[-+]?[0-9]|[-+]?(inf|nan)|true|false|[\\[{])",
366
+ "end": ",|(?=])",
367
+ "endCaptures": {
368
+ "0": {
369
+ "name": "punctuation.separator.array.toml"
370
+ }
371
+ },
372
+ "patterns": [
373
+ {
374
+ "include": "#primatives"
375
+ },
376
+ {
377
+ "include": "#comments"
378
+ },
379
+ {
380
+ "include": "#invalid"
381
+ }
382
+ ]
383
+ },
384
+ {
385
+ "include": "#comments"
386
+ },
387
+ {
388
+ "include": "#invalid"
389
+ }
390
+ ]
391
+ },
392
+ {
393
+ "begin": "\\G\\{",
394
+ "beginCaptures": {
395
+ "0": {
396
+ "name": "punctuation.definition.inline-table.begin.toml"
397
+ }
398
+ },
399
+ "end": "}",
400
+ "endCaptures": {
401
+ "0": {
402
+ "name": "punctuation.definition.inline-table.end.toml"
403
+ }
404
+ },
405
+ "name": "meta.inline-table.toml",
406
+ "patterns": [
407
+ {
408
+ "begin": "(?=\\S)",
409
+ "end": ",|(?=})",
410
+ "endCaptures": {
411
+ "0": {
412
+ "name": "punctuation.separator.inline-table.toml"
413
+ }
414
+ },
415
+ "patterns": [
416
+ {
417
+ "include": "#key_pair"
418
+ }
419
+ ]
420
+ },
421
+ {
422
+ "include": "#comments"
423
+ }
424
+ ]
425
+ }
426
+ ]
427
+ }
428
+ },
429
+ "scopeName": "source.toml"
430
+ }