💗 NoteGen 是一个开源且免费的社区项目,我们将持续为爱发电,并接受任何形式的贡献。 💗
Hi! 非常感谢你参与 NoteGen 的贡献!在此之前,请花一些时间阅读以下内容:
不论是贡献代码还是提交问题,都应该先创建 Issue,如果想接管某条 Issue,可以在此 Issue 下留言,“我想开发这个功能/修复这个 bug”,请关注 Assignees 是否未指定任何开发者,我们会尽快指定你。
请始终使用 https://github.com/codexu/note-gen/issues 创建新问题,尽量详细描述问题,包括重现步骤、预期行为和实际行为。
如果你想发起讨论,可以使用 https://github.com/codexu/note-gen/discussions,或加入 交流群。
- 在修复 bug 前,请先检查 issues 是否具有相同的问题。
- 如果你要开发一个功能,请先提交 issue,与项目维护者讨论该功能是否被需要,这有助于节省维护者和贡献者的时间。
NoteGen 主要用到以下几个技术栈:
-
查看 package.json 中前端依赖包。
-
查看 src-tauri/Cargo.toml 中 Rust 依赖包。
如果你本次贡献需要更新或添加依赖,请在 issue 中添加 package.json 或 src-tauri/Cargo.toml 的更新说明。
请先阅读 Tauri 2 前置要求 文档,按照文档要求配置开发环境。
环境装好后,fork 仓库到你的 GitHub 账号下,然后克隆到本地:
# 1. fork 到你的 GitHub 账号下
# 2. 克隆到本地
git clone https://github.com/your-username/note-gen.git然后进入项目目录,安装依赖:
# 3. 进入项目目录 & 安装依赖
cd note-gen
pnpm install
# 4. 启动本地开发,如果遇到白屏情况,尝试右键 reload。
pnpm tauri devsrc:前端应用目录。apps:前端应用目录。core:主应用核心功能目录。article:写作。image:图床管理。record: 记录。search:搜索。setting:设置。
mobile:移动端目录。
components:组件目录,shadcn 和通用组件。lib:常用工具库,例如 ai、github 请求等。db:SQLite 数据库。store:状态管理目录,采用 zustand。
src-tauri:Rust 代码目录。messages:多语言配置目录。
NoteGen 未使用 master 或 main 分支,一切发开都在 dev 分支下进行,通过合并到 release 分之后触发 Github Action 进行版本发布和构建。
Fork 仓库后,请使用 dev 分支创建一个新的分支,命名为本次贡献的名称,例如 fix/123 或 feat/121。
你可以多次提交代码,直到完成所有修改,在提交 Pull Request 时,我们会通过 Squash and Merge 合并成一个提交。
请在 PR 标题中添加 fix(#xxx): *** 或 feat(#xxx): ***,#xxx 是 issue 编号,例如 NoteGen 更新计划 #46。
在提交 PR 前,确保本地运行 pnpm tauri build 可以正常构建及运行。