Skip to content

proposal: make railway cli ai-agent friendly for infrastructure-as-code automation #820

@yigitkonur

Description

@yigitkonur

context

ai coding agents (claude code, cursor, codex, etc.) increasingly manage cloud infrastructure alongside application code. railway's cli is close to being fully automatable but has gaps that force agents to fall back to the dashboard or raw graphql calls.

this is a meta-issue summarizing the cli gaps that block end-to-end automation. each has its own issue linked below.

the gaps

capability current state needed
create service works but prompts interactively (#799, #816) fully non-interactive when flags provided
delete service not available (#814) service delete <name> --yes
list services not available (#817) service list --json
update service config not available (#815) service update --image/--repo/--name
move service between projects not available (#818) service move --to-project
dockerfile builds railpack ignores railway.json builder override (#819) respect builder: DOCKERFILE
stop/pause service not available (#683, closed) service stop/start

what "agent-friendly" means

  1. every mutation available via graphql should have a cli command — agents can't use dashboards
  2. zero interactive prompts when flags are sufficient — agents can't type into tty prompts
  3. consistent --json output on all commands — agents parse structured output
  4. --yes flag on all destructive operations — agents need explicit confirmation bypass
  5. idempotent operations — running the same command twice shouldn't error (create-if-not-exists pattern)

who benefits

  • ai coding agents automating deployments
  • ci/cd pipelines provisioning infrastructure
  • infrastructure-as-code scripts (reproducible setups)
  • developers who prefer terminal over dashboard

related issues

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions