Files
zeling_v2/CLAUDE.md
2026-06-05 18:41:33 +08:00

172 lines
7.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!-- rtk-instructions v2 -->
# RTK (Rust Token Killer) - Token-Optimized Commands
## Golden Rule
**Always prefix commands with `rtk`**. If RTK has a dedicated filter, it uses it. If not, it passes through unchanged. This means RTK is always safe to use.
**Important**: Even in command chains with `&&`, use `rtk`:
```bash
# ❌ Wrong
git add . && git commit -m "msg" && git push
# ✅ Correct
rtk git add . && rtk git commit -m "msg" && rtk git push
```
## RTK Commands by Workflow
### Build & Compile (80-90% savings)
```bash
rtk cargo build # Cargo build output
rtk cargo check # Cargo check output
rtk cargo clippy # Clippy warnings grouped by file (80%)
rtk tsc # TypeScript errors grouped by file/code (83%)
rtk lint # ESLint/Biome violations grouped (84%)
rtk prettier --check # Files needing format only (70%)
rtk next build # Next.js build with route metrics (87%)
```
### Test (60-99% savings)
```bash
rtk cargo test # Cargo test failures only (90%)
rtk go test # Go test failures only (90%)
rtk jest # Jest failures only (99.5%)
rtk vitest # Vitest failures only (99.5%)
rtk playwright test # Playwright failures only (94%)
rtk pytest # Python test failures only (90%)
rtk rake test # Ruby test failures only (90%)
rtk rspec # RSpec test failures only (60%)
rtk test <cmd> # Generic test wrapper - failures only
```
### Git (59-80% savings)
```bash
rtk git status # Compact status
rtk git log # Compact log (works with all git flags)
rtk git diff # Compact diff (80%)
rtk git show # Compact show (80%)
rtk git add # Ultra-compact confirmations (59%)
rtk git commit # Ultra-compact confirmations (59%)
rtk git push # Ultra-compact confirmations
rtk git pull # Ultra-compact confirmations
rtk git branch # Compact branch list
rtk git fetch # Compact fetch
rtk git stash # Compact stash
rtk git worktree # Compact worktree
```
Note: Git passthrough works for ALL subcommands, even those not explicitly listed.
### GitHub (26-87% savings)
```bash
rtk gh pr view <num> # Compact PR view (87%)
rtk gh pr checks # Compact PR checks (79%)
rtk gh run list # Compact workflow runs (82%)
rtk gh issue list # Compact issue list (80%)
rtk gh api # Compact API responses (26%)
```
### JavaScript/TypeScript Tooling (70-90% savings)
```bash
rtk pnpm list # Compact dependency tree (70%)
rtk pnpm outdated # Compact outdated packages (80%)
rtk pnpm install # Compact install output (90%)
rtk npm run <script> # Compact npm script output
rtk npx <cmd> # Compact npx command output
rtk prisma # Prisma without ASCII art (88%)
```
### Files & Search (60-75% savings)
```bash
rtk ls <path> # Tree format, compact (65%)
rtk read <file> # Code reading with filtering (60%)
rtk grep <pattern> # Search grouped by file (75%). Format flags (-c, -l, -L, -o, -Z) run raw.
rtk find <pattern> # Find grouped by directory (70%)
```
### Analysis & Debug (70-90% savings)
```bash
rtk err <cmd> # Filter errors only from any command
rtk log <file> # Deduplicated logs with counts
rtk json <file> # JSON structure without values
rtk deps # Dependency overview
rtk env # Environment variables compact
rtk summary <cmd> # Smart summary of command output
rtk diff # Ultra-compact diffs
```
### Infrastructure (85% savings)
```bash
rtk docker ps # Compact container list
rtk docker images # Compact image list
rtk docker logs <c> # Deduplicated logs
rtk kubectl get # Compact resource list
rtk kubectl logs # Deduplicated pod logs
```
### Network (65-70% savings)
```bash
rtk curl <url> # Compact HTTP responses (70%)
rtk wget <url> # Compact download output (65%)
```
### Meta Commands
```bash
rtk gain # View token savings statistics
rtk gain --history # View command history with savings
rtk discover # Analyze Claude Code sessions for missed RTK usage
rtk proxy <cmd> # Run command without filtering (for debugging)
rtk init # Add RTK instructions to CLAUDE.md
rtk init --global # Add RTK to ~/.claude/CLAUDE.md
```
## Token Savings Overview
| Category | Commands | Typical Savings |
|----------|----------|-----------------|
| Tests | vitest, playwright, cargo test | 90-99% |
| Build | next, tsc, lint, prettier | 70-87% |
| Git | status, log, diff, add, commit | 59-80% |
| GitHub | gh pr, gh run, gh issue | 26-87% |
| Package Managers | pnpm, npm, npx | 70-90% |
| Files | ls, read, grep, find | 60-75% |
| Infrastructure | docker, kubectl | 85% |
| Network | curl, wget | 65-70% |
Overall average: **60-90% token reduction** on common development operations.
<!-- /rtk-instructions -->
# 项目开发规范(强制遵守)
> 以下规范在**所有**开发活动中强制生效,不限于单次会话。创建、命名、放置任何脚本 / ScriptableObject / 预制体 / 场景 / 场景物体 / 目录前,必须先对照规范。
## 1. 命名与目录规范
创建/命名任何资产、脚本、预制体、场景、目录时,**必须遵守** `Docs/Standards/` 下的规范:
- **`Docs/Standards/AssetFolderSpec.md`** — 目录结构与命名(`_Game/` 父目录、各类资产的前缀与路径,如 `EVT_`/`PLY_`/`ENM_`/`WPN_`/`SKL_`/`CHM_`/`MAP_`/`UI_`/`SET_`/`ICN_` 等;场景命名 `Persistent.unity`/`MainMenu.unity`/`Room_{Region}_{NN}.unity`/`Boss_{Name}.unity`
- **`Docs/Standards/AddressablesLabelSpec.md`** — Addressable 地址(`AddressKeys.cs` 常量,禁止硬编码字符串)与标签规范
- **`Docs/Standards/LayerSpec.md`** — 物理层 / 排序层Sorting Layer规范
## 2. 必须用 Editor 脚手架创建(不裸建)
创建场景物体 / UI / 预制体 / SO 资产时,**优先用 `Assets/_Game/Scripts/Editor` 下的脚手架**编辑器扩展由工具保证路径、命名、Addressables 注册、组件引用绑定符合规范。**不要**用裸 `new GameObject` / `AddComponent` / 手动 `CreateAsset` 直接搭建。
主要脚手架(菜单 / 静态方法均可经 MCP 调用):
- 场景结构:`SceneScaffoldTools.ScaffoldPersistentScene/ScaffoldMainMenuScene/ScaffoldGameRoom`
- UI`HUDScaffoldWizard.ScaffoldHUDCanvas``InventoryHubScaffoldWizard.ScaffoldInventoryHub`
- 场景物体:`SceneObjectPlacerTool.Place*`Player/SavePoint/Enemy/CameraArea 等,自动绑事件频道与碰撞层)
- 预制体:`WeaponHitBoxWizard``SkillHitBoxWizard`
- SO 资产:`CreateEventChannelAssets.CreateAll``ProjectAssetSetup.CreateAll``CharacterWizardWindow``DataHubWindow`
- Addressables`CoreSceneRegistrar.RegisterCoreScenes``AddressableManagerWindow``AddressKeyValidator`
若某类资产**没有**对应脚手架,应**先补脚手架**(参考现有脚手架的 `AssignReference`/`AssignAsset` 绑定模式),再用它创建——使后续创建都走规范路径。
## 3. 创建后自检
完成创建后,运行项目验证工具确认合规:
- `BaseGames/Tools/Validation/Validate All ScriptableObjects`SOValidationRunner
- `BaseGames/Addressables/Validate Address Keys`AddressKeyValidator
- `BaseGames/Tools/Maintenance/Physics2D Layer Matrix/Check`LayerSpec 校验)