# Contributing ## 版本控制 本仓库使用 **[Jujutsu (jj)](https://jj-vcs.dev/)**。请勿使用 `git` 命令。 ```bash jj log # 查看历史 jj status # 查看状态 jj new # 创建新变更 jj commit # 提交 jj rebase # 变基 jj squash # 合并提交 jj git push # 推送到远端 ``` 详见 [AGENTS.md](AGENTS.md) 的「版本控制」章节。 ## 本地开发 ```bash # 复制环境变量 cp deploy/.env.example .env # 填写数据库连接等配置后 cargo build cargo test --locked ``` ## 提交前检查 每次提交前必须通过: ```bash cargo fmt -- --check cargo clippy --locked -- -D warnings cargo test --locked ``` 或使用脚本: ```bash ./scripts/release-check.sh ``` ## 发版规则 涉及 `crates/**`、根目录 `Cargo.toml`/`Cargo.lock`、`secrets-mcp` 行为变更的提交,默认需要发版。 1. 检查 `crates/secrets-mcp/Cargo.toml` 的 `version` 2. 运行 `jj tag list` 确认对应 tag 是否已存在 3. 若 tag 已存在且有代码变更,**必须 bump 版本**并 `cargo build` 同步 `Cargo.lock` 4. 通过 release-check 后再提交 详见 [AGENTS.md](AGENTS.md) 的「提交 / 推送硬规则」章节。