phattarachai/remote-prompt
Remote Prompt is a Laravel package for managing prompts across remote connections. It offers a simple, expressive API to define, send, and handle prompts, making it easy to add remote-driven or interactive workflows to your PHP applications with minimal setup and configuration.
rh (remote-prompt) covers a narrow but real slice of the deploy workflow — pushing individual files to a remote environment and running artisan there — with environment-scoped targeting and a production safety prompt. That is enough to defer investing in a bespoke deploy script for small Laravel estates, and enough to justify not adopting a heavier platform (Envoy, Deployer, Forge, full CI/CD pipeline) on day one.put and rh artisan no longer refuse to run when there is no TTY, and artisan output now streams live instead of buffering to the end. This directly unblocks two roadmap items: (a) CI/scripted release steps, and (b) AI-agent-assisted maintenance tasks (migrations, imports, one-off fixes) where a long-running command needs visible progress and a trustworthy exit code.env abstraction (prod vs. non-prod) is a product-shaped decision lever: it encourages a small, named set of environments and makes the prod/non-prod distinction first-class rather than tribal knowledge in runbooks.Consider adopting when:
artisan command — not full release orchestration.Look elsewhere when:
Specific note on upgrading to v1.3.0: the behavioral change is a loosening of a safety default. Teams that relied on the previous TTY refusal as a production control should treat this as a policy change requiring sign-off, not a routine minor-version bump — and should review their CI/agent credentials before rolling it out.
For executives (one paragraph): We evaluated a lightweight open-source Laravel ops CLI that lets engineers push a single file or run an artisan command against a named environment — including production — without standing up a deployment platform. The new v1.3.0 release makes it usable from scripts and AI agents: production commands now run without an interactive terminal, and long-running commands stream their output live with a reliable exit code. That is a meaningful capability unlock for automating hotfixes, migrations, and maintenance tasks, at effectively zero licensing cost. The trade-off is that the tool's built-in production safeguard is now a speed bump for humans rather than an enforced control — so the go/no-go is less about the tool and more about whether we put an approval and audit step in front of it. Recommendation: adopt for narrow, scripted ops tasks with a compensating approval gate; do not treat it as our release/deployment platform.
For engineering leads: v1.3.0 removes the TTY requirement for production put and rh artisan, so CI jobs and agents can drive these directly. Interactive terminals still get a red, default-no prompt; read-only artisan commands still run unprompted. Output now streams instead of buffering, and exit codes pass through unchanged — both are what you need for progress-visible, failure-detectable automation. Two asks before we roll this out: (1) decide and document where the human-approval decision now lives for non-interactive prod runs — the release notes explicitly push that responsibility to the caller; (2) give automated callers their own scoped credentials so "runs without a prompt" doesn't mean "runs as a human admin." Also treat this as a security-relevant minor bump, not a patch — review it before it lands in any pipeline that touches prod.
How can I help you explore Laravel packages today?