data-theme = pinion
安装方法
用 Composer 安装、用 ui:install 接线、再构建。三步之后,全部组件与 37 套主题 × 11 套调音即可使用。
前提条件
- PHP 8.2 及以上
- Laravel 11 / 12 / 13
- Tailwind CSS v4(Laravel 11+ 的 Vite 标准配置)
- Node.js(用于 Vite 构建)
1. 添加软件包
bash
composer require sparrowhawk-labs/pinion-ui
图标包(pinion-icons)会作为依赖自动安装,无需单独安装。
2. 用 ui:install 完成接线
bash
php artisan ui:install --ai
这条命令会完成所有必要的接线:
- 添加 npm 依赖 — daisyui ^5 / alpinejs ^3 / @alpinejs/focus / @alpinejs/collapse
- 在 resources/css/app.css 中加入一行 pinion-ui 预设的 @import(一次性加载主题、调音与 @source 通配)
- 在 resources/js/app.js 中接入 Alpine 及其插件
- 为布局的 <html> 补上 data-theme 属性
- 加上 --ai 后,会在项目的 CLAUDE.md 中追加对 AGENTS.md 的引用,让 AI 代理能读到正确的使用规则
3. 构建
bash
npm install && npm run build
到此完成。<x-button> 等组件即可直接在 Blade 模板中使用。
选择主题与调音
外观由 <html> 上的两个属性决定: data-theme 控制配色(37 套调色板 × 亮/暗),data-tune 控制形状、间距与字体(11 套预设)。两个轴相互正交,可自由组合。
html
<html data-theme="pinion" data-tune="default">
可以用导航栏右上角的 Theme / Tune 切换器实时切换、挑选组合 —— 本页也会一起变化。
第一个组件
<x-button color="primary" icon="rocket">Hello Pinion</x-button>
<button class="inline-flex items-center justify-center whitespace-nowrap font-medium tracking-wide transition-colors focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 rounded-[var(--radius-field)] border-[length:var(--border)] h-[var(--h-field-md)] px-[var(--px-field-md)] text-[length:var(--text-field-md)] gap-2 bg-primary text-primary-content border-primary hover:bg-primary/90 focus-visible:ring-primary cursor-pointer"><svg class="w-4 h-4" viewbox="0 0 24 24">
<path fill="currentColor" fill-rule="evenodd" d="m14.447 16.377l5.847-5.83c.842-.839 1.263-1.259 1.484-1.792S22 7.627 22 6.44v-.567c0-1.826 0-2.739-.569-3.306S19.947 2 18.116 2h-.57c-1.19 0-1.785 0-2.32.221c-.536.221-.957.641-1.8 1.48L7.58 9.531c-.984.98-1.594 1.589-1.83 2.176a1.5 1.5 0 0 0-.112.562c0 .802.647 1.448 1.942 2.739l.174.173l2.038-2.069a.75.75 0 1 1 1.069 1.053L8.816 16.24l.137.137c1.295 1.29 1.943 1.936 2.747 1.936c.178 0 .348-.031.519-.094c.603-.222 1.219-.836 2.228-1.842m2.747-6.846a1.946 1.946 0 0 1-2.747 0a1.93 1.93 0 0 1 0-2.738a1.946 1.946 0 0 1 2.747 0a1.93 1.93 0 0 1 0 2.738" clip-rule="evenodd"></path>
<path fill="currentColor" d="M9.034 5.963L6.491 8.5c-.467.466-.896.893-1.235 1.28a6 6 0 0 0-.619.82l-.024-.025l-.095-.094a4.9 4.9 0 0 0-1.532-1.004l-.123-.05l-.379-.15a.764.764 0 0 1-.259-1.252C3.345 6.907 4.69 5.566 5.34 5.297a3.4 3.4 0 0 1 1.788-.229c.546.081 1.063.362 1.907.895m4.342 13.35c.205.208.34.355.464.512q.243.311.434.658c.142.26.253.537.474 1.092a.69.69 0 0 0 1.126.224l.084-.083c1.12-1.117 2.465-2.458 2.735-3.105a3.35 3.35 0 0 0 .229-1.782c-.081-.545-.362-1.06-.897-1.902l-2.552 2.544c-.478.477-.916.914-1.313 1.256c-.237.206-.497.41-.784.586" opacity=".3"></path></svg> Hello Pinion</button>
验证安装只需一个按钮。从组件目录可以跳转到每个组件的用法页面。
组件目录 →
与 AI 代理一起使用
pinion-ui 为 AI 辅助编码而设计。ui:install --ai 接入的 AGENTS.md 汇总了调用约定、易错点与类名词汇规则,Claude Code 等代理据此从一开始就写出正确的代码。同时还会安装一个 Claude Code 钩子,在编辑 Blade 后自动运行 ui:lint(可用 --skip-hooks 跳过)。
data-theme = pinion-dark
安装方法
用 Composer 安装、用 ui:install 接线、再构建。三步之后,全部组件与 37 套主题 × 11 套调音即可使用。
前提条件
- PHP 8.2 及以上
- Laravel 11 / 12 / 13
- Tailwind CSS v4(Laravel 11+ 的 Vite 标准配置)
- Node.js(用于 Vite 构建)
1. 添加软件包
bash
composer require sparrowhawk-labs/pinion-ui
图标包(pinion-icons)会作为依赖自动安装,无需单独安装。
2. 用 ui:install 完成接线
bash
php artisan ui:install --ai
这条命令会完成所有必要的接线:
- 添加 npm 依赖 — daisyui ^5 / alpinejs ^3 / @alpinejs/focus / @alpinejs/collapse
- 在 resources/css/app.css 中加入一行 pinion-ui 预设的 @import(一次性加载主题、调音与 @source 通配)
- 在 resources/js/app.js 中接入 Alpine 及其插件
- 为布局的 <html> 补上 data-theme 属性
- 加上 --ai 后,会在项目的 CLAUDE.md 中追加对 AGENTS.md 的引用,让 AI 代理能读到正确的使用规则
3. 构建
bash
npm install && npm run build
到此完成。<x-button> 等组件即可直接在 Blade 模板中使用。
选择主题与调音
外观由 <html> 上的两个属性决定: data-theme 控制配色(37 套调色板 × 亮/暗),data-tune 控制形状、间距与字体(11 套预设)。两个轴相互正交,可自由组合。
html
<html data-theme="pinion" data-tune="default">
可以用导航栏右上角的 Theme / Tune 切换器实时切换、挑选组合 —— 本页也会一起变化。
第一个组件
<x-button color="primary" icon="rocket">Hello Pinion</x-button>
<button class="inline-flex items-center justify-center whitespace-nowrap font-medium tracking-wide transition-colors focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 rounded-[var(--radius-field)] border-[length:var(--border)] h-[var(--h-field-md)] px-[var(--px-field-md)] text-[length:var(--text-field-md)] gap-2 bg-primary text-primary-content border-primary hover:bg-primary/90 focus-visible:ring-primary cursor-pointer"><svg class="w-4 h-4" viewbox="0 0 24 24">
<path fill="currentColor" fill-rule="evenodd" d="m14.447 16.377l5.847-5.83c.842-.839 1.263-1.259 1.484-1.792S22 7.627 22 6.44v-.567c0-1.826 0-2.739-.569-3.306S19.947 2 18.116 2h-.57c-1.19 0-1.785 0-2.32.221c-.536.221-.957.641-1.8 1.48L7.58 9.531c-.984.98-1.594 1.589-1.83 2.176a1.5 1.5 0 0 0-.112.562c0 .802.647 1.448 1.942 2.739l.174.173l2.038-2.069a.75.75 0 1 1 1.069 1.053L8.816 16.24l.137.137c1.295 1.29 1.943 1.936 2.747 1.936c.178 0 .348-.031.519-.094c.603-.222 1.219-.836 2.228-1.842m2.747-6.846a1.946 1.946 0 0 1-2.747 0a1.93 1.93 0 0 1 0-2.738a1.946 1.946 0 0 1 2.747 0a1.93 1.93 0 0 1 0 2.738" clip-rule="evenodd"></path>
<path fill="currentColor" d="M9.034 5.963L6.491 8.5c-.467.466-.896.893-1.235 1.28a6 6 0 0 0-.619.82l-.024-.025l-.095-.094a4.9 4.9 0 0 0-1.532-1.004l-.123-.05l-.379-.15a.764.764 0 0 1-.259-1.252C3.345 6.907 4.69 5.566 5.34 5.297a3.4 3.4 0 0 1 1.788-.229c.546.081 1.063.362 1.907.895m4.342 13.35c.205.208.34.355.464.512q.243.311.434.658c.142.26.253.537.474 1.092a.69.69 0 0 0 1.126.224l.084-.083c1.12-1.117 2.465-2.458 2.735-3.105a3.35 3.35 0 0 0 .229-1.782c-.081-.545-.362-1.06-.897-1.902l-2.552 2.544c-.478.477-.916.914-1.313 1.256c-.237.206-.497.41-.784.586" opacity=".3"></path></svg> Hello Pinion</button>
验证安装只需一个按钮。从组件目录可以跳转到每个组件的用法页面。
组件目录 →
与 AI 代理一起使用
pinion-ui 为 AI 辅助编码而设计。ui:install --ai 接入的 AGENTS.md 汇总了调用约定、易错点与类名词汇规则,Claude Code 等代理据此从一开始就写出正确的代码。同时还会安装一个 Claude Code 钩子,在编辑 Blade 后自动运行 ui:lint(可用 --skip-hooks 跳过)。