mcpField
R
railway-projects

railway-projects

github.com/davila7云与 DevOps33.0k281 次安装1 天前更新
代码仓库

关于 railway-projects

railway-projects 是面向 Railway 用户的项目管理技能,用于查看项目和工作区、切换项目及修改项目设置。它通过 Railway CLI 和 GraphQL API 完成管理操作。

主要功能

  1. 01列出项目及所属工作区
  2. 02查看工作区列表
  3. 03切换当前项目
  4. 04重命名项目并修改描述
  5. 05设置 PR 部署与项目可见性

适用场景

  1. 01查看账户中的项目和工作区
  2. 02将当前目录切换到其他项目
  3. 03更改项目名称或描述
  4. 04启用 PR 部署或调整项目公开状态

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/davila7/claude-code-templates --skill railway-projects

安装后在 Claude Code 中输入/railway-projects确认已加载。

详细介绍

Railway 项目管理

列出、切换和配置 Railway 项目。

适用场景

  • 用户询问“显示我的所有项目”或“我有哪些项目”
  • 用户询问跨工作区的项目
  • 用户询问“我有哪些工作区”
  • 用户想切换到其他项目
  • 用户询问如何重命名项目
  • 用户想启用/禁用 PR 部署
  • 用户想将项目设为公开或私有
  • 用户询问项目设置

列出项目

railway list --json 的输出可能非常大。请在子 Agent 中运行,并且只返回必要字段:

  • 项目:id、name
  • 工作区:id、name
  • 服务:name(可选;用户需要了解服务情况时提供)
railway list --json

提取并返回简明摘要,不要返回完整 JSON。

列出工作区

railway whoami --json

返回用户信息,包括该用户所属的所有工作区。

切换项目

将其他项目关联到当前目录:

railway link -p <project-id-or-name>

也可以通过交互方式操作:

railway link

切换后,使用 railway-status 技能查看项目详情。

更新项目

通过 GraphQL API 修改项目设置。

获取项目 ID
railway status --json

从响应中提取 project.id。

更新 Mutation
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 字段
字段类型描述
nameString项目名称
descriptionString项目描述
isPublicBoolean将项目设为公开/私有
prDeploysBoolean启用/禁用 PR 部署
botPrEnvironmentsBoolean启用 Dependabot/Renovate PR 环境
示例

重命名项目:

${CLAUDE_PLUGIN_ROOT}/skills/lib/railway-api.sh '<mutation>' '{"id": "uuid", "input": {"name": "new-name"}}'

启用 PR 部署:

${CLAUDE_PLUGIN_ROOT}/skills/lib/railway-api.sh '<mutation>' '{"id": "uuid", "input": {"prDeploys": true}}'

将项目设为公开:

${CLAUDE_PLUGIN_ROOT}/skills/lib/railway-api.sh '<mutation>' '{"id": "uuid", "input": {"isPublic": true}}'

更新多个字段:

${CLAUDE_PLUGIN_ROOT}/skills/lib/railway-api.sh '<mutation>' '{"id": "uuid", "input": {"name": "new-name", "prDeploys": true}}'

组合使用

  • 查看项目详情:使用 railway-status 技能
  • 创建新项目:使用 railway-new 技能
  • 管理环境:使用 railway-environment 技能

错误处理

未通过身份验证
Not authenticated. Run `railway login` first.
没有项目
No projects found. Create one with `railway init`.
权限被拒绝
You don't have permission to modify this project. Check your Railway role.
未找到项目
Project "foo" not found. Run `railway list` to see available projects.

评论

支持 Markdown