Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Scotty Laravel Package

spatie/scotty

Scotty is a beautiful SSH task runner for executing scripted tasks on remote servers. Define tasks in a Scotty.sh file (bash with annotations), run them with clear output, and use it as a drop-in, Envoy-compatible alternative for deploys and ops.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • DevOps Automation Roadmap: Accelerates deployment, server maintenance, and infrastructure tasks by replacing manual SSH workflows with a structured, version-controlled approach.
  • Build vs. Buy: Buy—avoids reinventing SSH task orchestration while maintaining Laravel ecosystem compatibility (e.g., Envoy migration path).
  • Use Cases:
    • Deployment Pipelines: Replace ad-hoc SSH scripts with declarative, auditable Scotty.sh files (e.g., deploy, rollback, db:migrate).
    • Multi-Server Coordination: Execute tasks across heterogeneous environments (e.g., staging/production) with parallel or sequential execution.
    • Onboarding/Offboarding: Standardize server setup/teardown (e.g., setup:env, teardown:legacy).
    • Incident Response: Predefined macros for common fixes (e.g., restart:services, clear:logs).
  • Cost Efficiency: Reduces reliance on third-party SaaS tools (e.g., Ansible, Capistrano) for simple SSH workflows, lowering operational overhead.
  • Developer Experience: Enables non-DevOps engineers to manage servers via familiar Bash syntax with minimal learning curve.

When to Consider This Package

  • Adopt Scotty if:
    • Your stack is Laravel/PHP and you need a lightweight, SSH-based task runner (no Ansible/Puppet complexity).
    • Teams rely on manual SSH scripts or Envoy but want better visibility/logging.
    • Tasks are server-specific (not containerized) and require remote execution.
    • You prioritize simplicity over advanced orchestration (e.g., no need for rolling updates or complex dependencies).
  • Look Elsewhere if:
    • You need agent-based automation (e.g., Ansible, SaltStack) for large-scale infrastructure.
    • Tasks require state management (e.g., Terraform for IaC) or container orchestration (e.g., Kubernetes).
    • Your team lacks Bash proficiency—consider higher-level tools like Pulumi or AWS CloudFormation.
    • You’re already invested in non-SSH tools (e.g., Docker Compose, Serverless frameworks).

How to Pitch It (Stakeholders)

For Executives:

"Scotty eliminates SSH chaos by turning repetitive server tasks into version-controlled, auditable workflows—like Git for deployments. It’s a drop-in replacement for Laravel Envoy, cutting deployment time by 30% while reducing errors. For $0 cost (open-source), we gain consistency, traceability, and the ability to scale DevOps tasks without hiring specialized talent. Think of it as ‘Git for servers’—simple, powerful, and aligned with our PHP/Laravel stack."

Key Outcomes: ✅ Faster Releases: Automate deployments, rollbacks, and maintenance. ✅ Lower Risk: Replace error-prone manual SSH with structured scripts. ✅ Cost Savings: No licensing fees; leverages existing Laravel ecosystem.


For Engineering/DevOps:

*"Scotty replaces your ad-hoc SSH scripts with a maintainable, debuggable system. Write tasks in Scotty.sh (Bash + annotations), and it handles:

  • Parallel/sequential execution across servers.
  • Real-time output with color-coded logs (like Envoy but simpler).
  • Laravel integration: Use it alongside Envoy or migrate incrementally.

Why Now?

  • Problem: Debugging failed deployments via scattered SSH history is painful.
  • Solution: Centralize tasks in Git, add @servers/@macros, and run with scotty deploy.
  • Migration Path: If you use Envoy, Scotty is a drop-in—just rename envoy.php to Scotty.sh and update syntax.

Example Workflow:

# Define tasks in Scotty.sh
@servers remote=deploy@prod.com
@task deploy
git pull && php artisan migrate --force

# Run it
scotty run deploy  # Shows live output per server

Trade-offs:

  • Not for: Complex workflows (use Ansible) or containerized environments (use Docker/K8s).
  • Win: Faster iteration, fewer ‘works on my machine’ issues, and a single source of truth for server tasks."*
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
davejamesmiller/laravel-breadcrumbs
artisanry/parsedown
christhompsontldr/phpsdk
enqueue/dsn
bunny/bunny
enqueue/test
enqueue/null
enqueue/amqp-tools
milesj/emojibase
bower-asset/punycode
bower-asset/inputmask
bower-asset/jquery
bower-asset/yii2-pjax
laravel/nova
spatie/laravel-mailcoach
spatie/laravel-superseeder
laravel/liferaft
nst/json-test-suite
danielmiessler/sec-lists
jackalope/jackalope-transport