rainskills 0.1.0 → 0.1.2

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 (116) hide show
  1. package/README.md +156 -420
  2. package/SKILL.md +37 -7
  3. package/agents/openai.yaml +2 -2
  4. package/bin/rainskills-tools.js +712 -0
  5. package/bin/rainskills.js +1109 -4
  6. package/install.sh +536 -63
  7. package/marketplace/rainskills/.claude-plugin/plugin.json +2 -2
  8. package/marketplace/rainskills/.codex-plugin/plugin.json +5 -5
  9. package/marketplace/rainskills/skills/rainskills/SKILL.md +38 -8
  10. package/package.json +14 -5
  11. package/pi/rainskills-mcp.ts +214 -1850
  12. package/rainbond-app-assistant/SKILL.md +123 -49
  13. package/rainbond-app-assistant/evals/01-linked-topology-missing.response.md +3 -3
  14. package/rainbond-app-assistant/evals/02-linked-topology-building.response.md +3 -3
  15. package/rainbond-app-assistant/evals/03-runtime-healthy-delivery-unknown.response.md +3 -3
  16. package/rainbond-app-assistant/evals/04-delivered-stop-without-promotion.expected.yaml +1 -1
  17. package/rainbond-app-assistant/evals/04-delivered-stop-without-promotion.response.md +1 -1
  18. package/rainbond-app-assistant/evals/05-delivered-explicit-dev-to-test.response.md +3 -3
  19. package/rainbond-app-assistant/evals/06-manual-validation-stop.expected.yaml +1 -1
  20. package/rainbond-app-assistant/evals/06-manual-validation-stop.response.md +3 -3
  21. package/rainbond-app-assistant/evals/07-cluster-capacity-blocked.response.md +4 -4
  22. package/rainbond-app-assistant/evals/08-code-build-handoff-stop.response.md +2 -2
  23. package/rainbond-app-assistant/evals/09-source-backed-failure-no-fallback.response.md +2 -2
  24. package/rainbond-app-assistant/evals/10-identity-ambiguous-stop.response.md +3 -3
  25. package/rainbond-app-assistant/evals/12-complex-suite-needs-descriptor-stop.response.md +2 -2
  26. package/rainbond-app-assistant/evals/13-explicit-git-url-locks-source.response.md +2 -2
  27. package/rainbond-app-assistant/evals/14-strategy-switch-cleans-residue.response.md +2 -2
  28. package/rainbond-app-assistant/evals/15-turn-discipline-reuse-alias.response.md +2 -2
  29. package/rainbond-app-assistant/references/operational-reference.md +77 -0
  30. package/rainbond-app-assistant/references/output-contract.md +454 -0
  31. package/rainbond-app-assistant/references/product-object-model.md +1558 -0
  32. package/rainbond-app-assistant/references/workflow-rules.md +343 -0
  33. package/rainbond-app-assistant/schemas/app-assistant-result.schema.yaml +6 -1
  34. package/rainbond-app-version-assistant/SKILL.md +57 -18
  35. package/rainbond-delivery-verifier/SKILL.md +86 -13
  36. package/rainbond-env-sync/SKILL.md +52 -11
  37. package/rainbond-fullstack-bootstrap/SKILL.md +79 -11
  38. package/rainbond-fullstack-bootstrap/evals/01-reuse-only.response.md +1 -1
  39. package/rainbond-fullstack-bootstrap/evals/02-deferred-dependency.response.md +1 -1
  40. package/rainbond-fullstack-bootstrap/evals/03-capacity-blocked.response.md +1 -1
  41. package/rainbond-fullstack-bootstrap/evals/04-template-skip.response.md +1 -1
  42. package/rainbond-fullstack-bootstrap/evals/05-source-ambiguity-stop.response.md +1 -1
  43. package/rainbond-fullstack-bootstrap/evals/06-external-artifact-unreachable.response.md +1 -1
  44. package/rainbond-fullstack-bootstrap/evals/07-provider-connection-contract.response.md +1 -1
  45. package/rainbond-fullstack-bootstrap/evals/08-explicit-dependency-after-manual-components.response.md +1 -1
  46. package/rainbond-fullstack-bootstrap/evals/09-inferred-provider-consumer-gate.response.md +1 -1
  47. package/rainbond-fullstack-bootstrap/evals/10-compose-service-name-not-hostname.response.md +1 -1
  48. package/rainbond-fullstack-bootstrap/evals/11-reverse-proxy-not-dropped.response.md +1 -1
  49. package/rainbond-fullstack-bootstrap/evals/12-optional-services-disclose-not-deploy.response.md +1 -1
  50. package/rainbond-fullstack-bootstrap/evals/13-env-reference-dependency-completeness.response.md +1 -1
  51. package/rainbond-fullstack-bootstrap/evals/14-client-package-upload.expected.yaml +1 -1
  52. package/rainbond-fullstack-bootstrap/evals/14-client-package-upload.response.md +3 -3
  53. package/rainbond-fullstack-bootstrap/evals/15-unfinished-dockerfile-recovery.expected.yaml +25 -0
  54. package/rainbond-fullstack-bootstrap/evals/15-unfinished-dockerfile-recovery.response.md +44 -0
  55. package/rainbond-fullstack-bootstrap/evals/16-complete-cnb-recreate-confirmed.expected.yaml +25 -0
  56. package/rainbond-fullstack-bootstrap/evals/16-complete-cnb-recreate-confirmed.response.md +44 -0
  57. package/rainbond-fullstack-bootstrap/modules/10-context-loading.md +8 -8
  58. package/rainbond-fullstack-bootstrap/modules/30-creation-rules.md +10 -10
  59. package/rainbond-fullstack-bootstrap/modules/40-source-and-package-rules.md +13 -9
  60. package/rainbond-fullstack-bootstrap/modules/50-workflow-and-convergence.md +6 -6
  61. package/rainbond-fullstack-bootstrap/modules/60-verification-and-handoffs.md +4 -4
  62. package/rainbond-fullstack-bootstrap/modules/70-output-contract.md +3 -3
  63. package/rainbond-fullstack-bootstrap/references/quick-reference.md +6 -6
  64. package/rainbond-fullstack-bootstrap/references/source-build-parameter-guide.md +6 -6
  65. package/rainbond-fullstack-bootstrap/references/sql-init-recipe.md +3 -3
  66. package/rainbond-fullstack-bootstrap/schemas/bootstrap-result.schema.yaml +3 -2
  67. package/rainbond-fullstack-bootstrap/scripts/upload_local_package.py +1 -1
  68. package/rainbond-fullstack-bootstrap/scripts/validate_bootstrap_output.py +2 -2
  69. package/rainbond-fullstack-troubleshooter/SKILL.md +103 -13
  70. package/rainbond-fullstack-troubleshooter/evals/10-config-file-configmap-missing.expected.yaml +21 -0
  71. package/rainbond-fullstack-troubleshooter/evals/10-config-file-configmap-missing.response.md +51 -0
  72. package/rainbond-fullstack-troubleshooter/references/operational-reference.md +70 -0
  73. package/rainbond-fullstack-troubleshooter/references/output-contract.md +259 -0
  74. package/rainbond-fullstack-troubleshooter/references/root-cause-rules.md +210 -0
  75. package/rainbond-fullstack-troubleshooter/schemas/troubleshoot-result.schema.yaml +3 -1
  76. package/rainbond-fullstack-troubleshooter/scripts/validate_troubleshoot_output.py +22 -1
  77. package/rainbond-platform-installer/SKILL.md +73 -9
  78. package/rainbond-platform-installer/agents/openai.yaml +2 -2
  79. package/rainbond-platform-installer/references/installation-policy.json +35 -1
  80. package/rainbond-platform-installer/references/installation-policy.md +33 -8
  81. package/rainbond-platform-installer/references/troubleshooting.md +3 -2
  82. package/rainbond-platform-installer/scripts/auto-update.js +495 -0
  83. package/rainbond-platform-installer/scripts/console-origin.js +159 -0
  84. package/rainbond-platform-installer/scripts/environment-credentials.js +225 -0
  85. package/rainbond-platform-installer/scripts/environment-registry.js +349 -0
  86. package/rainbond-platform-installer/scripts/existing-kubernetes-installer.js +1370 -0
  87. package/rainbond-platform-installer/scripts/host-cluster-installer.js +2143 -0
  88. package/rainbond-platform-installer/scripts/local-runtime-commands.js +180 -0
  89. package/rainbond-platform-installer/scripts/local-runtime.js +18 -0
  90. package/rainbond-platform-installer/scripts/mcp-router.js +212 -0
  91. package/rainbond-platform-installer/scripts/mcp-server.js +79 -0
  92. package/rainbond-platform-installer/scripts/platform-installer.js +694 -255
  93. package/rainbond-platform-installer/scripts/platform-routing.js +326 -0
  94. package/rainbond-platform-installer/scripts/runtime-credentials.js +163 -0
  95. package/rainbond-platform-installer/scripts/runtime-intents.js +251 -0
  96. package/rainbond-platform-installer/scripts/runtime-operations.js +383 -0
  97. package/rainbond-platform-installer/scripts/runtime-state.js +656 -0
  98. package/rainbond-platform-installer/scripts/secure-state.js +59 -13
  99. package/rainbond-platform-installer/scripts/ssh-key-setup.js +242 -0
  100. package/rainbond-platform-installer/scripts/telemetry.js +244 -0
  101. package/rainbond-platform-installer/scripts/user-message.js +125 -0
  102. package/rainbond-platform-installer/scripts/windows-auth.js +1 -1
  103. package/rainbond-platform-installer/scripts/windows-client-config.js +101 -22
  104. package/rainbond-platform-installer/scripts/windows-onboarding.js +179 -83
  105. package/rainbond-platform-installer/scripts/windows-platform.js +3 -3
  106. package/rainbond-platform-installer/scripts/windows-platform.ps1 +264 -28
  107. package/rainbond-platform-installer/scripts/windows-read-user-environment.ps1 +16 -0
  108. package/rainbond-platform-query/SKILL.md +88 -0
  109. package/rainbond-platform-query/agents/openai.yaml +4 -0
  110. package/rainbond-platform-query/evals/01-current-enterprise.expected.yaml +10 -0
  111. package/rainbond-project-init/SKILL.md +68 -9
  112. package/rainbond-project-init/references/manifest-rules.md +487 -0
  113. package/rainbond-project-init/references/operational-reference.md +74 -0
  114. package/rainbond-project-init/references/output-contract.md +272 -0
  115. package/rainbond-project-init/references/workflow-and-verification.md +85 -0
  116. package/rainbond-template-installer/SKILL.md +80 -16
package/SKILL.md CHANGED
@@ -1,19 +1,49 @@
1
1
  ---
2
2
  name: rainskills
3
- description: Use when a user asks to install, set up, initialize, update, repair, or start using Rainskills or the Rainbond skill suite from goodrain/rainskills.
3
+ description: Use when a user asks to install, set up, initialize, update, repair, start using Rainskills, or list, add, rename, remove, reconnect, or change the default Rainskills runtime environment.
4
4
  ---
5
5
 
6
6
  # Rainskills
7
7
 
8
- This is the single marketplace entry for the complete Rainskills product. The installer deploys every bundled `rainbond-*` Skill as an independent Skill with its own trigger and responsibility. Do not ask the user to choose only one of them.
8
+ This is the single marketplace entry for the complete Rainskills product. The installer deploys every bundled `rainbond-*` Skill as an independent Skill with its own trigger and responsibility, including the lightweight read-only `rainbond-platform-query` skill. Do not ask the user to choose only one of them.
9
9
 
10
10
  ## Initialize
11
11
 
12
12
  1. Detect the current host client and map it to exactly one supported installer target: Codex=`codex` or Claude Code=`claude`. The macOS, Linux, and WSL installer intentionally does not support OpenClaw or Pi Agent; report that limitation instead of invoking an unsupported target. Do not ask the user which supported client they are currently using. If the host cannot be determined reliably, omit the target and let the installer ask.
13
- 2. Resolve the directory containing this `SKILL.md`. On native Windows, if the adjacent `bin/rainskills.js` exists, run it by absolute path with the detected target in an attached interactive terminal: `node <skill-directory>/bin/rainskills.js <target>`. On macOS, Linux, or WSL, if the adjacent `install.sh` exists, run `bash <skill-directory>/install.sh <target>` the same way. Do not replace the installer with manual file copies or hand-written MCP configuration.
14
- 3. Keep stdin, stdout, and stderr attached. When `RAINSKILLS_USER_INPUT_REQUIRED` appears, pause and ask the user for that choice; never accept a default or choose Rainbond Cloud/private deployment for them.
15
- 4. Let the installer open the browser. The user logs in and approves authorization there. Never request passwords, JWTs, tokens, or private keys in chat.
16
- 5. If the installer emits `rainskills.next-action.v1`, parse its `argv` array. If the adjacent `bin/rainskills.js` exists, pass those arguments to it with Node; otherwise pass them to the same versioned npm package fallback described below. Never evaluate output as a shell command.
17
- 6. Stay attached until all independent Skills, MCP configuration, and verification finish. Report the configured client, Rainbond environment, and the client-specific reload action printed by the installer.
13
+ 2. Resolve the directory containing this `SKILL.md`. On native Windows, if the adjacent `bin/rainskills.js` exists, run it by absolute path with the detected target in an attached interactive terminal: `node <skill-directory>/bin/rainskills.js <target>`. On macOS, Linux, or WSL, if the adjacent `install.sh` exists, run `bash <skill-directory>/install.sh <target>` the same way. Do not replace the installer with manual file copies.
14
+ 3. Keep stdin, stdout, and stderr attached. When `RAINSKILLS_USER_INPUT_REQUIRED` appears, pause for that installer choice. If the installer emits `rainskills.next-action.v1`, execute only its fixed `argv` through the same launcher; never evaluate output as a shell command. If the adjacent `bin/rainskills.js` exists, use it for fixed next actions; otherwise use the same versioned npm package fallback described below.
15
+ 4. Stay attached until every independent Skill is installed. Do not select, connect, or configure an application runtime during installation. In the user-facing response, output only the fixed completion message below.
18
16
 
19
17
  If the adjacent installer is missing, check the local Node.js version before choosing the fallback. With `npx` and Node.js 18 or newer, use `npx --yes rainskills <target>`. With no Node.js or a version below 18, use `bash <(curl -fsSL https://get.rainbond.com/rainskills/install.sh) <target>` instead. Omit `<target>` only when the host cannot be determined reliably. Keep either command attached to the interactive terminal. For an update or repair, refresh this marketplace Skill first, then run the installer again; it compares and updates every independent internal Skill.
18
+
19
+ Skills-only 安装不需要 Node.js;CDN fallback 只负责安装 Skill 文件,不代表运行环境连接、应用部署或平台安装已经可执行。用户首次提出需要运行环境的动作时,对应业务 Skill 才检查 Node.js;固定 Rainskills launcher 需要 Node.js 18 或更高版本。缺失或版本过低时保留原始 intent 并停止,等待用户或 agent 明确同意安装或升级 Node.js,安装完成消息不得提前提示 Node.js。
20
+
21
+ ## Completion Message
22
+
23
+ The installer emits this text inside `RAINSKILLS_USER_MESSAGE_BEGIN:install.completed` and the matching END marker, followed by `RAINSKILLS_AGENT_SUMMARY_REQUIRED:include-next-actions`. Relay only the body exactly and print nothing else; do not expose the markers, summarize, reformat, add a source link, or add verification details. If the host still summarizes instead of relaying, its installation summary must retain at least one example from “下一步可以直接说”.
24
+
25
+ ```text
26
+ Rainskills 安装完成,下一条消息即可直接使用。
27
+
28
+ 下一步可以直接说:
29
+
30
+ - 帮我部署当前项目
31
+ - 帮我部署一个 Git 仓库
32
+ - 帮我通过镜像或安装包部署应用
33
+ - 帮我安装一个应用模板
34
+ - 帮我分析当前项目应该如何部署
35
+
36
+ 也可以直接告诉我你想部署什么应用。
37
+ ```
38
+
39
+ ## Manage Runtime Environments
40
+
41
+ 环境是全局列表,不是项目绑定。本地状态命令必须定位已安装的同级 `rainbond-platform-installer/scripts/local-runtime.js`,解析为绝对路径后通过 `node` 以 argv 数组执行;不得为了查询本地环境访问 npm。只有连接或安装环境时才使用与当前技能包一致的固定 launcher `npx --yes rainskills@0.1.2`。
42
+
43
+ - 列表:用本地 launcher 执行 `environment list --json`,只展示名称、类型、状态、是否默认和最近验证时间。
44
+ - 重命名:用本地 launcher 执行 `environment rename --environment-id <uuid> --name <name>`。
45
+ - 设为默认:用本地 launcher 执行 `environment set-default --environment-id <uuid>`。只影响之后未指定环境的新操作。
46
+ - 删除:用本地 launcher 执行 `environment remove --environment-id <uuid>`;默认环境或活动操作使用中的环境必须先阻断。
47
+ - 添加:新增环境时直接生成 operation UUID,以 `{"type":"environment-add"}` 执行 runtime connect。先原样展示 `runtime message --id add-environment-location`。选择云端环境时直接执行 `--saas` route;选择私有环境时立即原样展示 `runtime message --id private-deployment-location`,并与首次部署保持完全相同的路径:选择 1(部署到本机)执行 `--install-private --location local`,选择 2(部署到独立服务器)执行 `--install-private --location server`,选择 3(部署到已有 Rainbond)原样展示 `runtime message --id private-console-origin`,收到地址后执行 `--rainbond-url <已验证 Console origin>`。不得展示任何额外的接入方式中间步骤。授权成功后必须把 launcher 返回的 `user_message` 中完整环境列表原样展示给用户,再按用户要求重命名并执行 `operation complete --operation-id <uuid>`。第二个环境不得自动改成默认环境。不得先执行 `runtime status`,不得检查、迁移、备份、删除或修复旧的 `runtime-connection-v1.json`;旧 runtime 状态不是新增环境的前置条件,连接失败时只执行 launcher 返回的固定恢复 argv,不得自行设计恢复流程。
48
+
49
+ 用户在一次业务请求中明确指定运行环境时,只把该环境 ID 传给本次 `operation begin`;同一项目可以部署到任意多个环境和团队。明确“团队”表示环境内团队;明确“运行环境/平台”表示环境;裸名称同时匹配两者时必须询问,不能靠名称中是否含“环境”二字猜测。
@@ -1,4 +1,4 @@
1
1
  interface:
2
2
  display_name: "Rainskills"
3
- short_description: "Install and connect the complete Rainbond skill suite"
4
- default_prompt: "Use $rainskills to install and initialize the complete Rainbond skill suite."
3
+ short_description: "Install the complete Rainskills AI deployment skill suite"
4
+ default_prompt: "Use $rainskills to install the complete Rainskills skill suite."