@liquidmetal-ai/raindrop 0.6.2 → 0.6.4

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 (70) hide show
  1. package/README.md +433 -78
  2. package/dist/base-command.d.ts +7 -1
  3. package/dist/base-command.d.ts.map +1 -1
  4. package/dist/base-command.js +23 -5
  5. package/dist/commands/annotation/get.js +1 -1
  6. package/dist/commands/annotation/list.d.ts.map +1 -1
  7. package/dist/commands/annotation/list.js +1 -9
  8. package/dist/commands/annotation/put.js +1 -1
  9. package/dist/commands/dns/create.d.ts +25 -0
  10. package/dist/commands/dns/create.d.ts.map +1 -0
  11. package/dist/commands/dns/create.js +116 -0
  12. package/dist/commands/dns/delete.d.ts +20 -0
  13. package/dist/commands/dns/delete.d.ts.map +1 -0
  14. package/dist/commands/dns/delete.js +62 -0
  15. package/dist/commands/dns/get.d.ts +20 -0
  16. package/dist/commands/dns/get.d.ts.map +1 -0
  17. package/dist/commands/dns/get.js +144 -0
  18. package/dist/commands/dns/list.d.ts +21 -0
  19. package/dist/commands/dns/list.d.ts.map +1 -0
  20. package/dist/commands/dns/list.js +195 -0
  21. package/dist/commands/dns/records/create.d.ts +28 -0
  22. package/dist/commands/dns/records/create.d.ts.map +1 -0
  23. package/dist/commands/dns/records/create.js +140 -0
  24. package/dist/commands/dns/records/delete.d.ts +21 -0
  25. package/dist/commands/dns/records/delete.d.ts.map +1 -0
  26. package/dist/commands/dns/records/delete.js +64 -0
  27. package/dist/commands/dns/records/get.d.ts +21 -0
  28. package/dist/commands/dns/records/get.d.ts.map +1 -0
  29. package/dist/commands/dns/records/get.js +102 -0
  30. package/dist/commands/dns/records/list.d.ts +24 -0
  31. package/dist/commands/dns/records/list.d.ts.map +1 -0
  32. package/dist/commands/dns/records/list.js +132 -0
  33. package/dist/commands/dns/records/update.d.ts +29 -0
  34. package/dist/commands/dns/records/update.d.ts.map +1 -0
  35. package/dist/commands/dns/records/update.js +137 -0
  36. package/dist/commands/mcp/install-claude.js +3 -3
  37. package/dist/commands/mcp/install-gemini.d.ts +22 -0
  38. package/dist/commands/mcp/install-gemini.d.ts.map +1 -0
  39. package/dist/commands/mcp/install-gemini.js +233 -0
  40. package/dist/commands/object/delete.d.ts +1 -0
  41. package/dist/commands/object/delete.d.ts.map +1 -1
  42. package/dist/commands/object/delete.js +91 -10
  43. package/dist/commands/object/get.d.ts +1 -0
  44. package/dist/commands/object/get.d.ts.map +1 -1
  45. package/dist/commands/object/get.js +90 -13
  46. package/dist/commands/object/list.d.ts +1 -0
  47. package/dist/commands/object/list.d.ts.map +1 -1
  48. package/dist/commands/object/list.js +94 -9
  49. package/dist/commands/object/put.d.ts +1 -0
  50. package/dist/commands/object/put.d.ts.map +1 -1
  51. package/dist/commands/object/put.js +91 -10
  52. package/dist/index.d.ts +2 -0
  53. package/dist/index.d.ts.map +1 -1
  54. package/dist/index.js +4 -0
  55. package/dist/lib/dns-utils.d.ts +7 -0
  56. package/dist/lib/dns-utils.d.ts.map +1 -0
  57. package/dist/lib/dns-utils.js +44 -0
  58. package/dist/tsconfig.tsbuildinfo +1 -1
  59. package/oclif.manifest.json +3915 -1962
  60. package/package.json +3 -3
  61. package/templates/claude-code/raindrop-guidelines.md +219 -24
  62. package/templates/db/node_modules/.bin/prisma +2 -2
  63. package/templates/db/node_modules/.bin/prisma-kysely +2 -2
  64. package/templates/db/node_modules/.bin/tsc +2 -2
  65. package/templates/db/node_modules/.bin/tsserver +2 -2
  66. package/templates/db/node_modules/.bin/zx +2 -2
  67. package/templates/gemini-code/new-raindrop-app.toml +5 -0
  68. package/templates/gemini-code/raindrop-guidelines.md +322 -0
  69. package/templates/gemini-code/reattach-raindrop-session.toml +17 -0
  70. package/templates/gemini-code/update-raindrop-app.toml +15 -0
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@liquidmetal-ai/raindrop",
3
3
  "description": "CLI for the Raindrop platform",
4
- "version": "0.6.2",
4
+ "version": "0.6.4",
5
5
  "author": "bosgood",
6
6
  "bin": {
7
7
  "raindrop": "./bin/run.js"
@@ -34,8 +34,8 @@
34
34
  "typescript": "^5",
35
35
  "zod": "^3.23.8",
36
36
  "zx": "^8.1.9",
37
- "@liquidmetal-ai/raindrop-framework": "0.6.2",
38
- "@liquidmetal-ai/drizzle": "0.6.2"
37
+ "@liquidmetal-ai/drizzle": "0.6.4",
38
+ "@liquidmetal-ai/raindrop-framework": "0.6.4"
39
39
  },
40
40
  "devDependencies": {
41
41
  "@changesets/cli": "^2.27.9",
@@ -10,9 +10,32 @@
10
10
 
11
11
  ## WORKFLOWS
12
12
 
13
- ### NEW APPLICATION: `login` → `set_team` → `prd_step` → `architecture_step` → `prisma_step` → `documentation_step` → `code_step` → `tests_step` → `deployment_step` → `endpoint_test_step`
13
+ ### NEW APPLICATION: `login` → `set_team` → `architecture_step` → `prd_step` → `sql_step` → `code_step` → `tests_step` → `deployment_step` → `endpoint_test_step`
14
14
 
15
- ### UPDATE APPLICATION: `update_app_step` → `update_prd_step` → Continue from architecture step
15
+ ### UPDATE APPLICATION: `update_app_step` → `update_prd_step` → `sql_step` → Continue normal flow
16
+
17
+ ## DUAL-IDENTIFIER STATE MANAGEMENT
18
+
19
+ ### Session-Timeline Architecture
20
+ - **Session ID**: Long-term project container (persists across workflows)
21
+ - **Timeline ID**: Individual workflow execution instance
22
+ - **State Storage**: All state keyed by `session_id + timeline_id`
23
+ - **Reattachment**: Use `reattach_to_session` to resume workflows
24
+
25
+ ### State Management Pattern
26
+ ```json
27
+ {
28
+ "session_id": "uuid-project-container",
29
+ "timeline_id": "uuid-workflow-execution",
30
+ "current_state": "workflow_state_name",
31
+ "context": {
32
+ "stakeholders": [],
33
+ "prd_content": "...",
34
+ "application_type": "...",
35
+ "validation_status": {}
36
+ }
37
+ }
38
+ ```
16
39
 
17
40
  ## STATE MACHINE
18
41
 
@@ -20,17 +43,20 @@
20
43
  flowchart TD
21
44
  NewApp([New App Flow]) --> Login[login]
22
45
 
46
+ %% Debug Flow Addition
47
+ Debug[debug_step] --> Code
48
+
23
49
  %% Main Authentication Flow
24
50
  Login --> SetTeam[set_team]
25
- Login --> PRD[prd_step]
26
- SetTeam --> PRD
51
+ Login --> Architecture[architecture_step]
52
+ SetTeam --> Architecture
53
+
54
+ %% Architecture to PRD Flow
55
+ Architecture --> PRD[prd_step]
27
56
 
28
57
  %% Core Development Flow
29
- PRD --> Architecture[architecture_step]
30
- Architecture --> Prisma[prisma_step]
31
- Architecture --> Documentation[documentation_step]
32
- Prisma --> Documentation
33
- Documentation --> Code[code_step]
58
+ PRD --> SQL[sql_step]
59
+ SQL --> Code[code_step]
34
60
  Code --> Tests[tests_step]
35
61
  Tests --> Deploy[deployment_step]
36
62
  Deploy --> EndpointTest[endpoint_test_step]
@@ -39,9 +65,11 @@ flowchart TD
39
65
  EndpointTest --> Complete([Workflow Complete])
40
66
 
41
67
  %% Error Recovery Loop
42
- EndpointTest -->|Endpoints Failed| Code
68
+ EndpointTest -->|Endpoints Failed| Debug[debug_step]
69
+ Debug --> Code
43
70
  Code -->|Raindrop Build Failed| Code
44
71
  Tests -->|Tests Failed| Code
72
+ SQL -->|SQL Schemas Invalid| SQL
45
73
 
46
74
  %% Update App Flow
47
75
  UpdateApp([Update App Flow]) --> UpdateStart[update_app_step]
@@ -52,15 +80,15 @@ flowchart TD
52
80
  ReattachFlow([Reattach Flow]) --> Reattach[reattach_to_session]
53
81
  Reattach --> CheckState{Check Current State}
54
82
  CheckState -->|session_started| SetTeam
55
- CheckState -->|team_set| PRD
56
- CheckState -->|prd_created| Architecture
57
- CheckState -->|architecture_analyzed| Prisma
58
- CheckState -->|prisma_schemas_started| Documentation
59
- CheckState -->|documentation_retrieved| Code
83
+ CheckState -->|team_set| Architecture
84
+ CheckState -->|architecture_analyzed| PRD
85
+ CheckState -->|prd_created| SQL
86
+ CheckState -->|sql_schemas_created| Code
60
87
  CheckState -->|coding_started| Tests
61
88
  CheckState -->|tests_written| Deploy
62
89
  CheckState -->|deployed| EndpointTest
63
90
  CheckState -->|tested| Complete
91
+ CheckState -->|debugging| Code
64
92
  CheckState -->|update_app_started| UpdatePRD
65
93
 
66
94
  %% Entry Points
@@ -82,46 +110,213 @@ flowchart TD
82
110
  - Store in `.raindrop.config.local.json`
83
111
  - Use `reattach_to_session` to resume
84
112
 
85
- ### MCP Tool Response Pattern
113
+ ### Enhanced MCP Tool Response Patterns
114
+
115
+ #### Success Response
86
116
  ```json
87
117
  {
88
- "prompt": "What to do now",
89
- "next_action": "next_tool_to_call"
118
+ "success": true,
119
+ "message": "Human-readable status",
120
+ "session_id": "uuid",
121
+ "timeline_id": "uuid",
122
+ "context_data": { "key": "value" },
123
+ "next_action": "next_tool_name"
124
+ }
125
+ ```
126
+
127
+ #### Error Response with Recovery
128
+ ```json
129
+ {
130
+ "success": false,
131
+ "message": "Human-readable error",
132
+ "error": "Technical error details",
133
+ "session_id": "uuid",
134
+ "timeline_id": "uuid",
135
+ "blocking_issue": "What is preventing progress",
136
+ "required_action": "What needs to be done",
137
+ "next_action": "recovery_action_or_same_step"
138
+ }
139
+ ```
140
+
141
+ #### Validation Gate Response
142
+ ```json
143
+ {
144
+ "success": false,
145
+ "message": "🚨 VALIDATION FAILED 🚨",
146
+ "blocking_issue": "Description of validation failure",
147
+ "required_action": "Specific action to resolve",
148
+ "validation_status": "failed",
149
+ "next_action": "same_step"
90
150
  }
91
151
  ```
92
152
 
93
153
  ### MANDATORY BEHAVIORS - NO EXCEPTIONS
94
154
  1. **EXECUTE `next_action` FROM EVERY MCP RESPONSE**
95
- 2. **NEVER SKIP ANY WORKFLOW STEP**
155
+ 2. **NEVER SKIP ANY WORKFLOW STEP**
96
156
  3. **FOLLOW EVERY MCP PROMPT WORD-FOR-WORD**
97
157
  4. **WAIT FOR EXPLICIT USER APPROVAL WHERE STATED**
98
158
  5. **SOLVE PROBLEMS TO COMPLETE CURRENT STEP**
159
+ 6. **VALIDATE PREREQUISITES BEFORE STATE TRANSITIONS**
160
+ 7. **PRESERVE STATE DURING ERROR RECOVERY**
99
161
 
100
162
  ### ABSOLUTELY FORBIDDEN - WILL CAUSE FAILURE
101
163
  - Skip MCP steps
102
- - Jump ahead in workflow
164
+ - Jump ahead in workflow
103
165
  - Create alternative workflows
104
166
  - Ignore `next_action` directive
105
167
  - Change the MCP workflow sequence
106
168
  - Suggest workflow improvements
169
+ - Advance workflow without validation
170
+ - Lose state during error handling
171
+
172
+ ## VALIDATION FRAMEWORK
173
+
174
+ ### Validation Gates (Must Pass Before State Transition)
175
+ - **SQL Validation**: `validate_sql_schemas` - Must pass before `code_step`
176
+ - **TDD Compliance**: `validate_tdd_cycle` - Validate during development
177
+ - **Architecture Compliance**: Validate against selected patterns
178
+ - **Deployment Readiness**: Pre-deployment validation gates
179
+
180
+ ### Validation Implementation Pattern
181
+ ```typescript
182
+ // Check prerequisites before advancing
183
+ const prerequisiteValid = await validatePrerequisites(session_id, timeline_id);
184
+ if (!prerequisiteValid) {
185
+ return createMcpResponse({
186
+ success: false,
187
+ message: "🚨 VALIDATION FAILED 🚨",
188
+ blocking_issue: "Prerequisites not met",
189
+ required_action: "Complete validation requirements",
190
+ validation_status: "failed",
191
+ next_action: "same_step" // Stay in current step
192
+ });
193
+ }
194
+ ```
195
+
196
+ ### Recovery Workflow Patterns
197
+ - **Debug Loop**: `debugging` state returns to `code_step`
198
+ - **Test Failure Loop**: Failed tests return to `code_step`
199
+ - **SQL Validation Loop**: Invalid SQL returns to `sql_step`
200
+ - **Endpoint Failure Loop**: Failed endpoints enter `debug_step`
201
+
202
+ ## CONDITIONAL STATE TRANSITIONS
203
+
204
+ ### Advanced State Mapping
205
+ ```typescript
206
+ const WORKFLOW_STATE_TO_NEXT_ACTION = {
207
+ // Happy path with validation
208
+ session_started: 'architecture_step',
209
+ architecture_analyzed: 'prd_step',
210
+ prd_created: 'sql_step',
211
+ sql_schemas_created: 'code_step', // Only after sql validation
212
+ coding_started: 'tests_step',
213
+ tests_written: 'deployment_step',
214
+ deployed: 'endpoint_test_step',
215
+
216
+ // Conditional completion
217
+ tested: 'debug_step|mcp_end_step', // User choice based on results
218
+
219
+ // Recovery loops
220
+ debugging: 'code_step',
221
+ sql_validation_failed: 'sql_step',
222
+ test_validation_failed: 'code_step',
223
+ endpoint_validation_failed: 'debug_step',
224
+
225
+ // Update workflows
226
+ update_app_started: 'update_prd_step',
227
+ update_prd_completed: 'sql_step' // FIX: Skip architecture, go directly to SQL
228
+ };
229
+ ```
230
+
231
+ ### State Transition Guards
232
+ 1. **Validation Check**: Verify prerequisites are satisfied
233
+ 2. **Context Preservation**: Maintain session state during transitions
234
+ 3. **Error Context**: Store error details for recovery workflows
235
+ 4. **User Approval Gates**: Wait for explicit approval where required
107
236
 
108
237
  ## UTILITY TOOLS
109
238
  - `get_prd` - Get stored PRD
110
239
  - `configure_raindrop` - Setup config
111
240
  - `update_conversation_memory` - Store context
241
+ - `validate_sql_schemas` - Validate SQL schema files before proceeding to code_step
242
+ - `validate_tdd_cycle` - Validate Test-Driven Development compliance
243
+ - `save_prd_file` - Save PRD content as markdown file
244
+ - `storeState` - Store workflow state with session+timeline
245
+ - `retrieveState` - Retrieve workflow state by key
246
+ - `createSession` - Initialize new session container
247
+
248
+ ## DOCUMENTATION TOOLS
249
+ - `list_documentation_pages` - List all available documentation pages
250
+ - `fetch_documentation_page` - Get specific documentation page content by path
251
+
252
+ ## ARCHITECTURE TOOLS
253
+ - `list_architecture_patterns` - List all available architecture patterns
254
+ - `fetch_architecture_pattern` - Get specific architecture pattern content by path
112
255
 
113
256
  ## DOCUMENTATION ACCESS
114
- - List pages: `documentation://pages`
115
- - Get page: `documentation://page{path}`
257
+ - List pages: `list_documentation_pages` MCP tool
258
+ - Get page: `fetch_documentation_page` MCP tool with path parameter
259
+
260
+ ## ARCHITECTURE PATTERN ACCESS
261
+ - List patterns: `list_architecture_patterns` MCP tool
262
+ - Get pattern: `fetch_architecture_pattern` MCP tool with path parameter
263
+
264
+ ## ERROR HANDLING AND RECOVERY
265
+
266
+ ### Multi-Level Error Handling
267
+ 1. **Tool-Level**: Handle individual tool failures gracefully
268
+ 2. **Workflow-Level**: Manage state transition failures
269
+ 3. **System-Level**: Handle infrastructure and connectivity issues
270
+
271
+ ### Error Recovery Pattern
272
+ ```typescript
273
+ try {
274
+ // Execute workflow step
275
+ const result = await executeStep(session_id, timeline_id, step_data);
276
+
277
+ // Validate result before advancing
278
+ const isValid = await validateStepCompletion(result);
279
+ if (!isValid) {
280
+ await storeState(session_id, timeline_id, 'current_state', 'debugging', env);
281
+ return createRecoveryResponse();
282
+ }
283
+
284
+ // Advance to next step
285
+ await storeState(session_id, timeline_id, 'current_state', next_state, env);
286
+
287
+ } catch (error) {
288
+ // Preserve error context for recovery
289
+ await storeState(session_id, timeline_id, 'error_context', error.message, env);
290
+ await storeState(session_id, timeline_id, 'current_state', 'debugging', env);
291
+
292
+ return createMcpResponse({
293
+ success: false,
294
+ error: error.message,
295
+ next_action: 'debug_step'
296
+ });
297
+ }
298
+ ```
299
+
300
+ ### Context Preservation During Recovery
301
+ - **Error Details**: Store complete error context
302
+ - **Partial Progress**: Preserve completed work
303
+ - **Recovery Guidance**: Provide specific recovery actions
304
+ - **State Integrity**: Maintain workflow state consistency
116
305
 
117
306
  ## EXECUTION STYLE
118
- - **WORKFLOW COMPILER: Execute MCP steps exactly**
307
+ - **WORKFLOW COMPILER: Execute MCP steps exactly with validation**
119
308
  - **PROBLEM SOLVER: Debug, code, fix within each step**
309
+ - **STATE GUARDIAN: Preserve and validate state at each transition**
120
310
  - Auto-pilot with user status updates
121
311
  - Report key decisions (PRD, code choices)
122
312
  - Update during `code_step` and manifest creation
313
+ - Validate prerequisites before advancing
314
+ - Handle errors gracefully with recovery workflows
123
315
 
124
316
  ## REMEMBER
125
317
  **FOLLOW THE MCP WORKFLOW RELIGIOUSLY.**
126
318
  **SOLVE PROBLEMS INTELLIGENTLY WITHIN EACH STEP.**
127
- **NEVER DEVIATE FROM THE STATE MACHINE SEQUENCE.**
319
+ **NEVER DEVIATE FROM THE STATE MACHINE SEQUENCE.**
320
+ **VALIDATE BEFORE EVERY STATE TRANSITION.**
321
+ **PRESERVE STATE DURING ERROR RECOVERY.**
322
+ **USE DUAL-IDENTIFIER STATE MANAGEMENT CONSISTENTLY.**
@@ -6,9 +6,9 @@ case `uname` in
6
6
  esac
7
7
 
8
8
  if [ -z "$NODE_PATH" ]; then
9
- export NODE_PATH="/Users/ian/liquidmetal/node_modules/.pnpm/prisma@6.10.1_typescript@5.9.2/node_modules/prisma/build/node_modules:/Users/ian/liquidmetal/node_modules/.pnpm/prisma@6.10.1_typescript@5.9.2/node_modules/prisma/node_modules:/Users/ian/liquidmetal/node_modules/.pnpm/prisma@6.10.1_typescript@5.9.2/node_modules:/Users/ian/liquidmetal/node_modules/.pnpm/node_modules"
9
+ export NODE_PATH="/Users/dstaley/Work/liquidmetal/node_modules/.pnpm/prisma@6.10.1_typescript@5.9.2/node_modules/prisma/build/node_modules:/Users/dstaley/Work/liquidmetal/node_modules/.pnpm/prisma@6.10.1_typescript@5.9.2/node_modules/prisma/node_modules:/Users/dstaley/Work/liquidmetal/node_modules/.pnpm/prisma@6.10.1_typescript@5.9.2/node_modules:/Users/dstaley/Work/liquidmetal/node_modules/.pnpm/node_modules"
10
10
  else
11
- export NODE_PATH="/Users/ian/liquidmetal/node_modules/.pnpm/prisma@6.10.1_typescript@5.9.2/node_modules/prisma/build/node_modules:/Users/ian/liquidmetal/node_modules/.pnpm/prisma@6.10.1_typescript@5.9.2/node_modules/prisma/node_modules:/Users/ian/liquidmetal/node_modules/.pnpm/prisma@6.10.1_typescript@5.9.2/node_modules:/Users/ian/liquidmetal/node_modules/.pnpm/node_modules:$NODE_PATH"
11
+ export NODE_PATH="/Users/dstaley/Work/liquidmetal/node_modules/.pnpm/prisma@6.10.1_typescript@5.9.2/node_modules/prisma/build/node_modules:/Users/dstaley/Work/liquidmetal/node_modules/.pnpm/prisma@6.10.1_typescript@5.9.2/node_modules/prisma/node_modules:/Users/dstaley/Work/liquidmetal/node_modules/.pnpm/prisma@6.10.1_typescript@5.9.2/node_modules:/Users/dstaley/Work/liquidmetal/node_modules/.pnpm/node_modules:$NODE_PATH"
12
12
  fi
13
13
  if [ -x "$basedir/node" ]; then
14
14
  exec "$basedir/node" "$basedir/../../../../../../node_modules/.pnpm/prisma@6.10.1_typescript@5.9.2/node_modules/prisma/build/index.js" "$@"
@@ -6,9 +6,9 @@ case `uname` in
6
6
  esac
7
7
 
8
8
  if [ -z "$NODE_PATH" ]; then
9
- export NODE_PATH="/Users/ian/liquidmetal/node_modules/.pnpm/prisma-kysely@1.8.0/node_modules/prisma-kysely/dist/node_modules:/Users/ian/liquidmetal/node_modules/.pnpm/prisma-kysely@1.8.0/node_modules/prisma-kysely/node_modules:/Users/ian/liquidmetal/node_modules/.pnpm/prisma-kysely@1.8.0/node_modules:/Users/ian/liquidmetal/node_modules/.pnpm/node_modules"
9
+ export NODE_PATH="/Users/dstaley/Work/liquidmetal/node_modules/.pnpm/prisma-kysely@1.8.0/node_modules/prisma-kysely/dist/node_modules:/Users/dstaley/Work/liquidmetal/node_modules/.pnpm/prisma-kysely@1.8.0/node_modules/prisma-kysely/node_modules:/Users/dstaley/Work/liquidmetal/node_modules/.pnpm/prisma-kysely@1.8.0/node_modules:/Users/dstaley/Work/liquidmetal/node_modules/.pnpm/node_modules"
10
10
  else
11
- export NODE_PATH="/Users/ian/liquidmetal/node_modules/.pnpm/prisma-kysely@1.8.0/node_modules/prisma-kysely/dist/node_modules:/Users/ian/liquidmetal/node_modules/.pnpm/prisma-kysely@1.8.0/node_modules/prisma-kysely/node_modules:/Users/ian/liquidmetal/node_modules/.pnpm/prisma-kysely@1.8.0/node_modules:/Users/ian/liquidmetal/node_modules/.pnpm/node_modules:$NODE_PATH"
11
+ export NODE_PATH="/Users/dstaley/Work/liquidmetal/node_modules/.pnpm/prisma-kysely@1.8.0/node_modules/prisma-kysely/dist/node_modules:/Users/dstaley/Work/liquidmetal/node_modules/.pnpm/prisma-kysely@1.8.0/node_modules/prisma-kysely/node_modules:/Users/dstaley/Work/liquidmetal/node_modules/.pnpm/prisma-kysely@1.8.0/node_modules:/Users/dstaley/Work/liquidmetal/node_modules/.pnpm/node_modules:$NODE_PATH"
12
12
  fi
13
13
  if [ -x "$basedir/node" ]; then
14
14
  exec "$basedir/node" "$basedir/../../../../../../node_modules/.pnpm/prisma-kysely@1.8.0/node_modules/prisma-kysely/dist/bin.js" "$@"
@@ -6,9 +6,9 @@ case `uname` in
6
6
  esac
7
7
 
8
8
  if [ -z "$NODE_PATH" ]; then
9
- export NODE_PATH="/Users/ian/liquidmetal/node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/bin/node_modules:/Users/ian/liquidmetal/node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/node_modules:/Users/ian/liquidmetal/node_modules/.pnpm/typescript@5.9.2/node_modules:/Users/ian/liquidmetal/node_modules/.pnpm/node_modules"
9
+ export NODE_PATH="/Users/dstaley/Work/liquidmetal/node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/bin/node_modules:/Users/dstaley/Work/liquidmetal/node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/node_modules:/Users/dstaley/Work/liquidmetal/node_modules/.pnpm/typescript@5.9.2/node_modules:/Users/dstaley/Work/liquidmetal/node_modules/.pnpm/node_modules"
10
10
  else
11
- export NODE_PATH="/Users/ian/liquidmetal/node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/bin/node_modules:/Users/ian/liquidmetal/node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/node_modules:/Users/ian/liquidmetal/node_modules/.pnpm/typescript@5.9.2/node_modules:/Users/ian/liquidmetal/node_modules/.pnpm/node_modules:$NODE_PATH"
11
+ export NODE_PATH="/Users/dstaley/Work/liquidmetal/node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/bin/node_modules:/Users/dstaley/Work/liquidmetal/node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/node_modules:/Users/dstaley/Work/liquidmetal/node_modules/.pnpm/typescript@5.9.2/node_modules:/Users/dstaley/Work/liquidmetal/node_modules/.pnpm/node_modules:$NODE_PATH"
12
12
  fi
13
13
  if [ -x "$basedir/node" ]; then
14
14
  exec "$basedir/node" "$basedir/../../../../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/bin/tsc" "$@"
@@ -6,9 +6,9 @@ case `uname` in
6
6
  esac
7
7
 
8
8
  if [ -z "$NODE_PATH" ]; then
9
- export NODE_PATH="/Users/ian/liquidmetal/node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/bin/node_modules:/Users/ian/liquidmetal/node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/node_modules:/Users/ian/liquidmetal/node_modules/.pnpm/typescript@5.9.2/node_modules:/Users/ian/liquidmetal/node_modules/.pnpm/node_modules"
9
+ export NODE_PATH="/Users/dstaley/Work/liquidmetal/node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/bin/node_modules:/Users/dstaley/Work/liquidmetal/node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/node_modules:/Users/dstaley/Work/liquidmetal/node_modules/.pnpm/typescript@5.9.2/node_modules:/Users/dstaley/Work/liquidmetal/node_modules/.pnpm/node_modules"
10
10
  else
11
- export NODE_PATH="/Users/ian/liquidmetal/node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/bin/node_modules:/Users/ian/liquidmetal/node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/node_modules:/Users/ian/liquidmetal/node_modules/.pnpm/typescript@5.9.2/node_modules:/Users/ian/liquidmetal/node_modules/.pnpm/node_modules:$NODE_PATH"
11
+ export NODE_PATH="/Users/dstaley/Work/liquidmetal/node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/bin/node_modules:/Users/dstaley/Work/liquidmetal/node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/node_modules:/Users/dstaley/Work/liquidmetal/node_modules/.pnpm/typescript@5.9.2/node_modules:/Users/dstaley/Work/liquidmetal/node_modules/.pnpm/node_modules:$NODE_PATH"
12
12
  fi
13
13
  if [ -x "$basedir/node" ]; then
14
14
  exec "$basedir/node" "$basedir/../../../../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/bin/tsserver" "$@"
@@ -6,9 +6,9 @@ case `uname` in
6
6
  esac
7
7
 
8
8
  if [ -z "$NODE_PATH" ]; then
9
- export NODE_PATH="/Users/ian/liquidmetal/node_modules/.pnpm/zx@8.6.0/node_modules/zx/build/node_modules:/Users/ian/liquidmetal/node_modules/.pnpm/zx@8.6.0/node_modules/zx/node_modules:/Users/ian/liquidmetal/node_modules/.pnpm/zx@8.6.0/node_modules:/Users/ian/liquidmetal/node_modules/.pnpm/node_modules"
9
+ export NODE_PATH="/Users/dstaley/Work/liquidmetal/node_modules/.pnpm/zx@8.6.0/node_modules/zx/build/node_modules:/Users/dstaley/Work/liquidmetal/node_modules/.pnpm/zx@8.6.0/node_modules/zx/node_modules:/Users/dstaley/Work/liquidmetal/node_modules/.pnpm/zx@8.6.0/node_modules:/Users/dstaley/Work/liquidmetal/node_modules/.pnpm/node_modules"
10
10
  else
11
- export NODE_PATH="/Users/ian/liquidmetal/node_modules/.pnpm/zx@8.6.0/node_modules/zx/build/node_modules:/Users/ian/liquidmetal/node_modules/.pnpm/zx@8.6.0/node_modules/zx/node_modules:/Users/ian/liquidmetal/node_modules/.pnpm/zx@8.6.0/node_modules:/Users/ian/liquidmetal/node_modules/.pnpm/node_modules:$NODE_PATH"
11
+ export NODE_PATH="/Users/dstaley/Work/liquidmetal/node_modules/.pnpm/zx@8.6.0/node_modules/zx/build/node_modules:/Users/dstaley/Work/liquidmetal/node_modules/.pnpm/zx@8.6.0/node_modules/zx/node_modules:/Users/dstaley/Work/liquidmetal/node_modules/.pnpm/zx@8.6.0/node_modules:/Users/dstaley/Work/liquidmetal/node_modules/.pnpm/node_modules:$NODE_PATH"
12
12
  fi
13
13
  if [ -x "$basedir/node" ]; then
14
14
  exec "$basedir/node" "$basedir/../../../../../../node_modules/.pnpm/zx@8.6.0/node_modules/zx/build/cli.js" "$@"
@@ -0,0 +1,5 @@
1
+ description = "Create a new Raindrop application from scratch"
2
+ prompt = """
3
+ Call the liquidmetal-mcp:login MCP tool to start a new development session.
4
+ Do whatever the MCP endpoint returns and continue with the flow it defines.
5
+ """