Materializr
Open-source parametric 3D CAD for makers — constraint sketches, solid modeling, threads, SVG & text engraving, STL/STEP export. Android, iPad, Linux, Mac, Windows. Vibe coded.
翻译准备中
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证正在加载完整 README。 以下为已保存的摘录。
A code-first design system for prototyping product screens with an AI assistant. Describe a screen, and the assistant builds it from the kit's own components and patterns.
This README follows the Start pages in the catalog (Overview, Installation, Using patterns and Prompting). Run the kit and open them for the always-current version.
A ready-made kit for building realistic, clickable screens quickly. Everything lives in code: there is no separate design file to keep in step.查看完整 README ↗A code-first design system for prototyping product screens with an AI assistant. Describe a screen, and the assistant builds it from the kit's own components and patterns.
This README follows the Start pages in the catalog (Overview, Installation, Using patterns and Prompting). Run the kit and open them for the always-current version.
A ready-made kit for building realistic, clickable screens quickly. Everything lives in code: there is no separate design file to keep in step.
CLAUDE.md and the /prototype-from-kit skill keep every screen consistent.Your copy is a snapshot. A prototype starts as a copy of the kit on the day you create it. Later kit changes do not reach it on their own. Start a new prototype to get them.
| Count | Includes | |
|---|---|---|
| Foundation pages | 10 | Color, Typography, Icons, Spacing, Grid systems, Radius, Border, Shadow, Motion, Opacity |
| Components | 76 | Controls, fields, data, navigation, feedback and charts |
| Patterns | 9 | AccountFlow, AppShell, ChatWindow, Dashboard, FormPage, GuidedProcessPage, ListPage, RecordPage, SettingsPage |
Counts are as of this README. The catalog's Overview page counts them live from contracts/index.json.
node -v.Makes a new folder with the latest release of the kit and installs it. Run this in the folder where you keep your projects, and change my-prototype to any name:
npm create agentic-bp-ds@latest my-prototype
Then go into the folder and start it:
cd my-prototype
npm run dev
For a prototype that lives in its own GitHub repository, to share or deploy.
git clone <your repository address> my-prototype
cd my-prototype
npm install
npm run dev
For changing the kit itself: adding a component or fixing one.
git clone https://github.com/borisj74/agentic-bp-ds-kit.git
cd agentic-bp-ds-kit
npm install
npm run dev
With npm run dev running, open http://localhost:3000. The page updates as files change. Stop the server with Ctrl + C.
| Command | What it does |
|---|---|
npm run dev | Starts the catalog and your screens |
npm run build | Checks that everything builds, as it would before deploying |
npm run lint | Checks the code for common mistakes |
npm test | Runs the unit, interaction and accessibility tests |
npm run test:watch | Reruns the tests as files change |
npm run tokens | Rebuilds the token CSS after editing src/tokens/source |
Open the prototype folder in your AI coding assistant. The rules come with the kit, so there is nothing to set up:
CLAUDE.md holds the kit rules the assistant follows on every request./prototype-from-kit runs the Prototype from kit skill, which walks the assistant through building a screen from the kit.contracts/ tells it what each piece is for and which options it has.Read Prompting before your first screen.
Prototypes do not update on their own. Each prototype is a copy of the kit from the day it was made. To use newer components, start a new prototype with Option 1 and move your screens across.
Working from a clone of the kit (Option 3)? Run git pull and then npm install.
What changed in each release is in CHANGELOG.md. Breaking releases say what to rename or run.
Some releases rename pieces or props. When you move screens into a newer kit, run the matching script over your screen folders, oldest first, then npx tsc --noEmit to catch anything it missed. Each script is safe to run twice.
| Script | What it renames |
|---|---|
node scripts/codemod-a2-rulings.mjs src/app | tone to intent |
node scripts/codemod-a3-renames.mjs src/app | Alert to Callout, Empty to EmptyState, Progress to Meter, ProgressLegacy to ProgressBar, ButtonFilter to FilterButton, SegmentedControl to Segmented, Stepper to Steps, DropdownMenu to Dropdown, ShimmerText to TextLoader, Command to GlobalSearch, Tile to NavTile, SideNav to AppNav, and the props that moved with them |
node scripts/codemod-a4a-button.mjs src/app | Button variant to emphasis + intent (primary → strong brand, secondary → subtle, tertiary → minimal, danger → strong danger), pressed to toggle, the same on Dropdown's button trigger, Cell and GuidedProcess action data, and AlertDialog actionVariant to actionIntent |
npm install.npm run dev again and reload.Patterns are blueprints for whole screens. Start every screen from one, and the layout, spacing and behavior come with it.
header, toolbar and children take kit components you fill in.APP_NAV and APP_NAV_END from @/patterns/AppShell/appNav, so every prototype has every link.contracts/: the slots, the options and the do-nots.| Pattern | What it is | Use it for | Built from |
|---|---|---|---|
| AccountFlow | The account provisioning flow: the accounts list, one account with its tabs, a new account, and a new product on an account, one page at a time. | Account screens that link together: find an account, open it, add an account or a product. | AppShell, ListPage, RecordPage, FormPage, Toolbar, Table, Tabs, Form, FormDisplay, LinkList and more |
| AppShell | The frame every product screen sits in: the bar across the top, the rail down the side, the page in the middle, and the assistant beside it. | Any product screen: a list, a record, a dashboard. | AppHeader, AppNav, PageHeader, ChatWindow, Section |
| ChatWindow | The assistant window: its header over the turns, the composer at the foot, and the saved chats beside or over them. | The assistant docked beside a product screen. | ChatHeader, ChatMessage, ChatComposer, ChatList, EmptyState |
| Dashboard | The home screen of a job: the numbers that matter, grouped, with the charts and lists that explain them. | A home screen that reports on a job: what is owed, what is due, what closed. | Toolbar, Section, Scoreboard, BarChart, LineChart, PieChart, Legend, Table, Timeline, EmptyState, Skeleton |
| FormPage | One record being filled in: its name and the save at the top, anything to read first under that, and the fields in folding groups. | Making a new record from a page of its own, not from a Modal. | PageHeader, Callout, Form, Section, Input, Select, Checkbox, DatePicker, Lookup |
| GuidedProcessPage | A process walked one page per step, with every step on a dark panel at the start or end edge of the page. | A process of a few steps done in order, where each step is a page of fields. | GuidedProcess, Form, Callout |
| ListPage | A list of records: the bar to find and filter them, the rows themselves, and the pages under them. | A screen that lists records with a search, filters and pages. | Toolbar, Table, Card, Pagination, EmptyState, Skeleton, Callout |
| RecordPage | One record: its name and actions at the top, the tabs of what belongs to it, the numbers that matter, and its details in sections. | One record with its details in sections. | PageHeader, Tabs, Callout, Toolbar, Scoreboard, Section, Form, FormDisplay |
Each pattern's full contract, with its starting code, is in contracts/. The catalog's Using patterns page lists them live.
The assistant builds exactly what you describe, from the kit. The clearer the screen in your head, the better the screen on the page.
/prototype-from-kit is the kit's Prototype from kit skill: a short set of instructions that comes with every copy of the kit, in .claude/skills/prototype-from-kit. Typing it at the start of a message tells the assistant to build the screen the kit's way:
contracts/index.json.Begin with the skill, the pattern and one sentence about the screen:
/prototype-from-kit A Contracts list using ListPage inside AppShell, for finance managers who review renewals.
A list of records
Too vague:
Make an invoices page.
Clear:
/prototype-from-kit An Invoices list using ListPage inside AppShell.
Columns: Invoice number (a link), Account, Status (Paid, Overdue, Draft as badges), Due date, Amount (right-aligned).
Toolbar: search, filters for Status and Due date, and one strong brand action, New invoice.
20 sample rows, 10 per page. Show the empty state when the filters match nothing.
It must work on a phone.
A form
Too vague:
Add a form to create a customer.
Clear:
/prototype-from-kit A New account page using FormPage.
Sections: Account (Name, required; Type: Customer or Partner; Parent account as a Lookup), Billing (Currency, Billing cycle, Payment terms), Address (two columns).
Save is the one strong brand action; Cancel goes back to the account list.
After saving, go to the account and show a success message.
From a screenshot
Too vague:
Make it look like this screenshot.
Clear:
Here is a screenshot of our current account page. Rebuild it with RecordPage.
Keep the tabs, the summary numbers and the account details.
Ignore the old side menu and the colors; use the kit's.
If something in the screenshot has no kit component, stop and tell me which, before building.
The kit tells the assistant to stop and ask when a screen needs something it does not have. That is on purpose: it keeps every prototype built from the same parts. You have two good answers:
Avoid "just build something quick for this screen". One-off parts drift from the kit and break the next time things change.
/prototype-from-kit and named a pattern.| Folder | What it holds |
|---|---|
contracts/ | One JSON contract per component and pattern, plus index.json |
src/ui/ | Components, one folder each |
src/patterns/ | Page blueprints composed from components |
src/tokens/ | Primitive and semantic tokens, and layout classes |
src/app/(playground)/ | The catalog you see at localhost:3000, including the Start pages |
packages/create-agentic-bp-ds/ | The npm create installer |
.claude/skills/prototype-from-kit/ | The Prototype from kit skill |
CHANGELOG.md | What changed in each release |
RELEASING.md | How a new version goes out |
MIT
| SettingsPage | The settings home: a grid of the places people can go from here, each with its own icon and color. | A page whose job is to send people on. | NavTile, Section, Callout |