railway-cli

📁 miketromba/skills 📅 1 day ago
1
总安装量
1
周安装量
#52801
全站排名
安装命令
npx skills add https://github.com/miketromba/skills --skill railway-cli

Agent 安装分布

amp 1
opencode 1
cursor 1
kimi-cli 1
github-copilot 1

Skill 文档

Railway CLI

Operate the Railway platform from the command line. Covers the full lifecycle: authentication, project setup, deployment, services, variables, environments, logs, domains, volumes, functions, and local development.

Source of truth: Railway CLI Docs

Handling Missing Installation

Assume railway is installed. If a command fails with “command not found” or similar, install it before retrying:

# macOS (preferred)
brew install railway

# Any OS with Node.js >= 16
npm i -g @railway/cli

# Shell script (macOS / Linux / WSL)
bash <(curl -fsSL cli.new)

After install, verify with railway --version, then resume the original task.

Self-Discovery

The Railway CLI evolves across versions. When you encounter an unfamiliar subcommand or need to check current flags:

railway --help              # Top-level commands
railway <command> --help    # Subcommand flags and usage

Always prefer --help output over memorized flags when composing complex commands. This keeps behavior correct even as the CLI updates.

Authentication

railway login                   # Browser-based login
railway login --browserless     # Token-based login (CI, SSH sessions)
railway logout
railway whoami                  # Verify current identity

CI/CD token auth (no interactive login):

  • RAILWAY_TOKEN — project-scoped actions
  • RAILWAY_API_TOKEN — account/workspace-scoped actions
RAILWAY_TOKEN=<token> railway up

Project Lifecycle

Create or link

railway init                    # Create new project (interactive)
railway link                    # Link cwd to existing project
railway unlink                  # Unlink cwd

Inspect

railway status                  # Current project/service/environment info
railway list                    # All projects in workspace
railway open                    # Open project in browser

Deployment

railway up                      # Deploy cwd
railway up --detach             # Deploy without tailing logs
railway deploy --template postgres  # Deploy from a template
railway redeploy                # Redeploy latest deployment
railway restart                 # Restart service (no new build)
railway down                    # Remove latest deployment

Services

railway add                     # Add service (interactive)
railway add --database postgres # Add a database (postgres, mysql, redis, mongo)
railway add --repo user/repo    # Add service from GitHub repo
railway service                 # Switch linked service (interactive)
railway scale                   # Scale service replicas
railway delete                  # Delete the project

Variables

railway variable list                   # List all variables
railway variable set KEY=value          # Set a variable
railway variable set K1=v1 K2=v2       # Set multiple at once
railway variable delete KEY             # Remove a variable

Environments

railway environment                     # Switch environment (interactive)
railway environment new <name>          # Create environment
railway environment delete <name>       # Delete environment

Local Development

railway run <cmd>               # Run command with Railway env vars injected
railway shell                   # Open shell with Railway env vars
railway dev                     # Run services locally with Docker

railway run is useful for running migrations, seeds, or scripts that need production/staging credentials without .env files.

Logs & Debugging

railway logs                    # Stream live deployment logs
railway logs --build            # View build logs
railway logs -n 100             # Last N lines
railway ssh                     # SSH into running service container
railway connect                 # Connect to database shell (psql, mysql, redis-cli, mongosh)

Networking

railway domain                  # Generate a Railway subdomain
railway domain example.com      # Attach a custom domain

Volumes

railway volume list
railway volume add
railway volume delete

Functions

railway functions list
railway functions new
railway functions push

Utilities

railway completion bash         # Generate shell completions (bash/zsh/fish)
railway docs                    # Open docs in browser
railway upgrade                 # Upgrade CLI to latest version

Global Flags

These flags work across most commands:

Flag Description
-s, --service <name-or-id> Target a specific service
-e, --environment <name-or-id> Target a specific environment
--json Output as JSON (useful for scripting)
-y, --yes Skip confirmation prompts
-h, --help Show help
-V, --version Show CLI version

Common Workflows

First-time project setup

railway login
railway init          # or: railway link
railway up
railway domain        # get a public URL
railway logs          # verify deployment

Add a database to an existing project

railway add --database postgres
railway connect       # verify connectivity
railway variable list # check injected DATABASE_URL

Deploy with environment targeting

railway environment new staging
railway up -e staging
railway logs -e staging

Run a one-off command with prod vars

railway run -e production npx prisma migrate deploy

Additional Resources

For the full and most current reference, see reference.md or consult: