railway-templates について
railway-templates は、Railway のテンプレートマーケットプレイスからサービスを検索・デプロイするスキルです。テンプレートの確認からプロジェクトへのデプロイまでの手順を扱います。
主な機能
- 01条件を指定したテンプレート検索
- 02コードによるテンプレート設定の取得
- 03Railway プロジェクトへのデプロイ
- 04一般的なサービスのテンプレートコード
活用シーン
- 01データベースやサービスのテンプレート検索
- 02デプロイ前のテンプレート確認
- 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」「ストレージ」「モニタリング」)向けのテンプレートを探しているとき
- ユーザーが「利用可能なテンプレートは何がありますか?」と尋ねたとき
- ユーザーが事前設定済みのサービスをデプロイしたいとき
よく使うテンプレートコード
| カテゴリ | テンプレート | コード |
|---|---|---|
| データベース | PostgreSQL | postgres |
| Redis | redis | |
| MySQL | mysql | |
| MongoDB | mongodb | |
| CMS | Ghost | ghost |
| Strapi | strapi | |
| ストレージ | Minio | minio |
| 自動化 | n8n | n8n |
| モニタリング | Uptime Kuma | uptime-kuma |
その他のテンプレートについては、以下の検索クエリを使用してください。
前提条件
プロジェクトのコンテキストを取得します:
railway status --json
以下を抽出します:
id- プロジェクト IDenvironments.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
引数
| 引数 | 型 | 説明 |
|---|---|---|
first | Int | 結果の件数(最大約 100) |
verified | Boolean | 検証済みのテンプレートのみ |
recommended | Boolean | おすすめのテンプレートのみ |
レート制限
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 スキルを使用します
コメント
Markdown 対応