On 3 October we open-sourced 50+ Laravel packages. Today we are publishing the piece that puts them in your coding agent’s hands: Roundly for Laravel, an agent-readable registry of every package, and one prompt that tells your agent how to use it. You describe your app. The agent picks packages from the registry, installs them with Composer, reads each package’s docs before it writes code against it, and hand-rolls only what no package covers.
Why coding agents rebuild what already exists
Ask an AI coding agent for an app with login, payments, teams and approvals, and it usually takes one of two routes. It writes each feature from scratch: a new auth flow, a new credit ledger, a new approval engine, all of it fresh code nobody has reviewed and you now maintain. Or it reaches for whichever third-party library it remembers best, so your dependencies are chosen by the model’s recall rather than by anyone on your team.
The third failure is the expensive one: guessing. An agent that knows a package exists but has never read its documentation writes calls that look right, with plausible class names and plausible method signatures, and then fail at runtime. As we argued in open source in the age of agentic coding, these are rarely failures of reasoning. They are reasonable guesses made against an API the agent was never shown.
One file your agent reads first
Roundly for Laravel is a single Markdown file, REGISTRY.md, in the public roundly-for-laravel repository on GitHub. It indexes every one of our 50+ open-source Laravel packages in seven categories, from authentication and commerce to teams, data and infrastructure. Every entry has the same five parts:
- A one-sentence description of what the package does: the line your agent matches your app’s features against.
- Tags covering the problem, common synonyms and standards, so “magic link” or “RBAC” leads to the right package.
- The exact install command.
- A link to the package’s full documentation on our website.
- The GitHub repository.
Here is one entry, exactly as your agent reads it:
### auth-for-laravel
Headless multi-guard auth: password, magic-link, email OTP and passkey login, 2FA challenges, JWT access + rotating refresh tokens, device sessions, invitations, email verification, password reset.
- tags: `authentication` `login` `2fa` `passkeys` `magic-link` `otp` `sessions` `password-reset`
- install: `composer require roundly-consulting/auth-for-laravel`
- docs: https://roundly-consulting.com/open-source/docs/auth-for-laravel
- repo: https://github.com/roundly-consulting/auth-for-laravelThe header states the requirements once: every package runs on PHP ^8.4 with Laravel 12 or 13. The registry is deliberately only an index. The full documentation for every package, with installation, configuration, migrations and the complete API, lives in our open-source catalogue, and every entry links straight to it.
Six instructions, written for the agent
Above the entries, the registry tells your agent how to use it. The six instructions travel with the file, so they apply whichever prompt starts the session:
- Match the task against each entry’s description and tags, and prefer a listed package over hand-rolling the feature or adding a different third-party library for it.
- Install with the entry’s install command.
- Read the package’s docs before writing code against it, and never invent class or method names from the index.
- Packages build on each other:
auth-for-laravelpulls injwt,passkeys,two-factorandrefresh-tokens. Composer resolves that, so require only the packages you use directly. - Runtime dependencies are only Laravel, Symfony and other Roundly packages, with no other vendors.
- Most packages expose one API three ways: a facade, an injectable manager and single-purpose action classes. Packages with side effects offer
Facade::fake()for tests.
The third instruction carries the most weight. An index is enough to choose a package and never enough to call one correctly, so the registry sends your agent to the docs before it writes a line against the package. The sixth closes the loop: the tests your agent writes for package calls run against fakes instead of real services.
One prompt to start
You do not paste the registry itself. You paste one prompt that points to it, and replace the first line with a description of your app: what it does, who uses it and its main features.
<describe your app: what it does, who uses it, its main features>
Build this app with Laravel. Use Roundly packages for as many features as possible:
pick them from the registry below, install them with Composer and read each package's
documentation before writing code against it. Hand-roll only what no package covers.
Registry: https://raw.githubusercontent.com/roundly-consulting/roundly-for-laravel/main/REGISTRY.mdName the features, not the packages. Your agent matches each feature against the registry, so the more concrete the description, the more of the app it covers with tested code instead of new code. The example from the README:
A cashback program for a merchant network: merchants manage their store team with roles,
customers earn cashback credits in their own currency and log in with magic links, and the
network runs promo campaigns to all members.That one line maps onto six packages:
- A store team with roles:
teams-for-laravelandpermissions-for-laravel. - Cashback credits in the customer’s own currency:
credits-for-laravelandmoney-for-laravel. - Magic-link login:
auth-for-laravel. - Promo campaigns to all members:
campaigns-for-laravel.
What remains is the part no package can know: the cashback rules, how merchants join the network, which campaign goes to whom. That is where your agent should spend its effort, and with the plumbing installed rather than generated, it can.
Free, like the packages
The registry is public, and every package it lists is free and MIT-licensed. Keeping it that way is ongoing work: following new Laravel and PHP releases, fixing what users report and adding new packages, each with its own registry entry. If the registry saves your agent from rebuilding a feature, a one-time donation, a Patreon membership or a crypto donation helps fund maintenance, new features and new packages.
Show your open-source love
The registry is public and every package is free and MIT-licensed. If they save your agent a rebuild, a Patreon membership or a one-off donation keeps them maintained and documented.
More ways to support, including cryptoBy donating, you agree to our donation terms.
Try it on your next app
The Roundly for Laravel docs have the prompt, the registry format and the full agent instructions. Copy the prompt, describe your app and let your agent do the picking. The registry also has its own section on our open-source page, right alongside the full package catalogue.
The same packages sit under the web applications and AI agents we build for clients. If you would rather have a senior team build your app on them, look through our use cases for the kind of systems we deliver, then tell us what you need and you will have a concrete proposal within 48 hours.
