mirror of
https://github.com/Yuyi-Oak/BlueArchiveToolkit.git
synced 2026-09-18 07:24:55 +08:00
109 lines
3.2 KiB
Markdown
109 lines
3.2 KiB
Markdown
# 稳定工程基线指南
|
||
|
||
- **更新时间**:2026-07-26
|
||
- **目标**:让工作区处于可继续开发核心功能的可信状态。
|
||
|
||
---
|
||
|
||
## 1. 基线定义
|
||
|
||
当前阶段的稳定基线不是完整产品完成,而是满足以下条件:
|
||
|
||
1. Git 仓库可用,`git status --short --branch` 能正常执行。
|
||
2. 根目录只保留入口文档和工程配置。
|
||
3. 旧报告归档,且不再和当前状态混淆。
|
||
4. Rust workspace 成员显式列出。
|
||
5. Go 产品入口尚未完成时,Makefile 不把骨架包误报为完整产品。
|
||
6. 当前缺口有集中清单和关闭顺序。
|
||
7. 架构边界有 ADR 记录。
|
||
8. 基础验证命令通过。
|
||
9. Rust 官方资源同步入口有明确运行文档和生产边界。
|
||
|
||
---
|
||
|
||
## 2. 当前验证命令
|
||
|
||
必须通过:
|
||
|
||
```bash
|
||
make test
|
||
make check
|
||
make lint
|
||
```
|
||
|
||
等价底层命令:
|
||
|
||
```bash
|
||
cargo test --workspace
|
||
cargo check --workspace
|
||
cargo clippy --workspace --all-targets -- -D warnings
|
||
go test ./...
|
||
go vet ./...
|
||
```
|
||
|
||
说明:
|
||
|
||
1. 当前已有 `internal/backendrpc` fake socket 单测、`cmd/bat` 试验骨架和 `internal/ffi` 兼容包装;这些不代表 CLI/API 产品入口已完成。
|
||
2. 后续新增 Go 产品 package,必须让 `go test ./...` 和 `go vet ./...` 纳入硬性验证。
|
||
3. 当前 `golangci-lint` 可选;当 Go 代码进入主要开发阶段后,应纳入本地门禁。
|
||
4. 官方同步相关修改必须额外运行 `cargo test -p bat-infrastructure --bin bat -- --nocapture`。
|
||
|
||
---
|
||
|
||
## 3. Git 基线
|
||
|
||
当前工作区原 `.git/` 是空目录,无法恢复原历史。本基线采用新初始化仓库,并以首次提交作为后续开发起点。
|
||
|
||
首次提交信息:
|
||
|
||
```text
|
||
chore: establish development baseline
|
||
```
|
||
|
||
提交前检查:
|
||
|
||
```bash
|
||
git status --short --branch
|
||
git check-ignore -v Cargo.lock CLAUDE.md AGENTS.md CONTRIBUTING.md
|
||
```
|
||
|
||
`Cargo.lock`、`CLAUDE.md`、`AGENTS.md` 和 `CONTRIBUTING.md` 必须纳入版本控制。
|
||
|
||
---
|
||
|
||
## 4. 不纳入基线的内容
|
||
|
||
以下内容应继续忽略:
|
||
|
||
1. `target/`
|
||
2. `.env`
|
||
3. `*.db`
|
||
4. `*.sqlite`
|
||
5. `logs/`
|
||
6. `node_modules/`
|
||
7. 构建压缩包
|
||
8. 本地 CAS 数据目录
|
||
|
||
---
|
||
|
||
## 5. 下一阶段入口
|
||
|
||
CAS V1 和 Rust 官方同步闭环完成后,下一阶段优先推进:
|
||
|
||
1. 继续联调 Go `bat-api` 与 Rust daemon 的资源分发路径;Go 同步 CLI 不再作为产品目标。
|
||
2. 按 `docs/guides/official-full-pull-smoke.md` 在隔离目录执行真实官方网络全量下载 smoke,并保留运行报告。
|
||
3. 将 `crowdin-textunit-queue.json` 接入真实 Crowdin worker、翻译记忆和 Patch 构建。
|
||
4. 扩展 ResourceRepository 查询面:真实 worker 状态写回、CAS 诊断入口和更丰富 TextUnit 查询。
|
||
5. 继续完善 AssetBundle 复杂对象解析、复杂对象重打包和 Patch 发布流程统一;通用 Binary/JSON/Text Patch 基础与 UnityFS TextAsset patch 发布前置链路已可用。
|
||
|
||
优先阅读:
|
||
|
||
1. `PROJECT_PLAN.md`
|
||
2. `CURRENT_STATUS.md`
|
||
3. `docs/reports/CURRENT_GAPS.md`
|
||
4. `docs/guides/official-resource-test-pull.md`
|
||
5. `docs/guides/official-full-pull-smoke.md`
|
||
6. `docs/architecture/official-resource-backend.md`
|
||
7. `docs/architecture/adr/0001-engine-and-application-boundaries.md`
|
||
8. `docs/architecture/adr/0002-cas-v1-design-boundary.md`
|