🧪 Skills

TTC CLI

--- description: Real-time Toronto transit — bus & streetcar arrivals, vehicle tracking, alerts, stop search allowed-tools: Bash, Read name: ttc version: 0.1.3 metadata: openclaw: requires:

v0.1.7
❤️ 0
⬇️ 162
👁 1
Share

Description


description: Real-time Toronto transit — bus & streetcar arrivals, vehicle tracking, alerts, stop search allowed-tools: Bash, Read name: ttc version: 0.1.3 metadata: openclaw: requires: bins: - ttc install: - kind: node package: "@lucasygu/ttc" bins: [ttc] os: [macos, linux, windows] homepage: https://github.com/lucasygu/ttc-cli tags:

  • ttc
  • toronto
  • transit
  • gtfs
  • bus
  • streetcar
  • realtime
  • productivity

TTC CLI — Toronto Transit Commission

IMPORTANT: Always run commands using the ttc binary directly (e.g. ttc nearby). Never use node src/cli.js or node dist/cli.js — the ttc command is globally installed and always available.

Real-time bus and streetcar tracking for Toronto. Next arrivals, vehicle positions, service alerts, and stop search — all from the terminal.

Prerequisites

  • Node.js 22+
  • No authentication required — all feeds are public

Quick Reference

ttc next "king spadina"           # Next arrivals at a stop
ttc next 8126                     # By stop code
ttc route 504                     # Route info + active vehicles
ttc vehicles 504                  # Live positions on a route
ttc alerts                        # Service alerts
ttc alerts --broad                # Include subway alerts
ttc nearby                        # Auto-detect location (macOS)
ttc nearby 43.6453,-79.3806       # Or provide coordinates
ttc stops 504                     # Active stops on a route
ttc routes                        # List all surface routes
ttc routes --type streetcar       # Filter by type
ttc search "broadview station"    # Fuzzy stop search
ttc status                        # System overview
ttc loop 3m nearby                # Live monitor (refreshes every 3m)

Commands

ttc next <stop>

Show next arrivals at a stop. Accepts stop name (fuzzy matched), stop ID, or stop code.

ttc route <number>

Show route info: type (bus/streetcar), directions/headsigns, active vehicle count, alerts.

ttc vehicles [route]

Live vehicle positions. Shows fleet number, route, status, current stop, and occupancy.

ttc alerts [route]

Service disruptions and alerts. Use --broad for subway alerts too.

ttc nearby [lat,lng]

Find nearest stops and their upcoming arrivals. Default 500m radius. On macOS, auto-detects your location if no coordinates are provided.

ttc routes

List all surface routes. Filter with --type bus or --type streetcar.

ttc search <query>

Fuzzy search for stops by name. Strips noise words (St, Ave, At) for better matching.

ttc stops <route>

List currently active stops on a route (derived from live vehicle and prediction data).

ttc status

System overview: active vehicles, active routes, alert count, static data freshness.

Global Options

All commands support:

  • --json — Output as JSON for agent/script consumption

ttc loop <interval> <command> [args...]

Re-run any ttc command on an interval. Clears screen and refreshes automatically. Ctrl+C to stop.

Interval format: 30s, 3m, 1h, or just seconds (e.g. 180).

ttc loop 3m next "king spadina"    # Watch arrivals while getting ready
ttc loop 5m alerts                 # Monitor disruptions during storms
ttc loop 2m vehicles 504           # Track vehicles approaching your stop
ttc loop 30s nearby                # Refresh nearby arrivals as you walk

Data Sources

  • Real-time: GTFS-RT protobuf feeds from bustime.ttc.ca (no auth)
  • Static: Pre-bundled stop/route/trip data from Open Toronto GTFS
  • Coverage: Surface transit only (buses + streetcars). Subway alerts available via --broad.

Reviews (0)

Sign in to write a review.

No reviews yet. Be the first to review!

Comments (0)

Sign in to join the discussion.

No comments yet. Be the first to share your thoughts!

Compatible Platforms

Pricing

Free

Related Configs