The goal of this project is to significantly improve the DX of writing JavaScript-heavy components in Laravel Blade, similar to modern frameworks like React, Vue, or Svelte, but without the added complexity of an entirely new ecosystem.
It aims to achieve this with the following:
- Mimic a true component authoring experience with reactive props and isolated scope
- Create a fully featured JavaScript environment in script tags, supporting imports, bundling, and TypeScript
- Provide IDE tooling with syntax highlighting, error checking, and autocomplete in both script tags and templates
- Provide a good debugging experience by making it easy to locate errors in source files
- Improve control structure syntax for frontend-rendered templates (if/else/for)
- Extend Blade to add new features that simplify working with a large number of components
To learn more watch my talk about Bond from the Wire:live 2025 conference:
https://www.youtube.com/watch?v=A0vKbD-W7Rg
Current development
Bond is currently in alpha version. It’s meant as a preview/proof of concept to validate whether this idea resonates with the community, and from the initial feedback, it seems like it does. The beta version is in development on the beta branch and should be released by the end of October 2025. This release will make Bond feature-complete enough to use in a project, although will still be expected to have bugs and rough edges.
I'm currently working on Bond 1.0, which is a complete rewrite and restructure. The project will move to its own GitHub organization with a separate repo for every package (Laravel, Vite, Alpine, VS Code), it will include all features mentioned below along with a robust test suite for each package. This release will make Bond production-ready.
Tasks
Below is a rough overview of tasks that need to be finished for the stable release.
Updated: 2025/12/28
The goal of this project is to significantly improve the DX of writing JavaScript-heavy components in Laravel Blade, similar to modern frameworks like React, Vue, or Svelte, but without the added complexity of an entirely new ecosystem.
It aims to achieve this with the following:
To learn more watch my talk about Bond from the Wire:live 2025 conference:
https://www.youtube.com/watch?v=A0vKbD-W7Rg
Current development
Bond is currently in alpha version. It’s meant as a preview/proof of concept to validate whether this idea resonates with the community, and from the initial feedback, it seems like it does.
The beta version is in development on thebetabranch and should be released by the end of October 2025. This release will make Bond feature-complete enough to use in a project, although will still be expected to have bugs and rough edges.I'm currently working on Bond 1.0, which is a complete rewrite and restructure. The project will move to its own GitHub organization with a separate repo for every package (Laravel, Vite, Alpine, VS Code), it will include all features mentioned below along with a robust test suite for each package. This release will make Bond production-ready.
Tasks
Below is a rough overview of tasks that need to be finished for the stable release.
Updated: 2025/12/28
language-coreif a component defines props with names such as
textordata, adding these as attributes should not trigger the native Alpine.js directives:<x-badge x-text="badgeText" />Custom syntax in type annotation:
step: number = 2