Brewless Brewless Docs

Getting started

Coding agents

How brewless/laravel teaches Claude Code, Codex, Cursor and other coding agents to deploy and run your application on Brewless.

On this page

A coding agent that works on your project, such as Claude Code, Codex, Cursor, GitHub Copilot or Junie, can deploy your application, read its logs and change its configuration with the brewless client. The brewless/laravel package, from 0.9.0, brings what the agent needs to know for that: a short guideline that is always loaded, and four skills that it loads when a task calls for one.

With Laravel Boost

Laravel Boost finds them by itself. Run its installer and choose brewless/laravel among the third-party packages:

composer require brewless/laravel:^0.9
php artisan boost:install

Boost writes the guideline into your AGENTS.md or CLAUDE.md. It writes the skills into the folder each of your agents reads, such as .agents/skills, .claude/skills or .cursor/skills. After updating the package, php artisan boost:update brings them up to date.

Without Laravel Boost

Publish the skills to where your agent looks for them:

php artisan vendor:publish --tag=brewless-skills          # .agents/skills: Codex, Amp, OpenCode, Zed and others
php artisan vendor:publish --tag=brewless-skills-claude   # .claude/skills: Claude Code

The skills follow the Agent Skills format, a folder per skill with a SKILL.md, so any agent that reads that format can use them.

The skills

Skill What it covers
brewless-deployment deploy, plan, releases and rollback, the steps of a release, build and release commands, deploying from a pipeline, and why a release failed
brewless-configuration Variables and secrets with env:pull and env:push, brewless.yml, container sizes, the PHP version and your own docker/ server files
brewless-operations logs, running a command, queues and the schedule, scaling, domains and DNS records
brewless-databases The database, migrations, queues, buckets, backups, the cache, the Private Network and a database per tenant

What the agent is told to keep to

The guideline that is always loaded holds the rules an agent keeps on Brewless:

  • It asks before it changes an environment. It never deploys, rolls back, pushes variables, scales, sets a domain or DNS record up, or runs a command on production unless you asked for that, on that environment. Reading is fine by itself: plan, releases, logs and env:pull.
  • It never passes --force to skip a question you did not answer.
  • It never puts a secret in brewless.yml or in the repository; secrets go into your Secret Manager with brewless env:push.
  • It does not rely on the local disk of a container, and keeps files in a bucket.
  • It does not turn on FrankenPHP's worker mode or Laravel Octane, which Brewless refuses.
  • It leaves the routes of the package (/_ops/... and POST /) alone, and runs migrations as release commands.

Note

The agent works as you: the client uses the sign-in of your machine, or the pipeline token in BREWLESS_API_TOKEN. What it does is written to the audit trail under your name, as if you had done it yourself.