贡献指南
感谢你对 FylloCode 的兴趣。这个页面说明如何在本地搭建开发环境、如何提交代码,以及参与贡献时需要注意的基本约定。FylloCode 自身就是用 FylloCode 开发的,完整的实践方式见用 FylloCode 开发 FylloCode。
开发环境
依赖要求:
- Node.js 22+
- pnpm 10+
本地启动:
bash
git clone https://github.com/Fioooooooo/FylloCode.git
cd FylloCode
pnpm install
pnpm dev推荐使用打包版开发
FylloCode 自身也在用 FylloCode 开发。参与贡献时,推荐使用 Releases 中的打包版本打开 FylloCode 仓库,而不是用 pnpm dev 启动的版本来驱动 Apply。
原因是开发模式有热重载。Apply 阶段修改源码后,热重载可能打断正在进行的工作流。打包版本没有这个问题。
推荐流程:
- 下载最新 Release
- 打开 FylloCode 仓库作为项目
- (可选)在 Task 中描述你要做的改动
- 在对话里和 Agent 收敛方案,按改动性质选择直接实现、Plan 还是 Proposal,再走 Apply & Archive
- 回到代码仓库检查 diff 和验证结果
提交流程
小改动可以直接开 PR,例如:
- typo
- 文档修正
- 小 bug
- 测试补充
大改动建议先开 Issue 讨论,例如:
- 新功能
- 架构调整
- 行为变化
- IPC、共享类型或存储格式变化
- 大范围重构
PR 需要保持聚焦,标题清楚说明改了什么。如果影响用户可见行为,需要在 PR 描述中说明影响范围。
Issue 规范
报 bug 时请说明:
- 复现步骤
- 实际行为
- 期望行为
- 系统信息和 FylloCode 版本
提需求时请描述具体场景和遇到的问题,不需要一开始就给出完整方案。
代码风格
提交前至少运行:
bash
pnpm lint
pnpm typecheckcommit message 格式:
text
type(scope): summary
- 可选的补充说明,用 bullet 列出关键变更点常用 type:
featfixrefactordocschoreperftest
scope 对应模块或功能区域,例如 overview、chat、proposal、specs、acp、lineage 等。
维护者发版
准备 FylloCode Release 时,向 Agent 提供精确的目标应用版本,并使用仓库内的 prepare-release skill。该流程会:
- 以最近语义化版本标签到
HEAD为发布范围,核对归档规约、实现和测试。 - 对每项已发布变更完成中英文文档审计,更新两份根 changelog 和
package.json。 - 按各自变更边界独立判断
fyllo-specs与fyllo-cortex版本。 - 准备中英文 release notes,并运行 lint、typecheck 和测试。
构建与打包命令只有在当前对话获得明确授权后才能运行。release commit、annotated tag、push 和 GitHub Release publish 是四个独立审批点;“准备发版”不会自动授权后续步骤。
许可证
FylloCode 使用 MIT 许可证。