chamba 0.7.0 → 0.8.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 (120) hide show
  1. package/LICENSE +53 -14
  2. package/README.md +28 -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 +12 -19
  29. package/templates/claude-statusline.sh +5 -7
  30. package/templates/context/baseline.md +2 -0
  31. package/templates/pane-apps/client/assets/c-BNa-DeUl.json +3552 -0
  32. package/templates/pane-apps/client/assets/cpp-B-T4NRoH.json +20239 -0
  33. package/templates/pane-apps/client/assets/csharp-BbxHChhA.json +6010 -0
  34. package/templates/pane-apps/client/assets/css-CWCxuwmz.json +1860 -0
  35. package/templates/pane-apps/client/assets/diff-B-2N89g8.json +154 -0
  36. package/templates/pane-apps/client/assets/docker-DWTvYW26.json +103 -0
  37. package/templates/pane-apps/client/assets/files-D0nJgFAA.js +12 -0
  38. package/templates/pane-apps/client/assets/files-h0K1vZyQ.css +1 -0
  39. package/templates/pane-apps/client/assets/go-B2hyYeNg.json +3156 -0
  40. package/templates/pane-apps/client/assets/graphql-Z6Id2aNO.json +1292 -0
  41. package/templates/pane-apps/client/assets/html-BtzvlIfu.json +2627 -0
  42. package/templates/pane-apps/client/assets/ini-Bn3Twap1.json +108 -0
  43. package/templates/pane-apps/client/assets/java-C7t2dwLO.json +1885 -0
  44. package/templates/pane-apps/client/assets/javascript-DuC2v0C0.json +5996 -0
  45. package/templates/pane-apps/client/assets/json-CwdkWeV5.json +206 -0
  46. package/templates/pane-apps/client/assets/jsonc-MYWDbTU3.json +206 -0
  47. package/templates/pane-apps/client/assets/jsx-Cn8EZuIC.json +5996 -0
  48. package/templates/pane-apps/client/assets/kotlin-CFNOz1gw.json +580 -0
  49. package/templates/pane-apps/client/assets/make-BVnlFCcl.json +629 -0
  50. package/templates/pane-apps/client/assets/markdown-B4Xk2WM_.json +3263 -0
  51. package/templates/pane-apps/client/assets/php-CAQzQmmI.json +4188 -0
  52. package/templates/pane-apps/client/assets/python-CYQee8m4.json +4174 -0
  53. package/templates/pane-apps/client/assets/reviews-BsoGZ35r.css +1 -0
  54. package/templates/pane-apps/client/assets/reviews-iW0Mbn4e.js +153 -0
  55. package/templates/pane-apps/client/assets/ruby-D7R58tus.json +3114 -0
  56. package/templates/pane-apps/client/assets/rust-BFBbFiei.json +1103 -0
  57. package/templates/pane-apps/client/assets/scss-TQRhBkPG.json +1874 -0
  58. package/templates/pane-apps/client/assets/shellscript-DieAkC4W.json +2375 -0
  59. package/templates/pane-apps/client/assets/specs-D9z3neR-.js +13 -0
  60. package/templates/pane-apps/client/assets/sql-Bxd030LV.json +634 -0
  61. package/templates/pane-apps/client/assets/toml-ChrKGzsV.json +430 -0
  62. package/templates/pane-apps/client/assets/tsx-D2e90MFw.json +5996 -0
  63. package/templates/pane-apps/client/assets/typescript-DonXQ_n1.json +5747 -0
  64. package/templates/pane-apps/client/assets/xml-B17r2RXF.json +382 -0
  65. package/templates/pane-apps/client/assets/yaml-CKn4h1zy.json +627 -0
  66. package/templates/pane-apps/client/reviews/index.html +15 -0
  67. package/templates/pane-apps/client/specs/index.html +3 -2
  68. package/templates/pane-apps/server/reviews.mjs +20 -0
  69. package/templates/pane-apps/server/specs.mjs +5 -1588
  70. package/templates/skills/chamba-statusline/SKILL.md +7 -19
  71. package/templates/skills/dx-review/SKILL.md +123 -0
  72. package/templates/skills/dx-review/references/acts.md +162 -0
  73. package/templates/skills/dx-spec/SKILL.md +223 -27
  74. package/templates/skills/dx-spec/references/principles-template.md +2 -0
  75. package/templates/skills/dx-spec/references/review-guide.md +4 -50
  76. package/templates/skills/dx-spec/references/spec-guide.md +24 -4
  77. package/templates/skills/dx-spec/references/stages.md +143 -58
  78. package/templates/skills/dx-spec-execute/SKILL.md +148 -35
  79. package/templates/startup.mjs +10 -4
  80. package/templates/tool-helper.sh +166 -0
  81. package/templates/webterm/README.md +60 -26
  82. package/templates/webterm/color.js +61 -0
  83. package/templates/webterm/config.js +35 -4
  84. package/templates/webterm/context/claude.md +0 -1
  85. package/templates/webterm/public/app/alerts.js +4 -4
  86. package/templates/webterm/public/app/anchored.js +81 -0
  87. package/templates/webterm/public/app/connection.js +9 -0
  88. package/templates/webterm/public/app/dom.js +2 -0
  89. package/templates/webterm/public/app/frames.js +51 -17
  90. package/templates/webterm/public/app/main.js +22 -8
  91. package/templates/webterm/public/app/new-session.js +13 -41
  92. package/templates/webterm/public/app/palette.js +58 -0
  93. package/templates/webterm/public/app/pane-shape.js +167 -0
  94. package/templates/webterm/public/app/pane-shell.js +199 -134
  95. package/templates/webterm/public/app/pane.js +33 -24
  96. package/templates/webterm/public/app/reviews-host.js +15 -0
  97. package/templates/webterm/public/app/specs-host.js +12 -218
  98. package/templates/webterm/public/app/state.js +5 -0
  99. package/templates/webterm/public/app/tabs.js +6 -2
  100. package/templates/webterm/public/app/theme.js +75 -27
  101. package/templates/webterm/public/app/tool-host.js +302 -0
  102. package/templates/webterm/public/app/workspace-color.js +192 -0
  103. package/templates/webterm/public/index.html +17 -3
  104. package/templates/webterm/public/styles.css +143 -21
  105. package/templates/webterm/server.js +198 -150
  106. package/templates/webterm/tools/commands.js +61 -0
  107. package/templates/webterm/tools/index.js +25 -0
  108. package/templates/webterm/tools/mount.js +337 -0
  109. package/templates/webterm/tools/paths.js +34 -0
  110. package/templates/webterm/tools/reviews.js +133 -0
  111. package/templates/webterm/tools/specs.js +154 -0
  112. package/templates/webterm/typed-line.js +70 -7
  113. package/templates/context/context-usage.md +0 -1
  114. package/templates/context-usage.sh +0 -266
  115. package/templates/pane-apps/client/assets/specs-B1970L17.css +0 -1
  116. package/templates/pane-apps/client/assets/specs-cEee_SPn.js +0 -23
  117. package/templates/skills/dx-spec-config/SKILL.md +0 -313
  118. package/templates/skills/dx-spec-config/references/principles-template.md +0 -12
  119. package/templates/specs.sh +0 -106
  120. package/templates/webterm/specs.js +0 -358
@@ -0,0 +1,206 @@
1
+ {
2
+ "displayName": "JSON",
3
+ "name": "json",
4
+ "patterns": [
5
+ {
6
+ "include": "#value"
7
+ }
8
+ ],
9
+ "repository": {
10
+ "array": {
11
+ "begin": "\\[",
12
+ "beginCaptures": {
13
+ "0": {
14
+ "name": "punctuation.definition.array.begin.json"
15
+ }
16
+ },
17
+ "end": "]",
18
+ "endCaptures": {
19
+ "0": {
20
+ "name": "punctuation.definition.array.end.json"
21
+ }
22
+ },
23
+ "name": "meta.structure.array.json",
24
+ "patterns": [
25
+ {
26
+ "include": "#value"
27
+ },
28
+ {
29
+ "match": ",",
30
+ "name": "punctuation.separator.array.json"
31
+ },
32
+ {
33
+ "match": "[^]\\s]",
34
+ "name": "invalid.illegal.expected-array-separator.json"
35
+ }
36
+ ]
37
+ },
38
+ "comments": {
39
+ "patterns": [
40
+ {
41
+ "begin": "/\\*\\*(?!/)",
42
+ "captures": {
43
+ "0": {
44
+ "name": "punctuation.definition.comment.json"
45
+ }
46
+ },
47
+ "end": "\\*/",
48
+ "name": "comment.block.documentation.json"
49
+ },
50
+ {
51
+ "begin": "/\\*",
52
+ "captures": {
53
+ "0": {
54
+ "name": "punctuation.definition.comment.json"
55
+ }
56
+ },
57
+ "end": "\\*/",
58
+ "name": "comment.block.json"
59
+ },
60
+ {
61
+ "captures": {
62
+ "1": {
63
+ "name": "punctuation.definition.comment.json"
64
+ }
65
+ },
66
+ "match": "(//).*$\\n?",
67
+ "name": "comment.line.double-slash.js"
68
+ }
69
+ ]
70
+ },
71
+ "constant": {
72
+ "match": "\\b(?:true|false|null)\\b",
73
+ "name": "constant.language.json"
74
+ },
75
+ "number": {
76
+ "match": "-?(?:0|[1-9]\\d*)(?:(?:\\.\\d+)?(?:[Ee][-+]?\\d+)?)?",
77
+ "name": "constant.numeric.json"
78
+ },
79
+ "object": {
80
+ "begin": "\\{",
81
+ "beginCaptures": {
82
+ "0": {
83
+ "name": "punctuation.definition.dictionary.begin.json"
84
+ }
85
+ },
86
+ "end": "}",
87
+ "endCaptures": {
88
+ "0": {
89
+ "name": "punctuation.definition.dictionary.end.json"
90
+ }
91
+ },
92
+ "name": "meta.structure.dictionary.json",
93
+ "patterns": [
94
+ {
95
+ "include": "#objectkey"
96
+ },
97
+ {
98
+ "include": "#comments"
99
+ },
100
+ {
101
+ "begin": ":",
102
+ "beginCaptures": {
103
+ "0": {
104
+ "name": "punctuation.separator.dictionary.key-value.json"
105
+ }
106
+ },
107
+ "end": "(,)|(?=})",
108
+ "endCaptures": {
109
+ "1": {
110
+ "name": "punctuation.separator.dictionary.pair.json"
111
+ }
112
+ },
113
+ "name": "meta.structure.dictionary.value.json",
114
+ "patterns": [
115
+ {
116
+ "include": "#value"
117
+ },
118
+ {
119
+ "match": "[^,\\s]",
120
+ "name": "invalid.illegal.expected-dictionary-separator.json"
121
+ }
122
+ ]
123
+ },
124
+ {
125
+ "match": "[^}\\s]",
126
+ "name": "invalid.illegal.expected-dictionary-separator.json"
127
+ }
128
+ ]
129
+ },
130
+ "objectkey": {
131
+ "begin": "\"",
132
+ "beginCaptures": {
133
+ "0": {
134
+ "name": "punctuation.support.type.property-name.begin.json"
135
+ }
136
+ },
137
+ "end": "\"",
138
+ "endCaptures": {
139
+ "0": {
140
+ "name": "punctuation.support.type.property-name.end.json"
141
+ }
142
+ },
143
+ "name": "string.json support.type.property-name.json",
144
+ "patterns": [
145
+ {
146
+ "include": "#stringcontent"
147
+ }
148
+ ]
149
+ },
150
+ "string": {
151
+ "begin": "\"",
152
+ "beginCaptures": {
153
+ "0": {
154
+ "name": "punctuation.definition.string.begin.json"
155
+ }
156
+ },
157
+ "end": "\"",
158
+ "endCaptures": {
159
+ "0": {
160
+ "name": "punctuation.definition.string.end.json"
161
+ }
162
+ },
163
+ "name": "string.quoted.double.json",
164
+ "patterns": [
165
+ {
166
+ "include": "#stringcontent"
167
+ }
168
+ ]
169
+ },
170
+ "stringcontent": {
171
+ "patterns": [
172
+ {
173
+ "match": "\\\\(?:[\"/\\\\bfnrt]|u\\h{4})",
174
+ "name": "constant.character.escape.json"
175
+ },
176
+ {
177
+ "match": "\\\\.",
178
+ "name": "invalid.illegal.unrecognized-string-escape.json"
179
+ }
180
+ ]
181
+ },
182
+ "value": {
183
+ "patterns": [
184
+ {
185
+ "include": "#constant"
186
+ },
187
+ {
188
+ "include": "#number"
189
+ },
190
+ {
191
+ "include": "#string"
192
+ },
193
+ {
194
+ "include": "#array"
195
+ },
196
+ {
197
+ "include": "#object"
198
+ },
199
+ {
200
+ "include": "#comments"
201
+ }
202
+ ]
203
+ }
204
+ },
205
+ "scopeName": "source.json"
206
+ }
@@ -0,0 +1,206 @@
1
+ {
2
+ "displayName": "JSON with Comments",
3
+ "name": "jsonc",
4
+ "patterns": [
5
+ {
6
+ "include": "#value"
7
+ }
8
+ ],
9
+ "repository": {
10
+ "array": {
11
+ "begin": "\\[",
12
+ "beginCaptures": {
13
+ "0": {
14
+ "name": "punctuation.definition.array.begin.json.comments"
15
+ }
16
+ },
17
+ "end": "]",
18
+ "endCaptures": {
19
+ "0": {
20
+ "name": "punctuation.definition.array.end.json.comments"
21
+ }
22
+ },
23
+ "name": "meta.structure.array.json.comments",
24
+ "patterns": [
25
+ {
26
+ "include": "#value"
27
+ },
28
+ {
29
+ "match": ",",
30
+ "name": "punctuation.separator.array.json.comments"
31
+ },
32
+ {
33
+ "match": "[^]\\s]",
34
+ "name": "invalid.illegal.expected-array-separator.json.comments"
35
+ }
36
+ ]
37
+ },
38
+ "comments": {
39
+ "patterns": [
40
+ {
41
+ "begin": "/\\*\\*(?!/)",
42
+ "captures": {
43
+ "0": {
44
+ "name": "punctuation.definition.comment.json.comments"
45
+ }
46
+ },
47
+ "end": "\\*/",
48
+ "name": "comment.block.documentation.json.comments"
49
+ },
50
+ {
51
+ "begin": "/\\*",
52
+ "captures": {
53
+ "0": {
54
+ "name": "punctuation.definition.comment.json.comments"
55
+ }
56
+ },
57
+ "end": "\\*/",
58
+ "name": "comment.block.json.comments"
59
+ },
60
+ {
61
+ "captures": {
62
+ "1": {
63
+ "name": "punctuation.definition.comment.json.comments"
64
+ }
65
+ },
66
+ "match": "(//).*$\\n?",
67
+ "name": "comment.line.double-slash.js"
68
+ }
69
+ ]
70
+ },
71
+ "constant": {
72
+ "match": "\\b(?:true|false|null)\\b",
73
+ "name": "constant.language.json.comments"
74
+ },
75
+ "number": {
76
+ "match": "-?(?:0|[1-9]\\d*)(?:(?:\\.\\d+)?(?:[Ee][-+]?\\d+)?)?",
77
+ "name": "constant.numeric.json.comments"
78
+ },
79
+ "object": {
80
+ "begin": "\\{",
81
+ "beginCaptures": {
82
+ "0": {
83
+ "name": "punctuation.definition.dictionary.begin.json.comments"
84
+ }
85
+ },
86
+ "end": "}",
87
+ "endCaptures": {
88
+ "0": {
89
+ "name": "punctuation.definition.dictionary.end.json.comments"
90
+ }
91
+ },
92
+ "name": "meta.structure.dictionary.json.comments",
93
+ "patterns": [
94
+ {
95
+ "include": "#objectkey"
96
+ },
97
+ {
98
+ "include": "#comments"
99
+ },
100
+ {
101
+ "begin": ":",
102
+ "beginCaptures": {
103
+ "0": {
104
+ "name": "punctuation.separator.dictionary.key-value.json.comments"
105
+ }
106
+ },
107
+ "end": "(,)|(?=})",
108
+ "endCaptures": {
109
+ "1": {
110
+ "name": "punctuation.separator.dictionary.pair.json.comments"
111
+ }
112
+ },
113
+ "name": "meta.structure.dictionary.value.json.comments",
114
+ "patterns": [
115
+ {
116
+ "include": "#value"
117
+ },
118
+ {
119
+ "match": "[^,\\s]",
120
+ "name": "invalid.illegal.expected-dictionary-separator.json.comments"
121
+ }
122
+ ]
123
+ },
124
+ {
125
+ "match": "[^}\\s]",
126
+ "name": "invalid.illegal.expected-dictionary-separator.json.comments"
127
+ }
128
+ ]
129
+ },
130
+ "objectkey": {
131
+ "begin": "\"",
132
+ "beginCaptures": {
133
+ "0": {
134
+ "name": "punctuation.support.type.property-name.begin.json.comments"
135
+ }
136
+ },
137
+ "end": "\"",
138
+ "endCaptures": {
139
+ "0": {
140
+ "name": "punctuation.support.type.property-name.end.json.comments"
141
+ }
142
+ },
143
+ "name": "string.json.comments support.type.property-name.json.comments",
144
+ "patterns": [
145
+ {
146
+ "include": "#stringcontent"
147
+ }
148
+ ]
149
+ },
150
+ "string": {
151
+ "begin": "\"",
152
+ "beginCaptures": {
153
+ "0": {
154
+ "name": "punctuation.definition.string.begin.json.comments"
155
+ }
156
+ },
157
+ "end": "\"",
158
+ "endCaptures": {
159
+ "0": {
160
+ "name": "punctuation.definition.string.end.json.comments"
161
+ }
162
+ },
163
+ "name": "string.quoted.double.json.comments",
164
+ "patterns": [
165
+ {
166
+ "include": "#stringcontent"
167
+ }
168
+ ]
169
+ },
170
+ "stringcontent": {
171
+ "patterns": [
172
+ {
173
+ "match": "\\\\(?:[\"/\\\\bfnrt]|u\\h{4})",
174
+ "name": "constant.character.escape.json.comments"
175
+ },
176
+ {
177
+ "match": "\\\\.",
178
+ "name": "invalid.illegal.unrecognized-string-escape.json.comments"
179
+ }
180
+ ]
181
+ },
182
+ "value": {
183
+ "patterns": [
184
+ {
185
+ "include": "#constant"
186
+ },
187
+ {
188
+ "include": "#number"
189
+ },
190
+ {
191
+ "include": "#string"
192
+ },
193
+ {
194
+ "include": "#array"
195
+ },
196
+ {
197
+ "include": "#object"
198
+ },
199
+ {
200
+ "include": "#comments"
201
+ }
202
+ ]
203
+ }
204
+ },
205
+ "scopeName": "source.json.comments"
206
+ }