# 贡献指南 感谢帮助改进写作工作台。请先确认版本:**v8 的 PR 目标是 v8;v6 的 PR 目标是 master**。Fork 后默认展示 master 并不表示应从那里开发 v8。 ## 本地开发 从公开分支建立主题分支,例如 `git switch -c fix/install-help origin/v8`。使用 Node 24.15.0、pnpm 11.27.1,按 [开发说明](docs/development.md) 安装依赖和运行检查。无需任何内部开发工具或私人资料。 常规检查不需要模型密钥。测试与截图使用合成书仓;不要提交自己的 API key、启动 token、完整对话或私人小说。 ## Issue - Bug:精确安装包版本、Node/DSH/OS、安装方式、最小复现、预期与实际、脱敏日志;模型相关问题另填 provider/model。 - 功能建议:描述写作场景、遇到的问题和希望获得的结果。较大的流程或格式改动先讨论方案。 - 文档:给出文档路径和失效步骤。普通使用交流进入 [Discussions](https://github.com/lingfengQAQ/webnovel-writer/discussions)。 - 安全问题按 [安全政策](SECURITY.md) 私下报告。 ## Pull Request 一个 PR 解决一个可解释的问题。小文档修正无需先开 Issue。标题用 `fix(scope): ...`、`feat(scope): ...`、`docs: ...` 或 `chore: ...`,中文说明可以。 正文写清问题、最终行为、关联 Issue、实际运行的检查,以及兼容性/数据影响。不要粘贴 AI 对话;使用 AI 辅助也需要提交者理解并验证代码。 - 行为修复带有价值的回归测试;UI 变更附合成数据截图。 - 技能/提示词属于运行代码,说明流程和模型调用影响。 - 修改书仓格式、定稿通道、权限、依赖许可证或 CI 时,说明回退边界和审查重点。 - 依赖变化提交锁文件;公开源码应保持在新目录独立构建,不能依赖个人路径。 - 用户可感知变化补 CHANGELOG 的 Unreleased;仅文档修正不需要每次 bump 包版本。 CI 通过、讨论解决并经维护者复核后合入,通常使用 squash merge;保留原作者和有效共同作者署名。单维护者自己的改动也通过 PR 留记录,不强制一位不存在的第二维护者审批。 所有贡献按本项目 GPL-3.0-only 接收。请确认你有权提交内容、保留必要版权和第三方许可声明;本项目不另要求签署 CLA。相处规则见 [行为准则](CODE_OF_CONDUCT.md)。 ## 合入与发布 公开主线和发行 tag 不强推、不改写。Bug 修复可先合入,随后在发行说明中注明修复版本;合入并不自动代表已经发行。精确发布流程见 [发行维护说明](docs/maintenance/releasing.md)。