感谢你对 AI 步步 (AIbubu) 的关注!以下是参与贡献的指引。
Thanks for your interest in AI 步步 (AIbubu)! Here's how to contribute.
- Node.js 22+
- pnpm 9+
- Rust (stable)
- Tauri 2 系统依赖 | Tauri 2 system dependencies: Tauri docs
git clone https://github.com/funAgent/ai-bubu.git
cd ai-bubu
pnpm install
pnpm tauri dev| 命令 | 说明 |
|---|---|
pnpm dev |
启动前端开发服务器 |
pnpm tauri dev |
启动 Tauri 开发模式 |
pnpm test |
运行测试 |
pnpm lint |
代码检查 |
pnpm format |
代码格式化 |
pnpm validate:skins |
校验皮肤资源一致性 |
pnpm dev:site |
启动官网开发服务器 |
本项目使用 Conventional Commits 规范,配合 commitlint 强制执行。
格式:type(scope): message
| Type | 说明 |
|---|---|
feat |
新功能 |
fix |
Bug 修复 |
docs |
文档变更 |
style |
代码格式(不影响逻辑) |
refactor |
重构 |
perf |
性能优化 |
test |
测试 |
chore |
构建/工具链变更 |
ci |
CI/CD 变更 |
| Scope | 说明 |
|---|---|
app |
桌面应用 |
site |
官网 |
skin |
皮肤系统 |
monitor |
活跃度监测 |
social |
社交功能 |
i18n |
国际化 |
ci |
CI/CD |
deps |
依赖更新 |
feat(skin): add pixel cat skin
fix(monitor): handle cursor SQLite lock on Windows
docs(site): update download links for v0.2.0
chore(deps): upgrade tauri to 2.11
为 AI 步步添加新皮肤是最简单的贡献方式之一。
- Fork 并克隆本仓库
- 在
packages/app/public/skins/下创建新目录(如my-skin/) - 添加
skin.json(必填字段:name,author,animations) - 添加
pet.png(精灵图) - 运行
pnpm validate:skins确认通过 - 提交 PR,commit 格式:
feat(skin): add xxx skin
{
"name": "My Skin",
"version": "1.0.0",
"author": "Your Name",
"description": "A cool custom skin",
"style": "pixel",
"format": "sprite",
"size": { "width": 24, "height": 24 },
"animations": {
"idle": {
"file": "pet.png",
"loop": true,
"sprite": {
"frameWidth": 24,
"frameHeight": 24,
"frameCount": 4,
"columns": 4,
"fps": 4,
"startFrame": 0
}
},
"walk": { ... },
"run": { ... },
"sprint": { ... }
}
}- 至少包含
idle动画 - 有效的动画状态:
idle,walk,run,sprint - 精灵图格式为 PNG
- 每个动画的
file必须指向实际存在的文件
为 AIbubu 添加新的 AI 工具监测支持。每个 Provider 是一个 TOML 配置文件。
Adding monitoring support for a new AI coding tool. Each provider is a TOML config file.
- 阅读 Provider 配置指南 了解架构和适配器类型
- 在
packages/app/providers/下创建your-tool.toml - 以
pnpm tauri dev启动开发模式,观察终端中的 monitor 日志验证检测 - 运行
node scripts/validate-providers.js确认配置通过校验 - 验证通过后将文件移到
packages/app/providers/根目录 - 提交 PR,commit 格式:
feat(monitor): add xxx provider,附上检测成功的终端日志截图
| Adapter | 适用场景 | 示例 |
|---|---|---|
sqlite |
IDE 类工具,本地 SQLite 数据库 | Cursor |
jsonl |
CLI 工具,会话日志为 JSONL 格式 | Claude Code、OpenCode |
process |
仅能通过进程检测活跃度 | Trae |
file_mtime |
工具会写入本地文件但非 JSONL/SQLite | — |
vscode_ext |
VS Code 扩展,数据存于 globalStorage | — |
详细配置模板和字段说明请参阅 Provider 配置指南。
- Fork 本仓库
- 创建特性分支:
git checkout -b feat/your-feature - 提交变更(遵循 commit 规范)
- 推送到你的 fork:
git push origin feat/your-feature - 创建 Pull Request
- 通过所有 CI 检查(lint、test、skin validation、provider validation)
- 如果添加了新功能,请同步更新文档
- 如果涉及 UI 变更,请附上截图
请使用 GitHub Issues 提交 Bug 报告,并尽量提供:
- 操作系统及版本
- AIbubu 版本
- 复现步骤
- 期望行为 vs 实际行为
- 相关日志或截图
如果你是项目维护者,请参阅 RELEASING.md 了解版本发布流程。
参与贡献即表示你同意你的贡献将在 MIT License 下发布。