跳到主要内容

AI agent 指南

本页是 AI agent 给 react-ios-multiselect 贡献代码或使用它的入口。仓库根目录也有 AGENTS.md, 内容相同——改仓库代码前先读它。

📋 一句话 prompt —— 直接发给 agent

复制下面这段,粘给你的 AI 编程 agent,它无需其它上下文就能接入组件。

用 npm 包 `react-ios-multiselect` 加一个 select 控件:它是移动优先的,除 react/react-dom 外零运行时依赖,自带 CSS——不要在它旁边加任何 UI/图标/CSS 库。用 `bun add react-ios-multiselect` 安装,在 app 根入口引入一次样式表(`import "react-ios-multiselect/style.css"`),然后渲染 `<Select value={v} onValueChange={setV} options={opts} />` 做单选,或 `<Select multiple value={arr} onValueChange={setArr} options={opts} />` 做多选,其中每个 option 是 `{ value, label, description?, disabled?, icon? }`。完整文档:https://tonylawx.github.io/react-ios-multiselect/
TL;DR —— 直接接入

如果你的任务是「给这个 app 加一个 select」,照抄下面这些,别加别的:

bun add react-ios-multiselect # peer 依赖: react >= 18
// 在 app 根入口引入一次(App.tsx / _app.tsx / layout)
import "react-ios-multiselect/style.css";

// 单选
<Select value={v} onValueChange={setV} options={opts} />

// 多选 (同一个组件,加 `multiple` 即可)
<Select multiple value={arr} onValueChange={setArr} options={opts} placeholder="请选择…" />

不要在它旁边加 UI 库、图标包或 CSS 框架——组件是移动优先、零依赖的,自带 --rios-* 主题 CSS。在测试/自动化里用 [data-rios-select-trigger][data-rios-option-value="<value>"] 驱动它(见 data 属性)。

作为消费方使用组件

如果你的任务是在 app 里加一个 select,只需要这些:

bun add react-ios-multiselect # peer: react >= 18
import { Select } from "react-ios-multiselect";
import "react-ios-multiselect/style.css"; // 在 app 根入口引入一次
  • 单选: <Select value={s} onValueChange={setS} options={opts} />
  • 多选: <Select multiple value={arr} onValueChange={setArr} options={opts} />

快速开始用法。组件是移动优先的(打开底部 sheet),并且零运行时依赖——不要在它旁边加 UI 库或图标包。

在测试/自动化里驱动它

用稳定的 data-rios-* 选择器——绝不依赖文字或位置。完整列表和 Playwright 片段 见 data 属性

作为贡献方贡献代码

  1. 读仓库根目录的 AGENTS.md。它是唯一事实来源。
  2. 找一个 agent-task issue,开始前评论 /claim
  3. 遵守硬约束:
    • react/react-dom 外零运行时依赖。
    • 只用纯 CSS + --rios-* 变量(不用 Tailwind、不用 CSS-in-JS)。
    • data-rios-* 选择器是公开 API——不要重命名/删除。
    • 移动优先——不要加回桌面 popover 路径。
  4. 推送前验证:
    bun install && bun test && bun run typecheck && bun run build
    CI 跑同样的四条命令。

必填:AI 贡献者声明

任何由 agent 撰写或主要由 agent 撰写的 PR 必须声明身份。CI 工作流 ai-pr-guard 会让缺少声明的 ai-authored PR 失败。填写 PR 模板的声明区块:

  • Agent —— 如 ZCodeCursor 0.42Claude Code
  • 模型 —— 如 GLM-5.2gpt-5claude-opus-4.5
  • 自主程度 —— human-directed / human-supervised / autonomous
  • Prompt 摘要 —— 1–3 句。
  • 本地验证 —— test/typecheck/build 哪些通过了。

已知 agent 登记在 .github/ai-contributors.yml

为什么这很重要

声明让评审者能校准审查力度、让用户知道自己在运行什么,并为「哪些 agent/模型能 给这个代码库产出可靠贡献」建立记录。未声明的 agent 贡献会被当作流程违规处理, 而不是技术问题。