Avgeek 开放源码软件设计系统
Avgeek OSS应用软件的共享反应组件,应用布局,以及UI模式. Towbar是共同表面和展示合同的基线. 适应于Apache-2.0下.
安装
该套件在npmjs.org上公开. 安装它不需要 GitHub 令牌 。 如果存在 .npmrc 地图 @avgeek-oss 改为 GitHub 软件包,将范围改为 https://registry.npmjs.org 并刷新依赖锁文件 .
pnpm add @avgeek-oss/design-system react react-dom
软件包目标为回放19和Tailwind CSS 4. 导入 @avgeek-oss/design-system/styles.css 通过你的尾风建筑。 继续启动您的应用程序源扫描 。 字体,英雄UI风格,符号,以及软件包组件的效用通过这个样式表包含.
"use client";
import { Providers, SignIn } from "@avgeek-oss/design-system";
import "@avgeek-oss/design-system/styles.css";
// Mount Providers once around your app. API callbacks belong to the app.
<Providers>
<SignIn
brand="Avgeek"
onSubmit={signIn}
onForgotPassword={openPasswordReset}
/>
</Providers>;
根会输出共同的布局和模式. 原始物也具有明显的子路径,例如: forms/input, (中文(简体) ), pickers/date-picker,以及 data-display/table见 组件目录 ;不导入未公布的内部路径.
层
- 初级: 按钮、窗体控件、表格、部件、图表、上下文、打字、图标和主题控件.
- 布局 : 应用程序外壳、主导航和二次导航、页面标题、面包屑和内容部分.
- 图案 : 单独的认证屏幕,双步团队设置,MCP授权,账户设置,团队成员,资源表,通知,以及账户菜单.
Apps提供品牌,路线,导航组,权限,日期,和行动. API调用,认证政策,认证仪式,并坚持在应用程序中. 验证构建者接受现有的应用限制;软件包不会取代服务器的授权.
构成部分使用和设计规则 设计编辑 共享模式指南 涵盖账户和团队管理、历史/过滤、通知设置、集成、操作进度及其应用边界.
路线
将壳包入 RouteProvider 使用当前路径名和导航回调。 没有路由器回调,链接使用正常浏览器导航. Next.js 应用程序可以使用 NextNavigationProvider 从 @avgeek-oss/design-system/adapters/next。下一个.js是可选的对等关系依赖,不是由共享运行时间导入的.
发展
这些是维护者的开发笔记. 我们不接受来自公共来源的捐款,以遏制自动拉动请求,并且因为没有专门的资源来审查和签署这些请求。 这一储存库欢迎反馈和问题;我们对这些反馈和问题进行分类并努力尽早予以纠正。 如本报告所述,私下报告安全方面的弱点 警卫。 。 。 .
pnpm install --frozen-lockfile
pnpm exec playwright install chromium
pnpm storybook
pnpm verify
pnpm pack
故事书以React/Vite框架运行于端口5012. Fixtures覆盖了原始人, shell 导航,认证布局,设置表,空态,以及图表. 使用主题工具栏进行轻/暗预览和响应的取景口进行移动布局. 每个组件都有一个Master故事,被命名的例子,可复制源和API参考. Show code 包括组成和本地调用样本,进口重写到公共软件包子路径;预览帮助器仍然未发布。 原生原始与"英雄"的API文档相链接.
发展规则在 一般事务人员(其他职等)。 。 。 . pnpm verify 包括严格的源/源类型检查、代码和CSS lint、测试、清洁构建、故事书导出、导航、通知、吐司、加载和剪贴板交互测试,以及这次检查以外的柏油球安装/类型/建设检查。 它保存了已核实的候选人,并在被忽略的地方报告 artifacts/ 文件夹。 已建声明包括地图到匹配的被包源.
浏览器大小写 test/browser/*.spec.mjs 一起跑过 pnpm test:browser 之后 pnpm build:storybook。共享固定用于导出并拥有主题设置和清理。 使用 Playwright 过滤器的现有命令来调查一个案件; 不为每个回归添加一个包脚本 。 报告和故障截图保留在 artifacts/browser/。 。 。 .
发布笔记在 变动情况来源和第三方归属 NOTICE 财务报告和审定财务报表 LICENSE。 。 。 .
出版
调取请求并推向 main 运行每个部分 pnpm verify 平行工作,一起报告为 verify 检查。 稳定版本标签( S)v1.2.18例如,从该文物上向npmjs.org公开发表 main 运行标记下的承诺,在检查其完整性之后,而不是再次运行检查。 标签必须匹配 package.json 并指明一项承诺 main。更新版本并添加其 ## X.Y.Z (YYYY-MM-DD) 区域到更改日志,通过正常的审查进程,然后标记预定的承诺并按下标记以释放它.
出版工作使用 npm 信任的出版与 GitHub Actions OIDC 。 配置 avgeek-oss/oss-ds-web 和工作流程 ci.yml 在软件包的 npm 信任-publisher 设置中。 这份工作是 id-token: write; GitHub 机密中不存储任何出版令牌 .
CI下载了经过验证的柏油球,检查了它的SHA-512完整性,并在没有运行包生命周期脚本的情况下公布了这些精确的字节. 新的注册下载必须匹配该完整字节的字节,注册者必须声明相同的完整;被隔离的Vite和Next.js消费者已经在核查运行中的这些字节上运行了. 重试只有在其完整性与已核实的候选文本相匹配的情况下才接受现有版本;修改后的内容需要一个新的版本. 成功发布后,一个单独的工作创建或更新了该版本的标签的GitHub发布 CHANGELOG.md 节.
对于初始 npm 迁移,一个维护者会以交互方式发布已经核实的释放文物来创建软件包,然后配置其信任的出版商. 现有的 GitHub 套件仍然可供旧的锁文件使用. 公共npm设施不需要登记证书或 packages: read 允许.