mcpField
D
deploy

deploy

github.com/railwayappCloud & DevOps338942 installsUpdated 2w ago
Repository

About deploy

deploy is a Railway CLI skill for deploying code from a local directory with `railway up`. It supports detached and CI modes, and can target a service, environment, project, or path.

Key features

  1. 01Deploy local code with `railway up`
  2. 02Detached and CI deployment modes
  3. 03Select service, environment, or project
  4. 04Deploy from a specified path

Use cases

  1. 01Ship local code changes to Railway
  2. 02Stream build output to investigate failures
  3. 03Deploy to a chosen service or environment
  4. 04Deploy a directory to an unlinked project

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/railwayapp/railway-skills --skill deploy

After installing, type/deployin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

references/
environment-config.md
monorepo.md
railpack.md
variables.md

Details

From the project README

Deploy

Deploy code from the current directory to Railway using railway up.

When to Use

  • User asks to "deploy", "ship", "push code"
  • User says "railway up" or "deploy to Railway"
  • User wants to deploy local code changes
  • User says "deploy and fix any issues" (use --ci mode)

Commit Message

Always use the -m flag with a descriptive commit message summarizing what's being deployed:

railway up --detach -m "Add user authentication endpoint"

Good commit messages:

  • Describe what changed: "Fix memory leak in worker process"
  • Reference tickets/issues: "Implement feature #123"
  • Be concise but meaningful: "Update deps and fix build warnings"

Modes

Detach Mode (default)

Starts deploy and returns immediately. Use for most deploys.

railway up --detach -m "Deploy description here"
CI Mode

Streams build logs until complete. Use when user wants to watch the build or needs to debug issues.

railway up --ci -m "Deploy description here"

When to use CI mode:

  • User says "deploy and watch", "deploy and fix issues"
  • User is debugging build failures
  • User wants to see build output

Deploy Specific Service

Default is linked service. To deploy to a different service:

railway up --detach --service backend -m "Deploy description here"

Deploy to Unlinked Project

Deploy to a project without linking first:

railway up --project <project-id> --environment production --detach -m "Deploy description here"

Requires both --project and --environment flags.

CLI Options

FlagDescription
-m, --message <MSG>Commit message describing the deploy (always use this)
-d, --detachDon't attach to logs (default)
-c, --ciStream build logs, exit when done
-s, --service <NAME>Target service (defaults to linked)
-e, --environment <NAME>Target environment (defaults to linked)
-p, --project <ID>Target project (requires --environment)
[PATH]Path to deploy (defaults to current directory)

Directory Linking

Railway CLI walks UP the directory tree to find a linked project. If you're in a subdirectory of a linked project, you don't need to relink.

For subdirectory deployments, prefer setting rootDirectory via the environment skill, then deploy normally with railway up.

After Deploy

Detach mode
Deploying to <service>...

Use deployment skill to check build status (with --lines flag).

CI mode

Build logs stream inline. If build fails, the error will be in the output.

Do NOT run railway logs --build after CI mode - the logs already streamed. If you need more context, use deployment skill with --lines flag (never stream).

Composability

  • Check status after deploy: Use service skill
  • View logs: Use deployment skill
  • Fix config issues: Use environment skill
  • Redeploy after config fix: Use environment skill

Error Handling

No Project Linked
No Railway project linked. Run `railway link` first.
No Service Linked
No service linked. Use --service flag or run `railway service` to select one.
Build Failure (CI mode)

The build logs already streamed - analyze them directly from the railway up --ci output. Do NOT run railway logs after CI mode (it streams forever without --lines).

Common issues:

  • Missing dependencies → check package.json/requirements.txt
  • Build command wrong → use environment skill to fix
  • Dockerfile issues → check dockerfile path

Comments

Markdown supported