mcpField
R
railway-templates

railway-templates

github.com/davila7クラウド・DevOps33.0k279 回インストール1 日前に更新
リポジトリ

railway-templates について

railway-templates は、Railway のテンプレートマーケットプレイスからサービスを検索・デプロイするスキルです。テンプレートの確認からプロジェクトへのデプロイまでの手順を扱います。

主な機能

  1. 01条件を指定したテンプレート検索
  2. 02コードによるテンプレート設定の取得
  3. 03Railway プロジェクトへのデプロイ
  4. 04一般的なサービスのテンプレートコード

活用シーン

  1. 01データベースやサービスのテンプレート検索
  2. 02デプロイ前のテンプレート確認
  3. 03設定済みサービスのデプロイ

インストール

コマンドをコピーしてターミナルで実行します。

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

インストール後、Claude Code で/railway-templatesを入力して読み込まれたか確認します。

詳細

Railway テンプレート

Railway のテンプレートマーケットプレイスからサービスを検索してデプロイします。

使用するタイミング

  • ユーザーが「Postgres を追加」「Redis を追加」「データベースを追加」と依頼したとき
  • ユーザーが「Ghost を追加」「Strapi を追加」「n8n を追加」などの任意のサービスを依頼したとき
  • ユーザーがユースケース(例:「CMS」「ストレージ」「モニタリング」)向けのテンプレートを探しているとき
  • ユーザーが「利用可能なテンプレートは何がありますか?」と尋ねたとき
  • ユーザーが事前設定済みのサービスをデプロイしたいとき

よく使うテンプレートコード

カテゴリテンプレートコード
データベースPostgreSQLpostgres
Redisredis
MySQLmysql
MongoDBmongodb
CMSGhostghost
Strapistrapi
ストレージMiniominio
自動化n8nn8n
モニタリングUptime Kumauptime-kuma

その他のテンプレートについては、以下の検索クエリを使用してください。

前提条件

プロジェクトのコンテキストを取得します:

railway status --json

以下を抽出します:

  • id - プロジェクト ID
  • environments.edges[0].node.id - 環境 ID

ワークスペース ID を取得します:

bash <<'SCRIPT'
${CLAUDE_PLUGIN_ROOT}/skills/lib/railway-api.sh \
  'query getWorkspace($projectId: String!) {
    project(id: $projectId) { workspaceId }
  }' \
  '{"projectId": "PROJECT_ID"}'
SCRIPT

テンプレートの検索

任意のフィルターを使用して利用可能なテンプレートを一覧表示します:

bash <<'SCRIPT'
${CLAUDE_PLUGIN_ROOT}/skills/lib/railway-api.sh \
  'query templates($first: Int, $verified: Boolean) {
    templates(first: $first, verified: $verified) {
      edges {
        node {
          name
          code
          description
          category
        }
      }
    }
  }' \
  '{"first": 20, "verified": true}'
SCRIPT
引数
引数型説明
firstInt結果の件数(最大約 100)
verifiedBoolean検証済みのテンプレートのみ
recommendedBooleanおすすめのテンプレートのみ
レート制限

1 分あたり 10 リクエストです。検索を連続して大量に実行しないでください。

テンプレートの詳細を取得

コードを指定して特定のテンプレートを取得します:

bash <<'SCRIPT'
${CLAUDE_PLUGIN_ROOT}/skills/lib/railway-api.sh \
  'query template($code: String!) {
    template(code: $code) {
      id
      name
      description
      serializedConfig
    }
  }' \
  '{"code": "postgres"}'
SCRIPT

返される値:

  • id - テンプレート ID(デプロイに必要)
  • serializedConfig - サービス設定(デプロイに必要)

テンプレートのデプロイ

ステップ 1:テンプレートを取得
bash <<'SCRIPT'
${CLAUDE_PLUGIN_ROOT}/skills/lib/railway-api.sh \
  'query template($code: String!) {
    template(code: $code) {
      id
      serializedConfig
    }
  }' \
  '{"code": "postgres"}'
SCRIPT
ステップ 2:プロジェクトにデプロイ
bash <<'SCRIPT'
${CLAUDE_PLUGIN_ROOT}/skills/lib/railway-api.sh \
  'mutation deployTemplate($input: TemplateDeployV2Input!) {
    templateDeployV2(input: $input) {
      projectId
      workflowId
    }
  }' \
  '{
    "input": {
      "templateId": "TEMPLATE_ID_FROM_STEP_1",
      "serializedConfig": SERIALIZED_CONFIG_FROM_STEP_1,
      "projectId": "PROJECT_ID",
      "environmentId": "ENVIRONMENT_ID",
      "workspaceId": "WORKSPACE_ID"
    }
  }'
SCRIPT

重要: serializedConfig は文字列ではなく、テンプレートクエリから得られた正確な JSON オブジェクトです。

他のスキルとの組み合わせ

  • サービスの接続:railway-environment スキルを使用して変数参照を追加します
  • デプロイ済みサービスの確認:railway-service スキルを使用します
  • ログの確認:railway-deployment スキルを使用します
  • ドメインの追加:railway-domain スキルを使用します

コメント