使用 LarawellUI Blade 组件构建登录、注册、密码重置、邮箱验证、确认密码、仪表盘与设置页面
bladewell-starter-kit — Vue 启动器模板
作者 rkwebforge
基于 LarawellUI Blade 组件的 Laravel 启动套件,包含登录、注册、密码重置、邮箱验证与账户设置页面,不使用 React、Vue 或 Alpine。
看看你的网站会是什么样
浏览真实页面截图,比较内容排版与手机效果。点击下方缩略图切换,放大查看整页细节。
全部页面与视图 2
截图用于了解视觉与布局,交互效果请以实际项目为准。
值得关注的模板亮点
从已有项目资料中,快速了解它的特点。
不使用 React、Vue、Inertia 或 Alpine,每个组件配一个原生 JavaScript 模块,可在严格 CSP 下运行
安全设置集中在 config/security.php,包含登录限流、12 位以上密码、改邮箱需密码、改密码登出其他会话等
组件文件复制进项目可自由修改,larawellui.lock 记录已编辑文件,larawell:add --installed 不覆盖已编辑内容
提供 Laravel Boost 与 larawell:mcp 两个 MCP 服务,以及 CLAUDE.md、AGENTS.md 供 AI 编码代理使用
每个流程都有对应的功能测试,位于 tests/Feature
模板详细介绍
这是一个 Laravel 启动套件,提供登录、注册、密码重置、邮箱验证、确认密码、仪表盘与账户设置等页面,界面由 LarawellUI 的 Blade 组件搭建。每个组件配有一个小型原生 JavaScript 模块,不使用 React、Vue、Inertia 或 Alpine,并可在严格的内容安全策略(CSP)下运行。
套件默认使用 SQLite,可在 .env 中配置 MySQL 等数据库后执行迁移。运行 db:seed 会创建 [email protected](密码 password)并生成若干登录历史,用于仪表盘表格演示;首页链接到所有页面,需要登录的页面会先要求登录再跳转。新账户需先完成邮箱验证才能进入仪表盘,开发环境下验证链接写入日志文件,也可通过移除 User 模型上的 MustVerifyEmail 接口跳过验证。
安全设置集中在 config/security.php 一个文件中,并附有修改代价的说明:登录限流、密码至少 12 位(生产环境会比对已知泄露密码)、修改邮箱需输入密码、修改密码会登出其他会话、每个页面发送严格的 CSP。SECURITY.md 列出了完整清单、上线检查项,以及接入 Stripe、分析、嵌入内容或 Livewire 时需要调整的地方。
组件文件被复制进项目,可自由修改;larawellui.lock 记录已编辑的组件文件,需要提交到版本库。通过 larawell:list、larawell:add、larawell:diff 等命令查看、添加和对比组件,larawell:add --installed 不会覆盖已编辑的文件。套件按日期版本化(如 2026.10.0),启动套件是一次性复制而非升级,版本号表示副本的新旧程度。仓库还包含面向 AI 编码代理的配置(Laravel Boost、larawell:mcp、CLAUDE.md 与 AGENTS.md),以及覆盖各流程的功能测试。
适合你的项目吗?
适用场景
- 需要 Laravel 认证与账户设置基础页面,并希望使用 Blade 组件而非前端框架的项目
- 要求页面在严格内容安全策略下运行,且不使用 React、Vue、Alpine 的应用
- 希望组件代码可自由修改、并能按需选择是否合并上游组件更新的项目
- 使用 AI 编码代理(Claude Code、Codex、Cursor、Copilot 等)协作开发 Laravel 应用
适合人群
- 使用 Laravel 并偏好服务端渲染 Blade 模板的开发者
- 需要登录、注册、密码重置、邮箱验证与账户设置等基础认证流程的项目
- 希望安全策略集中配置、便于审阅与调整的团队
- 需要为 AI 编码代理提供项目规则与组件查询能力的项目
上手与定制指南
结合仓库当前版本的说明,按下面的资料检查内容、配置与运行要求。
- 1
使用 composer create-project larawellui/starter-kit my-app 创建项目,或通过 laravel new my-app --using=larawellui/starter-kit 完成第一步
- 2
执行 npm install && npm run build 构建前端资源,再用 composer run dev 启动开发环境
- 3
默认使用 SQLite;改用 MySQL 需在 .env 中设置 DB_* 后运行 php artisan migrate
- 4
运行 php artisan db:seed 可创建 [email protected](密码 password)及登录历史数据用于演示
- 5
开发环境邮箱验证链接写入 storage/logs/laravel.log;如需跳过验证,可移除 app/Models/User.php 中的 MustVerifyEmail 接口
授权与来源资料
使用条件与限制
免费使用 · 保留许可声明本次收录的是公开仓库中采用 MIT 许可的免费版本;免费范围为该版本代码,不代表外部服务或第三方素材免费。
使用时需要遵守
- 允许免费使用、修改、商用和分发该版本代码。
- 分发代码副本或实质性部分时,保留原作者版权声明和完整 MIT 许可声明。
- 代码按现状提供;担保与责任限制以原许可证及适用法律为准。
额外费用与待核对事项
- 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 MIT 许可判断。
- 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
- 更新组件需通过 Composer 安装 larawellui/larawellui 开发依赖包,并手动指定目标版本号,无法仅靠 composer update 自动升级到新的次版本。
- 在 LarawellUI 1.0 之前,单独执行 composer update 只会停留在当前次版本内,不会自动升级到新的 0.x 次版本,需手动指定版本。
- 新账户必须先完成邮箱验证才能进入仪表盘;开发环境下验证链接写入日志文件,需配置邮件发送才能实际收信。
- 默认使用 SQLite 数据库;若改用 MySQL 等其他数据库,需在 .env 中设置 DB_* 并运行迁移。
- Laravel Boost 仅为开发依赖,生产部署需使用 composer install --no-dev,否则不会包含在服务器上。
- 使用 MCP 服务时不得将 API 密钥写入 .mcp.json,应改用环境变量。
查看原文依据
Permission is hereby granted, free of charge
许可证原文
composer require --dev larawellui/larawellui:^0.3 # move to the new release (the version from its changelog)
README 原文
While LarawellUI is below 1.0, `composer update` alone stays within the minor version you have: `^0.2.1` gets 0.2.x fixes but never 0.3.0
README 原文
New accounts verify their email before reaching the dashboard; in development the link is written to `storage/logs/laravel.log` (`MAIL_MAILER=log`).
README 原文
It uses SQLite by default. For MySQL, set the `DB_*` values in `.env`, then run `php artisan migrate`.
README 原文
Boost is a development dependency: deploy with `composer install --no-dev` and it isn't on your server.
README 原文
https://github.com/rkwebforge/bladewell-starter-kit/blob/main/LICENSEhttps://github.com/rkwebforge/bladewell-starter-kit/blob/main/README.mdNever put API keys in `.mcp.json`; use environment variables.
README 原文
DeepSeek 根据仓库许可证和 README 整理 ·2026-10-06。结果仅覆盖已读取资料,依赖、图片、字体及后续条款变更以各自原文为准。
项目核对记录与介绍依据
模板资料
- 来源平台
- GitHub
- 资料与维护参考分
- 资料较完整 · 85 / 100
- 技术栈
- Vue · Laravel · React
- 网站类型
- 启动器
这个分数如何计算
本站按许可资料(最高30分)、演示链接(12分)、预览图(10分)、Star数(15分)、记录的维护时间(15分)、描述完整度(8分)、功能记录(5分)和分类资料(5分)计算。它不是代码、安全或性能测试,也不是 Google 评分;有链接不代表已实测可用。
这个项目需要核对什么
- 记录的仓库更新时间
- 2026-10-05
- 截图检查日期
- 2026-10-06
已收录演示链接。请用你的内容与屏幕尺寸检查;有演示不代表表单、认证或支付已经可用。
目录记录的主要技术栈是 Vue。请通过依赖清单和锁文件核对实际版本与托管要求。这些说明基于收录资料,不代表代码审计或部署实测。
查看具体选型方法 →介绍的制作与核对状态
介绍由 AI 辅助整理目录与仓库资料。仓库作者不等于这篇介绍的审核者。
审核声明: [email protected] · 2026-10-06
查看当时使用的来源资料
SHA-256: 885ac03a1487abc12621fd520aa7a167eb974e236b5aadbc0e85c2759ebd293c
2026-10-06T08:14:19.481Z
来源文件 / 仓库# LarawellUI Starter Kit A Laravel starter kit with sign in, registration, password reset, email verification and account settings, built from [LarawellUI](https://larawellui.wasmer.app) widgets. Plain Blade and a small vanilla JS module per widget: no React, Vue, Inertia or Alpine. Works under a strict Content Security Policy. ## Start a new app ```bash composer create-project larawellui/starter-kit my-app cd my-app npm install && npm run build composer run dev ``` With the Laravel installer, `laravel new my-app --using=larawellui/starter-kit` does the same first step. (No `laravel` command? `composer global require laravel/installer` installs it.) It uses SQLite by default. For MySQL, set the `DB_*` values in `.env`, then run `php artisan migrate`. To try it with data, run `php artisan db:seed`: it creates `[email protected]` (password `password`) with a few pages of sign-in history for the dashboard table. The home page links to every page; the ones behind sign in ask for it first, then go straight there. ## What's included | Page | Route | Widgets | | --- | --- | --- | | Sign in | `/login` | text-input, password, checkbox, button, alert | | Create account | `/register` | text-input, password (with its rule checklist), button | | Forgot / reset password | `/forgot-password`, `/reset-password/{token}` | text-input, password, button, alert | | Verify email | `/verify-email` | button, alert | | Confirm password | `/confirm-password` | password, button | | Dashboard: your sign-in history | `/dashboard` | table (sortable, paginated, cards on phones), alert, dropdown account menu, accordion menu sidebar on large screens | | Settings | `/settings/profile` | text-input, password, button, breadcrumbs, modal (other devices, delete account), toast | New accounts verify their email before reaching the dashboard; in development the link is written to `storage/logs/laravel.log` (`MAIL_MAILER=log`). To skip verification, remove `implements MustVerifyEmail` from `app/Models/User.php`. ## Security Safe by default, and every choice is in one file, [`config/security.php`](config/security.php), with a comment on what changing it costs. Sign-in is rate limited, passwords need 12+ characters (and are checked against known breaches in production), changing your email asks for your password, a password change signs out your other sessions, and every page sends a strict Content Security Policy. [SECURITY.md](SECURITY.md) has the full list, a checklist for going live, and what to change when your app adds Stripe, analytics, embedding or Livewire. ## Where things live ```text routes/auth.php sign in, registration, password reset, verification routes/web.php dashboard and settings app/Http/Controllers/Auth/ the auth controllers app/Http/Controllers/Settings/ profile, password, other devices app/Http/Middleware/SecurityHeaders.php the Content Security Policy and other browser security headers app/Listeners/RecordSignIn.php keeps the sign-in history config/security.php every security setting, explained resources/views/components/layouts/ app (sidebar on large screens, header and account menu) and guest (centred card) resources/views/auth/ the auth pages resources/views/components/theme-toggle.blade.php the Light / Dark / System menu resources/js/theme.js, theme-boot.js switching the theme, and applying it before the page is drawn resources/views/components/widget/ LarawellUI widgets: yours to edit resources/js/widget/, resources/css/widget/ larawellui.lock which widget files you've edited; commit it ``` ## Widgets The widgets are copied into your app, so you can change them freely. To add more: ```bash php artisan larawell:list php artisan larawell:add datepicker ``` ### Keeping widgets up to date Your app keeps the widgets exactly as they were when you created it; nothing changes behind your back. New LarawellUI releases bring fixes and new widgets, and you take them when you choose: ```bash composer require --dev larawellui/larawellui:^0.3 # move to the new release (the version from its changelog) php artisan larawell:add --installed # update the widget files you haven't edited php artisan larawell:diff # see what changed in the ones you have php artisan larawell:add new-widget # add a widget that's new in that release ``` `larawell:add --installed` never overwrites a file you've edited: it reports it, and `larawell:diff` shows the difference so you can merge by hand. `larawellui.lock` is how it tells them apart, so commit it. While LarawellUI is below 1.0, `composer update` alone stays within the minor version you have: `^0.2.1` gets 0.2.x fixes but never 0.3.0, as Composer treats each 0.x minor release as possibly breaking. That's why the first command names the version. Read the [changelog](https://github.com/rkwebforge/larawellui/blob/main/CHANGELOG.md) for the widgets you use before moving. ## AI agents The kit is ready for AI coding agents (Claude Code, Codex, Cursor, Copilot and others): - **[Laravel Boost](https://github.com/laravel/boost)** gives them this app's Laravel version, database schema, logs, errors and version-matched Laravel docs, through its MCP server (`php artisan boost:mcp`). - **`php artisan larawell:mcp`** lets them look up every widget's props and examples, and install widgets. - **`CLAUDE.md` and `AGENTS.md`** tell them how to work here: the kit's rules (widgets, the Content Security Policy, `config/security.php`, tests) and a careful working style. Claude Code finds both MCP servers in `.mcp.json` by itself. For another agent, run `php artisan boost:install` and pick it: Boost writes that agent's MCP settings and instructions file; add `larawellui` (`php artisan larawell:mcp`) next to `laravel-boost` there. `CLAUDE.md` and `AGENTS.md` are generated, so write your own rules in `.ai/guidelines/`, then run `php artisan boost:update`. Commit these files: they're the project's instructions, so every agent and every teammate works by the same rules, and changes to them get reviewed like code. Your personal ones stay out of git: `CLAUDE.local.md`, `.claude/settings.local.json`, `.codex/` and `.cursor/` are in `.gitignore`. Never put API keys in `.mcp.json`; use environment variables. Boost is a development dependency: deploy with `composer install --no-dev` and it isn't on your server. ## Tests ```bash php artisan test ``` Every flow above has a feature test in `tests/Feature`. ## Versions The kit is versioned by date: `2026.10.0` is the first release of October 2026, and `2026.10.1` a fix to it. You copy a starter kit once rather than upgrade it, so the version says how fresh your copy is. [CHANGELOG.md](CHANGELOG.md) lists what each release changed. ## License MIT. See [LICENSE](LICENSE).
看看同类模板
对比同技术栈与用途的模板,找到更适合的视觉与内容结构。

vitesse
🏕 Opinionated Vite + Vue Starter Template
Vue · 启动器

vitesse-webext
⚡️ WebExtension Vite Starter Template
Vue · 启动器

laravel-vue-spa
A Laravel-Vue SPA starter kit.
Vue · 启动器

vue3-h5-template
vue3-h5-template 是一个面向移动端 H5 项目的启动模板,基于 Vue3、Vite 和 Vant4 构建,同时集成了 TypeScript、Tailwindcss、Pinia、Vue-router 等常用…
Vue · 启动器

tov-template
vite + vue3 + ts 开箱即用现代开发模板 | vite + vue3 + ts out-of-the-box modern development template
Vue · 启动器

shadcn-vue-landing-page
New design 🎉 Vue + Shadcn-vue + TypeScript + Tailwind. Landing page template ease-to-use
Vue · 企业官网
