@liquidmetal-ai/raindrop 0.6.0 → 0.6.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.
- package/README.md +458 -61
- package/dist/commands/dns/create.d.ts +25 -0
- package/dist/commands/dns/create.d.ts.map +1 -0
- package/dist/commands/dns/create.js +120 -0
- package/dist/commands/dns/delete.d.ts +20 -0
- package/dist/commands/dns/delete.d.ts.map +1 -0
- package/dist/commands/dns/delete.js +59 -0
- package/dist/commands/dns/get.d.ts +20 -0
- package/dist/commands/dns/get.d.ts.map +1 -0
- package/dist/commands/dns/get.js +101 -0
- package/dist/commands/dns/list.d.ts +21 -0
- package/dist/commands/dns/list.d.ts.map +1 -0
- package/dist/commands/dns/list.js +112 -0
- package/dist/commands/dns/records/create.d.ts +28 -0
- package/dist/commands/dns/records/create.d.ts.map +1 -0
- package/dist/commands/dns/records/create.js +140 -0
- package/dist/commands/dns/records/delete.d.ts +21 -0
- package/dist/commands/dns/records/delete.d.ts.map +1 -0
- package/dist/commands/dns/records/delete.js +64 -0
- package/dist/commands/dns/records/get.d.ts +21 -0
- package/dist/commands/dns/records/get.d.ts.map +1 -0
- package/dist/commands/dns/records/get.js +102 -0
- package/dist/commands/dns/records/list.d.ts +24 -0
- package/dist/commands/dns/records/list.d.ts.map +1 -0
- package/dist/commands/dns/records/list.js +132 -0
- package/dist/commands/dns/records/update.d.ts +29 -0
- package/dist/commands/dns/records/update.d.ts.map +1 -0
- package/dist/commands/dns/records/update.js +137 -0
- package/dist/commands/log/query.d.ts +27 -0
- package/dist/commands/log/query.d.ts.map +1 -0
- package/dist/commands/log/query.js +231 -0
- package/dist/commands/log/tail.d.ts +22 -0
- package/dist/commands/log/tail.d.ts.map +1 -0
- package/dist/commands/log/tail.js +214 -0
- package/dist/commands/mcp/install-claude.d.ts +3 -0
- package/dist/commands/mcp/install-claude.d.ts.map +1 -1
- package/dist/commands/mcp/install-claude.js +176 -9
- package/dist/commands/mcp/status.d.ts +21 -0
- package/dist/commands/mcp/status.d.ts.map +1 -0
- package/dist/commands/mcp/status.js +150 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/oclif.manifest.json +4491 -2127
- package/package.json +3 -3
- package/templates/claude-code/new-raindrop-app.md +5 -0
- package/templates/claude-code/raindrop-guidelines.md +127 -0
- package/templates/claude-code/reattach-raindrop-session.md +12 -0
- package/templates/claude-code/update-raindrop-app.md +11 -0
- package/templates/db/node_modules/.bin/prisma +2 -2
- package/templates/db/node_modules/.bin/prisma-kysely +2 -2
- package/templates/db/node_modules/.bin/tsc +2 -2
- package/templates/db/node_modules/.bin/tsserver +2 -2
- package/templates/db/node_modules/.bin/zx +2 -2
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.
|
|
4
|
+
"version": "0.6.1",
|
|
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/drizzle": "0.6.
|
|
38
|
-
"@liquidmetal-ai/raindrop-framework": "0.6.
|
|
37
|
+
"@liquidmetal-ai/drizzle": "0.6.1",
|
|
38
|
+
"@liquidmetal-ai/raindrop-framework": "0.6.1"
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
|
41
41
|
"@changesets/cli": "^2.27.9",
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
# RAINDROP GUIDELINES
|
|
2
|
+
|
|
3
|
+
## 🚨 ABSOLUTE COMPLIANCE REQUIRED 🚨
|
|
4
|
+
**YOU ARE A WORKFLOW COMPILER. FOLLOW THE MCP STATE MACHINE.**
|
|
5
|
+
**EXECUTE MCP INSTRUCTIONS EXACTLY. ZERO WORKFLOW DEVIATION.**
|
|
6
|
+
**SOLVE PROBLEMS WITHIN EACH STEP. NEVER SKIP STEPS.**
|
|
7
|
+
|
|
8
|
+
## ⚠️ CRITICAL INSTRUCTION
|
|
9
|
+
**FOLLOW MCP TOOLS GUIDANCE TO THE LETTER. DO NOT MAKE YOUR OWN PLANS.**
|
|
10
|
+
|
|
11
|
+
## WORKFLOWS
|
|
12
|
+
|
|
13
|
+
### NEW APPLICATION: `login` → `set_team` → `prd_step` → `architecture_step` → `prisma_step` → `documentation_step` → `code_step` → `tests_step` → `deployment_step` → `endpoint_test_step`
|
|
14
|
+
|
|
15
|
+
### UPDATE APPLICATION: `update_app_step` → `update_prd_step` → Continue from architecture step
|
|
16
|
+
|
|
17
|
+
## STATE MACHINE
|
|
18
|
+
|
|
19
|
+
```mermaid
|
|
20
|
+
flowchart TD
|
|
21
|
+
NewApp([New App Flow]) --> Login[login]
|
|
22
|
+
|
|
23
|
+
%% Main Authentication Flow
|
|
24
|
+
Login --> SetTeam[set_team]
|
|
25
|
+
Login --> PRD[prd_step]
|
|
26
|
+
SetTeam --> PRD
|
|
27
|
+
|
|
28
|
+
%% 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]
|
|
34
|
+
Code --> Tests[tests_step]
|
|
35
|
+
Tests --> Deploy[deployment_step]
|
|
36
|
+
Deploy --> EndpointTest[endpoint_test_step]
|
|
37
|
+
|
|
38
|
+
%% Success Path
|
|
39
|
+
EndpointTest --> Complete([Workflow Complete])
|
|
40
|
+
|
|
41
|
+
%% Error Recovery Loop
|
|
42
|
+
EndpointTest -->|Endpoints Failed| Code
|
|
43
|
+
Code -->|Raindrop Build Failed| Code
|
|
44
|
+
Tests -->|Tests Failed| Code
|
|
45
|
+
|
|
46
|
+
%% Update App Flow
|
|
47
|
+
UpdateApp([Update App Flow]) --> UpdateStart[update_app_step]
|
|
48
|
+
UpdateStart --> UpdatePRD[update_prd_step]
|
|
49
|
+
UpdatePRD --> PRD
|
|
50
|
+
|
|
51
|
+
%% Reattach Flow
|
|
52
|
+
ReattachFlow([Reattach Flow]) --> Reattach[reattach_to_session]
|
|
53
|
+
Reattach --> CheckState{Check Current State}
|
|
54
|
+
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
|
|
60
|
+
CheckState -->|coding_started| Tests
|
|
61
|
+
CheckState -->|tests_written| Deploy
|
|
62
|
+
CheckState -->|deployed| EndpointTest
|
|
63
|
+
CheckState -->|tested| Complete
|
|
64
|
+
CheckState -->|update_app_started| UpdatePRD
|
|
65
|
+
|
|
66
|
+
%% Entry Points
|
|
67
|
+
classDef entryPoint fill:#e1f5fe
|
|
68
|
+
classDef errorLoop fill:#ffebee
|
|
69
|
+
classDef complete fill:#e8f5e8
|
|
70
|
+
|
|
71
|
+
class NewApp,UpdateApp,ReattachFlow entryPoint
|
|
72
|
+
class Complete complete
|
|
73
|
+
|
|
74
|
+
%% Error Recovery Loops
|
|
75
|
+
class Code,Tests,EndpointTest errorLoop
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
## MCP EXECUTION RULES
|
|
79
|
+
|
|
80
|
+
### State Tracking
|
|
81
|
+
- State via `session_id` + `timeline_id`
|
|
82
|
+
- Store in `.raindrop.config.local.json`
|
|
83
|
+
- Use `reattach_to_session` to resume
|
|
84
|
+
|
|
85
|
+
### MCP Tool Response Pattern
|
|
86
|
+
```json
|
|
87
|
+
{
|
|
88
|
+
"prompt": "What to do now",
|
|
89
|
+
"next_action": "next_tool_to_call"
|
|
90
|
+
}
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
### MANDATORY BEHAVIORS - NO EXCEPTIONS
|
|
94
|
+
1. **EXECUTE `next_action` FROM EVERY MCP RESPONSE**
|
|
95
|
+
2. **NEVER SKIP ANY WORKFLOW STEP**
|
|
96
|
+
3. **FOLLOW EVERY MCP PROMPT WORD-FOR-WORD**
|
|
97
|
+
4. **WAIT FOR EXPLICIT USER APPROVAL WHERE STATED**
|
|
98
|
+
5. **SOLVE PROBLEMS TO COMPLETE CURRENT STEP**
|
|
99
|
+
|
|
100
|
+
### ABSOLUTELY FORBIDDEN - WILL CAUSE FAILURE
|
|
101
|
+
- Skip MCP steps
|
|
102
|
+
- Jump ahead in workflow
|
|
103
|
+
- Create alternative workflows
|
|
104
|
+
- Ignore `next_action` directive
|
|
105
|
+
- Change the MCP workflow sequence
|
|
106
|
+
- Suggest workflow improvements
|
|
107
|
+
|
|
108
|
+
## UTILITY TOOLS
|
|
109
|
+
- `get_prd` - Get stored PRD
|
|
110
|
+
- `configure_raindrop` - Setup config
|
|
111
|
+
- `update_conversation_memory` - Store context
|
|
112
|
+
|
|
113
|
+
## DOCUMENTATION ACCESS
|
|
114
|
+
- List pages: `documentation://pages`
|
|
115
|
+
- Get page: `documentation://page{path}`
|
|
116
|
+
|
|
117
|
+
## EXECUTION STYLE
|
|
118
|
+
- **WORKFLOW COMPILER: Execute MCP steps exactly**
|
|
119
|
+
- **PROBLEM SOLVER: Debug, code, fix within each step**
|
|
120
|
+
- Auto-pilot with user status updates
|
|
121
|
+
- Report key decisions (PRD, code choices)
|
|
122
|
+
- Update during `code_step` and manifest creation
|
|
123
|
+
|
|
124
|
+
## REMEMBER
|
|
125
|
+
**FOLLOW THE MCP WORKFLOW RELIGIOUSLY.**
|
|
126
|
+
**SOLVE PROBLEMS INTELLIGENTLY WITHIN EACH STEP.**
|
|
127
|
+
**NEVER DEVIATE FROM THE STATE MACHINE SEQUENCE.**
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
Reattach to an existing Raindrop development session.
|
|
2
|
+
|
|
3
|
+
Steps
|
|
4
|
+
1. Parse the arguments
|
|
5
|
+
- Split by whitespace to get individual values
|
|
6
|
+
- First value = session_id (if provided)
|
|
7
|
+
- Second value = old_timeline_id (if provided)
|
|
8
|
+
|
|
9
|
+
2. If no timeline and session ID provided check the `.raindrop.config.local.json` file to determine the last session_id and old_timeline id
|
|
10
|
+
3. If no input provided and no `.raindrop.config.local.json` file exists ask the user for input.
|
|
11
|
+
4. Call the `reattach_to_session` MCP endpoint.
|
|
12
|
+
5. Do whatever the MCP endpoint returns and continue with the flow it defines
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
Update an existing Raindrop application with new features or changes.
|
|
2
|
+
|
|
3
|
+
Steps
|
|
4
|
+
1. Parse the arguments
|
|
5
|
+
- Split by whitespace to get individual values
|
|
6
|
+
- First value = session_id (if provided)
|
|
7
|
+
- Second value = old_timeline_id (if provided)
|
|
8
|
+
|
|
9
|
+
2. If no timeline and session ID provided check the `.raindrop.config.local.json` file to determine the last session_id and old_timeline id
|
|
10
|
+
3. If no input provided and no `.raindrop.config.local.json` file exists ask the user for input.
|
|
11
|
+
4. Call the `update_app_step` MCP endpoint.
|
|
@@ -6,9 +6,9 @@ case `uname` in
|
|
|
6
6
|
esac
|
|
7
7
|
|
|
8
8
|
if [ -z "$NODE_PATH" ]; then
|
|
9
|
-
export NODE_PATH="/Users/
|
|
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/
|
|
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/
|
|
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/
|
|
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/
|
|
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/
|
|
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/
|
|
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/
|
|
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/
|
|
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/
|
|
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" "$@"
|