[ PROMPT_NODE_26152 ]
railway-projects
[ SKILL_DOCUMENTATION ]
# Railway 项目管理
列出、切换和配置 Railway 项目。
## 适用场景
- 用户询问“显示我所有的项目”或“我有哪些项目”
- 用户询问跨工作区的项目
- 用户询问“我有哪些工作区”
- 用户想要切换到不同的项目
- 用户要求重命名项目
- 用户想要启用/禁用 PR 部署
- 用户想要将项目设为公开或私有
- 用户询问项目设置
## 列出项目
`railway list --json` 的输出可能非常大。请在子智能体中运行并仅返回必要字段:
- 项目: `id`, `name`
- 工作区: `id`, `name`
- 服务: `name` (可选,如果用户需要服务上下文)
bash
railway list --json
提取并返回简化的摘要,而非完整的 JSON。
## 列出工作区
bash
railway whoami --json
返回用户信息,包括用户所属的所有工作区。
## 切换项目
将不同的项目链接到当前目录:
bash
railway link -p
或交互式操作:
bash
railway link
切换后,使用 railway-status 技能查看项目详情。
## 更新项目
通过 GraphQL API 修改项目设置。
### 获取项目 ID
bash
railway status --json
从响应中提取 `project.id`。
### 更新 Mutation
bash
bash <<'SCRIPT'
${CLAUDE_PLUGIN_ROOT}/skills/lib/railway-api.sh
'mutation updateProject($id: String!, $input: ProjectUpdateInput!) {
projectUpdate(id: $id, input: $input) { name prDeploys isPublic botPrEnvironments }
}'
'{"id": "PROJECT_ID", "input": {"name": "new-name"}}'
SCRIPT
### ProjectUpdateInput 字段
| 字段 | 类型 | 描述 |
|-------|------|-------------|
| `name` | String | 项目名称 |
| `description` | String | 项目描述 |
| `isPublic` | Boolean | 设置项目为公开/私有 |
| `prDeploys` | Boolean | 启用/禁用 PR 部署 |
| `botPrEnvironments` | Boolean | 启用 Dependabot/Renovate PR 环境 |
### 示例
**重命名项目:**
bash
${CLAUDE_PLUGIN_ROOT}/skills/lib/railway-api.sh '' '{"id": "uuid", "input": {"name": "new-name"}}'
**启用 PR 部署:**
bash
${CLAUDE_PLUGIN_ROOT}/skills/lib/railway-api.sh '' '{"id": "uuid", "input": {"prDeploys": true}}'
**设为公开项目:**
bash
${CLAUDE_PLUGIN_ROOT}/skills/lib/railway-api.sh '' '{"id": "uuid", "input": {"isPublic": true}}'
**多字段更新:**
bash
${CLAUDE_PLUGIN_ROOT}/skills/lib/railway-a