Weave 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

Boost Laravel Package

october/boost

October Boost brings Laravel Boost-style AI development support to October CMS, providing guidelines, MCP tools, and project context so coding agents understand October conventions and build plugins, themes, and Laravel-powered sites more accurately.

View on GitHub
Deep Wiki
Context7

Getting Started

october/boost is not a runtime library — it's a skill pack for AI coding agents (the same idea as laravel/boost). It ships markdown "skills" describing October CMS conventions (AJAX framework, and presumably more) so tools like Claude Code, Cursor, or Copilot generate October-idiomatic code instead of generic Laravel.

Minimal setup:

composer require october/boost --dev
php artisan list | grep -i boost     # confirm the installer/vendor command name

Then run whatever install command the package registers (e.g. php artisan boost:install) and confirm where it wrote guidance — likely an agents/skills or .ai/skills directory plus a rules file (AGENTS.md, CLAUDE.md, .cursor/rules). If no artisan command exists, point your agent at vendor/october/boost/skills directly.

Where to look first:

  1. The skills/ directory listing — that's the actual product surface.
  2. skills/ajax-framework/SKILL.md — the AJAX framework is where most October day-to-day work happens (forms, partial updates, handlers), so it's the highest-value skill and the best way to judge quality.
  3. Your AI tool's config file to verify it's actually being loaded.

First use case: ask your agent for an AJAX-driven contact form (component + partial + handler + flash message). Then diff the output against the SKILL.md tables — data-request-update selector prefixes, contactForm::onSubmit alias syntax, {% framework extras %} in the layout. If the agent gets those right unprompted, the package is doing its job.

Implementation Patterns

Treat skills as a review checklist, not just a prompt prefix. The tables in SKILL.md (data attributes, jax options, turbo meta tags) are effectively a spec. Generate with the agent, then walk the table row by row. This catches the common failure where an agent writes jQuery-era $.request code into a Larajax-era project.

Component-scoped handlers by default. For reusable UI, define handlers as component methods and call them with the alias prefix:

<button data-request="contactForm::onSubmit">Submit</button>

Reserve page/layout PHP handlers for one-off page logic — but remember the priority order (page > layout > component) when debugging "my handler isn't firing."

Match the response style to the context. The skill is explicit about the split, and agents frequently mix them up:

Context Return partials with
CMS page / component $this->renderPartial('name')
Backend controller $this->makePartial('name')

For backend bulk actions, return $this->listRefresh(); after mutating records is the idiomatic close.

Validation = {% framework extras %} + ValidationException. The framework extras bundle handles rendering errors next to fields. If you only include {% framework %}, agents will generate working handlers whose validation errors silently never appear.

Use ajaxPartial for self-contained widgets (a clock, a cart badge, a poll) so the widget owns its refresh via { _self: true }, rather than wiring a global data-request-update map on every consuming page.

Bridge to your own JS with dispatchBrowserEvent instead of stuffing logic into data-request-success strings — it survives partial re-renders and is testable:

$this->dispatchBrowserEvent('profile:updated', ['name' => $name]);

Layer project conventions on top. Copy or symlink the relevant SKILL.md snippets into your repo's own rules file and append house rules (naming, permission checks, author plugin scoping, translation keys). The boost skills give October correctness; your rules give your correctness.

Use it as human onboarding docs too. The AJAX skill is a genuinely decent primer for a Laravel dev joining an October project — the attribute table and event table are faster than the official docs for lookup.

Gotchas and Tips

Version drift is the big one. The skill documents Larajax (jax.ajax, jax.visit, turbo router, data-request-update prefix syntax). Older October builds use jQuery $.request with a different update syntax. Check your October version before letting an agent apply the skill verbatim — mismatched output will look plausible and fail at runtime.

AjaxException still updates partials. The skill states this explicitly and it surprises everyone: throwing AjaxException does not abort the update phase. If you need to stop a partial update, use the dispatch-event + event.preventDefault() route instead.

{% framework %} vs {% framework extras %}. Extras is required for validation display, loading indicators, flash rendering, and turbo. Missing it is the #1 cause of "the AJAX works but nothing shows."

Flash messages need markup. Flash::success() in a handler does nothing visible unless the layout renders {% flash %}...{% endflash %} and the request carries flash (extras, or data-request-flash). Same class of bug for data-request-loading pointing at a selector that doesn't exist.

Debugging workflow: Network tab first (is the handler name right? is the response {...} or HTML?), then the ajax:* events — ajax:setup on the trigger element is the fastest way to see what options were actually resolved. For global behavior changes, override jax.handleErrorMessage / jax.handleValidationMessage / jax.handleConfirmMessage rather than patching markup.

Turbo router caveats: inline scripts don't re-run on navigation unless you understand data-turbo-eval / data-turbo-eval-once; persistent widgets need data-turbo-permanent; and stale cached pages are fixed with turbo-cache-control meta tags. Agents rarely volunteer these — ask explicitly if PJAX is enabled.

Global partial updates are a footgun. <meta name="ajax-request-update" content="{ flash-messages: true }" /> merges into every request on the page. Convenient, but it couples unrelated handlers to one partial's render cost.

Audit before you install. 9 stars, 0 dependents, and no published runtime behavior means this is unvetted supply chain. Read the package contents before adding it; if you only want the knowledge, vendor the SKILL.md files into your repo and drop the dependency.

Verify your agent actually reads the skills. Many tools require an explicit @-mention or a config entry. Test by asking a question only the skill answers (e.g. the @# / ^# / !# selector prefixes) and see if the answer is correct.

Extension points worth knowing: the jax.handle* hooks (global UX overrides), onInit() in page PHP / init() in components (runs before every AJAX handler — good for auth and guard clauses), and data-request-bulk for JSON transactions when you're pushing lists of records rather than a single form.

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.
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console
pnscripts/filament-broadquill-lite
pnscripts/laravel-sentfold-lite
vleap/mx-sdk-laravel-internal
twidpay/utils
htetmyathlaing/scout-elasticsearch-driver
artisan-toolbox/front-awesome
ls/client-assistant
users-au/laravel-client
robertmarney/lara-hierarchial-collections
simonschaufi/rule-doc-generator
emissaoja/emissaoja
blackbricksoftware/gravityforms-civicrm-form-processor
al-rahabi/fancy-crud
jinas/dhivatar-component
mltstephane/laravel-quality
bernskiold/laravel-talentlms
bernskioldmedia/laravel-form-architect