Ancient wisdom for modern workflows - Rune CLI Documentation

📖 Documentation

Workflow Examples

⚛️

Frontend Developer

Perfect for React, Vue, Svelte, or any frontend development workflow with hot reloading and dependency management.

🔧

Backend Developer

Ideal for API development with Docker services, database migrations, and automated testing.

☁️

DevOps Engineer

Perfect for infrastructure management, Kubernetes monitoring, and deployment automation.

💼

Freelancer/Consultant

Time tracking focused with client project separation, hourly rate tracking, and automated invoicing.

Frontend Developer Configuration

Perfect for React, Vue, Svelte, or any frontend development workflow.

version: 1
settings:
  work_hours: 8.0
  break_interval: 50m

projects:
  - name: "web-app"
    detect: ["git:web-app", "dir:~/projects/web-app"]

rituals:
  start:
    global:
      - name: "Pull latest changes"
        command: "git pull"
      - name: "Install dependencies"
        command: "pnpm install"
      - name: "Start dev server"
        command: "pnpm dev"
        background: true
      - name: "Open browser"
        command: "open http://localhost:3000"

  stop:
    global:
      - name: "Stop dev server"
        command: "pkill -f 'pnpm dev'"
      - name: "Commit WIP"
        command: "git add -A && git commit -m 'WIP: $(date)'"
        optional: true

integrations:
  git:
    enabled: true
    auto_detect_project: true

Backend Developer

Ideal for API development with Docker services.

version: 1
settings:
  work_hours: 8.0
  break_interval: 45m

projects:
  - name: "api-service"
    detect: ["git:api-service"]

rituals:
  start:
    global:
      - name: "Start Docker services"
        command: "docker-compose up -d postgres redis"
      - name: "Run migrations"
        command: "go run migrate.go"
      - name: "Start API server"
        command: "air" # Hot reload for Go
        background: true

  stop:
    global:
      - name: "Stop API server"
        command: "pkill -f air"
      - name: "Stop Docker services"
        command: "docker-compose down"
      - name: "Run tests"
        command: "go test ./..."
        optional: true

DevOps Engineer

Perfect for infrastructure and deployment workflows.

version: 1
settings:
  work_hours: 8.0
  break_interval: 60m

projects:
  - name: "infrastructure"
    detect: ["git:infra", "dir:~/infra"]

rituals:
  start:
    global:
      - name: "Check cluster status"
        command: "kubectl get nodes"
      - name: "Check monitoring"
        command: "open https://grafana.company.com"
      - name: "Update Terraform"
        command: "terraform plan"
        working_dir: "~/infra/terraform"

  stop:
    global:
      - name: "Security scan"
        command: "trivy fs ."
        optional: true
      - name: "Generate report"
        command: "./scripts/daily-report.sh"

Freelancer/Consultant

Time tracking focused with client project separation.

version: 1
settings:
  work_hours: 6.0
  break_interval: 45m

projects:
  - name: "client-acme"
    detect: ["dir:~/clients/acme"]
    client: "Acme Corp"
    rate: 150.00

  - name: "client-beta"
    detect: ["dir:~/clients/beta"]
    client: "Beta Inc"
    rate: 175.00

rituals:
  start:
    global:
      - name: "Time tracking reminder"
        command: "echo 'Starting work for {{project}} at ${{rate}}/hr'"

  stop:
    global:
      - name: "Log time entry"
        command: "rune report --today --project {{project}} --format csv >> ~/invoices/{{client}}-$(date +%Y-%m).csv"
      - name: "Backup work"
        command: "rsync -av ~/clients/ ~/backups/clients-$(date +%Y%m%d)/"
        optional: true

Configuration Patterns

Multi-Project Monorepo

projects:
  - name: "frontend"
    detect: ["dir:~/monorepo/apps/web"]

  - name: "backend"
    detect: ["dir:~/monorepo/apps/api"]

  - name: "mobile"
    detect: ["dir:~/monorepo/apps/mobile"]

rituals:
  start:
    per_project:
      frontend:
        - name: "Start web app"
          command: "pnpm dev:web"
          background: true

      backend:
        - name: "Start API"
          command: "pnpm dev:api"
          background: true

      mobile:
        - name: "Start Metro"
          command: "pnpm dev:mobile"
          background: true

Remote Work Setup

settings:
  work_hours: 8.0
  focus:
    dnd_on_start: true
    block_websites:
      - "facebook.com"
      - "twitter.com"
      - "reddit.com"

rituals:
  start:
    global:
      - name: "Set Slack status"
        command: "slack-cli status '🔨 Deep work mode'"
      - name: "Block distractions"
        command: "sudo dscacheutil -flushcache"
      - name: "Start focus music"
        command: "open -a Spotify"

  break:
    global:
      - name: "Stretch reminder"
        command: "osascript -e 'display notification \"Time to stretch\!\" with title \"Break Time\"'"

  stop:
    global:
      - name: "Clear Slack status"
        command: "slack-cli status ''"
      - name: "End of day summary"
        command: "rune report --today"

Open Source Contributor

projects:
  - name: "oss-project-a"
    detect: ["git-remote:github.com/owner/repo-a"]

  - name: "oss-project-b"
    detect: ["git-remote:github.com/owner/repo-b"]

rituals:
  start:
    global:
      - name: "Check issues"
        command: "gh issue list --repo {{git_remote}}"
      - name: "Pull latest"
        command: "git pull upstream main"

  stop:
    global:
      - name: "Check if ready for PR"
        command: "git status --porcelain"
      - name: "Run tests"
        command: "npm test"
        optional: true

Integration Examples

💬

Slack Integration

Automatically update your Slack status and send notifications when starting/stopping work.

📅

Calendar Integration

Block focus time and detect meetings automatically with Google Calendar integration.

🔀

Git Automation

Automate branch creation, commits, and status checking with intelligent Git workflows.

Slack Integration Configuration

integrations:
  slack:
    enabled: true
    workspace: "myteam"
    dnd_on_start: true
    status_on_start: "🔨 Working on {{project}}"
    status_on_break: "☕ Taking a break"
    status_on_stop: ""

rituals:
  start:
    global:
      - name: "Notify team"
        command: "slack-cli post '#dev' 'Starting work on {{project}}'"
        optional: true

Calendar Integration

integrations:
  calendar:
    enabled: true
    provider: "google"
    block_calendar: true
    meeting_detection: true

rituals:
  start:
    global:
      - name: "Block focus time"
        command: "gcal-cli create 'Deep Work - {{project}}' --duration 4h"
        optional: true

Git Automation

integrations:
  git:
    enabled: true
    auto_detect_project: true
    branch_in_status: true

rituals:
  start:
    global:
      - name: "Create feature branch"
        command: "git checkout -b feature/daily-work-$(date +%Y%m%d)"
        optional: true
        when: ["git_clean"]

  stop:
    global:
      - name: "Auto-commit progress"
        command: "git add -A && git commit -m 'Daily progress: $(date)'"
        optional: true
        when: ["git_dirty"]

Ritual Patterns

Development Environment Setup

rituals:
  start:
    global:
      - name: "Check system resources"
        command: "df -h && free -h"
      - name: "Start Docker"
        command: "docker-compose up -d database cache"
      - name: "Update packages"
        command: "npm outdated"
        optional: true
      - name: "Start development tools"
        command: "code . && open -a Terminal"

End of Day Cleanup

rituals:
  stop:
    global:
      - name: "Save session"
        command: "tmux capture-session -p > ~/logs/session-$(date +%Y%m%d).log"
        optional: true
      - name: "Backup important files"
        command: "rsync -av ~/important/ ~/backups/"
        optional: true
      - name: "Clean temporary files"
        command: "rm -rf /tmp/dev-*"
        optional: true
      - name: "Generate daily summary"
        command: "rune report --today --format json > ~/reports/$(date +%Y%m%d).json"

Break Automation

rituals:
  break:
    global:
      - name: "Lock screen"
        command: "osascript -e 'tell application \"System Events\" to keystroke \"q\" using {control down, command down}'"
      - name: "Pause music"
        command: "osascript -e 'tell application \"Spotify\" to pause'"
        optional: true

  resume:
    global:
      - name: "Resume music"
        command: "osascript -e 'tell application \"Spotify\" to play'"
        optional: true
      - name: "Check notifications"
        command: "echo 'Welcome back\! Checking for important updates...'"

Platform-Specific Examples

🍎

macOS Integration

Leverage Shortcuts, Do Not Disturb, and system APIs for seamless macOS workflow integration.

🐧

Linux Integration

GNOME, KDE, and other desktop environment support with notification management.

🪟

Windows Integration

Focus Assist and PowerShell automation for Windows productivity workflows.

macOS Configuration

rituals:
  start:
    global:
      - name: "Enable Do Not Disturb"
        command: "shortcuts run 'Enable DND'"
      - name: "Set desktop wallpaper"
        command: 'osascript -e ''tell application "System Events" to set picture of every desktop to "/path/to/work-wallpaper.jpg"'''

  stop:
    global:
      - name: "Disable Do Not Disturb"
        command: "shortcuts run 'Disable DND'"

Linux

rituals:
  start:
    global:
      - name: "Set work profile"
        command: "gsettings set org.gnome.desktop.background picture-uri file:///home/user/wallpapers/work.jpg"
      - name: "Enable focus mode"
        command: "dunstctl set-paused true"

  stop:
    global:
      - name: "Disable focus mode"
        command: "dunstctl set-paused false"

Windows

rituals:
  start:
    global:
      - name: "Set focus assist"
        command: 'powershell -Command "& {Add-Type -AssemblyName System.Windows.Forms; [System.Windows.Forms.SendKeys]::SendWait(''^{F1}'')}"'

  stop:
    global:
      - name: "Disable focus assist"
        command: 'powershell -Command "& {Add-Type -AssemblyName System.Windows.Forms; [System.Windows.Forms.SendKeys]::SendWait(''^{F1}'')}"'