W / CONTRIBUTING.md
Ac66's picture
Upload folder using huggingface_hub
2b64d42 verified
# 贡献指南 / Contributing
感谢想贡献代码 / Thanks for wanting to contribute.
## 简体中文
### 开始之前
- 想加功能请先开 issue 讨论 免得撸完 PR 方向不对被打回
- 想修 bug 直接提 PR 就行 小改不用先开 issue
- 想改 README / docs 直接 PR
- 不清楚项目结构 看 [README](README.md) 的 "它到底在干嘛" 章节 和 `src/` 下每个文件顶部的注释
### 代码风格
- 项目是 **零 npm 依赖**`node:*` 内置模块 PR 里不要 `npm install` 新包
- 用 ES Modules (`import/export`) 和 async/await
- 缩进 2 空格 单引号 带分号
- 新文件放 `src/` 对应目录 命名和现有保持一致
- LS 协议相关改动(`windsurf.js` / `proto.js` / `grpc.js`)改字段号时 在 PR 描述里注明来源(参考 proto 文件 / 反编译发现等)
- Dashboard UI 不要用 `alert()` / `confirm()` / `prompt()``App.confirm()` / `App.prompt()`
### Commit & PR
- commit 格式 `type: 简短说明` 例如 `fix: chat stream 漏 usage 字段`
- type 用 `feat` / `fix` / `refactor` / `docs` / `chore`
- 标题写清楚改了啥 Body 写为什么改 而不是怎么改(diff 自己会说)
- 一个 PR 解决一件事 多件事拆开提
### 测试
项目暂无自动测试 手动验证即可 最好在 PR 描述里贴上:
- 跑了什么 curl 命令
- dashboard 哪个面板点了
- 复测了哪些模型(gpt-4o-mini 这类免费模型最方便)
### CI
GitHub Actions 跑 `node --check` 做语法校验 过了就可以 review。
---
## English
### Before you start
- Got a feature idea? Open an issue first so we can discuss direction.
- Fixing a bug? Just send the PR.
- README / docs changes? Just send the PR.
- Unclear about project structure? See [README](README.md) "What it does" section and the header comments in each `src/` file.
### Code style
- **Zero npm dependencies** — pure `node:*` builtins only. No `npm install` in PRs.
- ES Modules (`import/export`), async/await.
- 2-space indent, single quotes, semicolons.
- Put new files under `src/` in the matching directory. Follow existing naming.
- LS protocol changes (`windsurf.js` / `proto.js` / `grpc.js`): note the source of any new field numbers in the PR description.
- Dashboard UI: use `App.confirm()` / `App.prompt()` instead of native `alert()` / `confirm()` / `prompt()`.
### Commits & PRs
- Format: `type: short description` e.g. `fix: chat stream missing usage field`.
- Types: `feat` / `fix` / `refactor` / `docs` / `chore`.
- Title = what changed. Body = why (the diff speaks for how).
- One PR per concern. Split unrelated changes.
### Testing
No automated test suite yet. Manual verification is fine. In the PR description, include:
- What curl commands you ran
- Which dashboard panels you clicked through
- Which models you tested (free ones like `gpt-4o-mini` are easiest)
### CI
GitHub Actions runs `node --check` for syntax. Green CI is enough to ship to review.