Claude-code-templates railway-deploy

Deploy code to Railway using "railway up". Use when user wants to push code, says "railway up", "deploy", "ship", or "push". For initial setup or creating services, use railway-new skill. For Docker images, use railway-environment skill.

install
source · Clone the upstream repo
git clone https://github.com/davila7/claude-code-templates
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/davila7/claude-code-templates "$T" && mkdir -p ~/.claude/skills && cp -r "$T/cli-tool/components/skills/railway/deploy" ~/.claude/skills/davila7-claude-code-templates-railway-deploy && rm -rf "$T"
manifest: cli-tool/components/skills/railway/deploy/SKILL.md
source content

Railway 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)

Modes

Detach Mode (default)

Starts deploy and returns immediately. Use for most deploys.

railway up --detach

CI Mode

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

railway up --ci

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

Deploy to Unlinked Project

Deploy to a project without linking first:

railway up --project <project-id> --environment production --detach

Requires both

--project
and
--environment
flags.

CLI Options

FlagDescription
-d, --detach
Don't attach to logs (default)
-c, --ci
Stream 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 railway-environment skill, then deploy normally with
railway up
.

After Deploy

Detach mode

Deploying to <service>...

Use railway-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 railway-deployment skill with
--lines
flag (never stream).

Composability

  • Check status after deploy: Use railway-service skill
  • View logs: Use railway-deployment skill
  • Fix config issues: Use railway-environment skill
  • Redeploy after config fix: Use railway-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 railway-environment skill to fix
  • Dockerfile issues → check dockerfile path