Initialize Phase 0 monorepo skeleton (T-001)
This commit is contained in:
@@ -45,7 +45,7 @@ SoftBox 软件盒子是一个使用 Go + Gio 开发的 Windows 桌面客户端,
|
||||
|
||||
## 当前阶段
|
||||
|
||||
当前项目处于:**MVP 起步(Phase 0 工程骨架尚未建立,仓库只有文档)**。
|
||||
当前项目处于:**MVP 起步(Phase 0 工程骨架建设中)**。
|
||||
|
||||
优先路径:
|
||||
|
||||
@@ -133,14 +133,14 @@ MVP 不做:
|
||||
|
||||
## 验证命令
|
||||
|
||||
统一启动与验证入口收敛到根目录 `./init.sh` / `./init.ps1`;T-001 完成前脚本处于未配置状态。骨架建立后的标准命令:
|
||||
统一启动与验证入口收敛到根目录 `./init.sh` / `./init.ps1`;脚本会同步工作区依赖并运行 core 基础验证。标准命令:
|
||||
|
||||
```bash
|
||||
# core 测试(Linux 无头可跑)
|
||||
cd core && go vet ./... && go test -count=1 ./...
|
||||
|
||||
# 现代版构建
|
||||
cd app-modern && GOOS=windows GOARCH=amd64 go build ./cmd/softbox
|
||||
cd app-modern && GOTOOLCHAIN=go1.25.0 GOOS=windows GOARCH=amd64 go build ./cmd/softbox
|
||||
|
||||
# Win7 版构建(强制 Go 1.20)
|
||||
cd app-win7 && GOTOOLCHAIN=go1.20.14 GOOS=windows GOARCH=amd64 go build ./cmd/softbox
|
||||
|
||||
@@ -35,17 +35,19 @@
|
||||
|
||||
## 三、构建与运行命令
|
||||
|
||||
> 工程骨架由 T-001 建立;骨架完成前以下命令不可运行,`init.sh`/`init.ps1` 会主动失败提示。骨架完成后,T-001 必须把真实命令回填到本表、`00-ai-start-here.md`、`current-state.md` 和 init 脚本顶部三个变量。
|
||||
> 工程骨架由 T-001 建立;根目录 `init.sh`/`init.ps1` 统一执行依赖同步与 core 基础验证,并打印双目标构建命令。
|
||||
|
||||
| 用途 | 命令(计划) |
|
||||
| --- | --- |
|
||||
| 同步工作区依赖 | `go work sync` |
|
||||
| core 测试 | `cd core && go test -count=1 ./...` |
|
||||
| core 静态检查 | `cd core && go vet ./...` |
|
||||
| 现代版构建 | `cd app-modern && GOOS=windows GOARCH=amd64 go build -o ../dist/SoftBox.exe ./cmd/softbox` |
|
||||
| 现代版构建 | `cd app-modern && GOTOOLCHAIN=go1.25.0 GOOS=windows GOARCH=amd64 go build -o ../dist/SoftBox.exe ./cmd/softbox` |
|
||||
| Win7 版构建 | `cd app-win7 && GOTOOLCHAIN=go1.20.14 GOOS=windows GOARCH=amd64 go build -o ../dist/SoftBox-win7.exe ./cmd/softbox` |
|
||||
| 本地运行(开发) | Windows 下直接 `go run ./cmd/softbox`(WSL 中构建 EXE 后到 Windows 侧运行) |
|
||||
|
||||
根 `go.work` 纳入三个模块并使用 modern 所需的 Go 1.25 workspace 版本;`app-win7/go.work` 是就近的 Go 1.20 workspace,只纳入 `app-win7` 与 `core`,确保 Go 1.20.14 不需要解析 modern 模块。
|
||||
|
||||
工具链矩阵:
|
||||
|
||||
| 构建目标 | 工具链 | Gio | 支持系统 | 维护策略 |
|
||||
|
||||
+21
-17
@@ -13,26 +13,26 @@
|
||||
## 当前快照
|
||||
|
||||
- 日期:2026-07-16
|
||||
- 阶段:MVP 起步(Phase 0 未开始,仓库只有 harness 文档,无任何 Go 代码)
|
||||
- 技术栈:已定稿于 `03-tech-stack.md`(Go + Gio,双工具链矩阵),尚未落地
|
||||
- 生产代码:无;`core/`、`app-modern/`、`app-win7/`、`schemas/`、`testdata/` 均待 T-001 创建
|
||||
- 测试:无
|
||||
- 阶段:MVP 起步(Phase 0 工程骨架建设中)
|
||||
- 技术栈:根 Go workspace 纳入 core/app-modern/app-win7 三模块;`app-win7/go.work` 隔离 Go 1.20.14 构建;Gio UI 与平台 stub 待后续 Phase 0 任务接入
|
||||
- 生产代码:已有最小 core 包与 modern/win7 命令入口;尚无业务功能
|
||||
- 测试:core 已有最小真实单元测试
|
||||
- 数据:无;Catalog 清单与测试样例待建
|
||||
- 标准启动路径:`./init.sh` / `./init.ps1`(**尚未配置**,顶部三个命令仍为占位符,运行会主动失败提示——T-001 负责替换)
|
||||
- 标准验证路径:同上,未配置
|
||||
- 标准启动路径:`./init.sh` / `./init.ps1`(同步依赖、验证 core、打印 modern/win7 双目标构建命令)
|
||||
- 标准验证路径:`go -C core vet ./...` + `go -C core test -count=1 ./...`;双目标构建命令见下文
|
||||
- 版本管理:git 已初始化,main 分支,远端 origin 为 Gitea `opc/soft_quay`;harness 文档已提交
|
||||
- 当前 blocker:无;下一步即领取 T-001
|
||||
- 当前 blocker:无;下一步按路线图落成并领取 T-002
|
||||
|
||||
## 当前目录要点
|
||||
|
||||
| 路径 | 状态 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `docs/` | 已有 | harness coding 文档集(本次初始化完成) |
|
||||
| `docs/tasks/` | 已有 | 任务目录;T-001 已落成任务文件待领取 |
|
||||
| `docs/tasks/` | 已有 | 任务目录;T-001 已完成,T-002 待按路线图落成 |
|
||||
| `scripts/` | 已有 | harness 治理脚本(validate_agent_context 等);构建脚本待建 |
|
||||
| `core/` | 待建 | 共享业务核心(T-001) |
|
||||
| `app-modern/` | 待建 | 现代版模块(T-001) |
|
||||
| `app-win7/` | 待建 | Win7 遗留版模块(T-001) |
|
||||
| `core/` | 已建 | Go 1.20 兼容共享模块;当前仅最小包与测试 |
|
||||
| `app-modern/` | 已建 | Go 1.25.0 + Gio v0.10.1 模块;当前为无 UI 命令入口 |
|
||||
| `app-win7/` | 已建 | Go 1.20 + Gio v0.6.0 模块;当前为无 UI 命令入口 |
|
||||
| `schemas/` | 待建 | 协议 JSON Schema(T-201) |
|
||||
| `testdata/` | 待建 | 假数据测试样例(T-101 起) |
|
||||
|
||||
@@ -40,18 +40,22 @@
|
||||
|
||||
任务状态以 `docs/tasks/` 各任务文件 frontmatter 的 `status` 为准。本节只写项目级摘要:
|
||||
|
||||
- 已完成:无。
|
||||
- 已完成:`T-001 初始化 monorepo 骨架`。
|
||||
- 正在进行:无。
|
||||
- 下一个可领取任务:`T-001 初始化 monorepo 骨架`(`docs/tasks/T-001.md`)。
|
||||
- 下一个可领取任务:按路线图落成并领取 `T-002 建立 domain 状态模型与事件总线`。
|
||||
|
||||
## 当前可运行内容
|
||||
|
||||
```bash
|
||||
# 目前仅文档治理检查可运行:
|
||||
python3 scripts/validate_agent_context.py
|
||||
python3 scripts/validate_harness_governance.py
|
||||
# 统一依赖同步 + core 验证:
|
||||
./init.sh
|
||||
# Windows PowerShell 使用 ./init.ps1
|
||||
|
||||
# Go 构建 / 测试:骨架未建立,暂不可运行(见 T-001)
|
||||
# 独立验证:
|
||||
go -C core vet ./...
|
||||
go -C core test -count=1 ./...
|
||||
GOTOOLCHAIN=go1.25.0 GOOS=windows GOARCH=amd64 go -C app-modern build ./cmd/softbox
|
||||
GOTOOLCHAIN=go1.20.14 GOOS=windows GOARCH=amd64 go -C app-win7 build ./cmd/softbox
|
||||
```
|
||||
|
||||
## 开始编码前检查
|
||||
|
||||
+12
-4
@@ -3,12 +3,12 @@ id: T-001
|
||||
title: 初始化 monorepo 骨架(core / app-modern / app-win7 + go.work)
|
||||
phase: 0
|
||||
deps: []
|
||||
status: TODO
|
||||
status: DONE
|
||||
created: 2026-07-16
|
||||
issue: null
|
||||
context_ref: null
|
||||
context_ref: 0184595cccc3a516628fc6077c558b84606ad806
|
||||
claim_branch: null
|
||||
work_branch: null
|
||||
work_branch: agent/codex/T-001
|
||||
write_paths:
|
||||
- docs/tasks/T-001.md
|
||||
- go.work
|
||||
@@ -60,4 +60,12 @@ write_paths:
|
||||
|
||||
## 执行记录
|
||||
|
||||
(做完在此记录:改了哪些文件、跑的验证命令与结果、阻塞、关键决策。)
|
||||
- 2026-07-16:创建根 `go.work`、`core` / `app-modern` / `app-win7` 三个模块、最小命令入口、core 真实单元测试及预留包目录。
|
||||
- 2026-07-16:根 workspace 使用 Go 1.25 并纳入三个模块;额外创建 `app-win7/go.work`(Go 1.20,仅含 win7 + core),使 Go 1.20.14 不必解析 modern 模块,同时保持 app → core 的依赖方向。
|
||||
- 2026-07-16:替换 `init.sh` / `init.ps1` 占位命令并同步 `00-ai-start-here.md`、`03-tech-stack.md`、`current-state.md`。
|
||||
- 验证通过:`go work sync`。
|
||||
- 验证通过:`cd core && go vet ./... && go test -count=1 ./...`。
|
||||
- 验证通过:`cd app-modern && GOTOOLCHAIN=go1.25.0 GOOS=windows GOARCH=amd64 go build -o ../dist/SoftBox.exe ./cmd/softbox`。
|
||||
- 验证通过:`cd app-win7 && GOTOOLCHAIN=go1.20.14 GOOS=windows GOARCH=amd64 go build -o ../dist/SoftBox-win7.exe ./cmd/softbox`。本机镜像下载 toolchain 失败后,使用 Go 官方 `golang.org/dl/go1.20.14` 下载并验证同一版本工具链。
|
||||
- 验证通过:`./init.ps1` 与 Git Bash `./init.sh`。
|
||||
- 验证通过:`python scripts/validate_agent_context.py`、`python scripts/validate_harness_governance.py`。
|
||||
|
||||
Reference in New Issue
Block a user