Skip to content

Commit 34b74ae

Browse files
committed
docs: 添加项目级 AGENTS.md
1 parent 2531c6d commit 34b74ae

1 file changed

Lines changed: 94 additions & 0 deletions

File tree

AGENTS.md

Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
# AGENTS.md — CHUNITHM Modding Ecosystem
2+
3+
## 简称
4+
5+
| 简称 | 全名 | 仓库 | 说明 |
6+
|------|------|------|------|
7+
| **CCM** | ChuChartManager | MuNET-OSS/ChuChartManager | 谱面与资源管理工具(本仓库) |
8+
| **AppleChu** | AppleChu | MuNET-OSS/AppleChu | CHUNITHM 游戏 Mod(子模块) |
9+
| **Loader** | ChuModLoader | MuNET-OSS/ChuModLoader | Rust Mod 加载器(子模块) |
10+
11+
## 项目结构
12+
13+
```
14+
ChuChartManager/ # CCM 主仓库(monorepo)
15+
├── ChuChartManager/ # .NET 10 WinForms + ASP.NET Core 后端
16+
│ ├── Front/ # Vue 3 + TypeScript 前端(Vite + UnoCSS + MuNET-UI)
17+
│ ├── Controllers/ # REST API
18+
│ └── Resources/AppleChu/ # AppleChu manifest.toml + default_config.toml(与子模块同步)
19+
├── ChuChartManager.CLI/ # 命令行工具
20+
├── AppleChu/ # 子模块 → MuNET-OSS/AppleChu
21+
├── ChuModLoader/ # 子模块 → MuNET-OSS/ChuModLoader
22+
├── MuNET-UI/ # 子模块 → UI 组件库
23+
├── MuConvert/ # 子模块 → 谱面格式转换
24+
├── SonicAudioTools/ # 子模块 → CRIWARE 音频处理
25+
├── XV2-Tools/ # 子模块 → ACB/AWB 音频工具
26+
├── DDSExtractor/ # 子模块 → DDS 纹理提取
27+
├── FreeMote/ # 子模块 → E-mote PSB 工具链
28+
├── FreeMote-SDK/ # 子模块 → E-mote WebGL 驱动
29+
└── Packaging/ # MSIX 打包脚本
30+
```
31+
32+
## 技术栈
33+
34+
| 项目 | 语言 | 框架 |
35+
|------|------|------|
36+
| CCM 后端 | C# | .NET 10 + ASP.NET Core + WinForms |
37+
| CCM 前端 | TypeScript | Vue 3 + Vite + UnoCSS + SASS |
38+
| AppleChu | Rust (nightly, i686) | ChuModLoader SDK |
39+
| Loader | Rust | version.dll proxy |
40+
41+
## 规则
42+
43+
### Git
44+
45+
- **不要自动 push** — 只在用户明确说 push 时才推
46+
- **不要未经确认 commit** — 改完等用户确认
47+
- commit 带签名:`git -c gpg.format=ssh commit -S -m "..."`,如果失败就不带签名
48+
- commit message 用中文,conventional commits 格式,统一 commit 风格
49+
50+
### AppleChu
51+
52+
- ExitConfirm 和 DeviceLostFix 是 `always_enabled`
53+
- 代码注释只用于:逆向工程 magic number、COM vtable 偏移、汇编字节
54+
55+
### CCM
56+
57+
- `Resources/AppleChu/manifest.toml``default_config.toml` 必须与 AppleChu 子模块保持同步
58+
- 保存配置时基于 `default_config.toml` 模板用户,和 Mod 生成的配置文件保持一致
59+
- 配置文件不存在时自动从 default_config.toml 生成
60+
61+
### 前端
62+
63+
- SASS **缩进语法**(不是 SCSS)
64+
- 组件库:`@munet/ui`(MuNET-UI 子模块)
65+
- 深色玻璃主题:`backdrop-filter: blur``rgba` 半透明、`var(--text-color)` 派生颜色
66+
- 不引入新 npm 依赖除非必要
67+
68+
### 已知阻塞
69+
70+
| 功能 | 原因 |
71+
|------|------|
72+
| 自定义分辨率 | Segatools 先于 mod 创建 D3D9 设备 |
73+
| FPS 显示 OSD | 同上,Present hook 不生效 |
74+
75+
## 构建
76+
77+
```bash
78+
# CCM 前端
79+
cd ChuChartManager/Front && pnpm install && pnpm build
80+
81+
# CCM 后端
82+
dotnet build ChuChartManager.slnx
83+
84+
# AppleChu
85+
cd AppleChu && cargo build --release
86+
# 输出: target/i686-pc-windows-msvc/release/AppleChu.dll
87+
88+
# Loader
89+
cd ChuModLoader && cargo build --release
90+
91+
# MSIX 打包
92+
.\Packaging\Build.ps1 -Mode Canary # PowerShell
93+
./Packaging/build.sh Canary # Bash
94+
```

0 commit comments

Comments
 (0)