fix: complete version synchronization guidance

This commit is contained in:
Kayshen-X 2026-07-15 21:10:09 +08:00
parent e5b7425f3a
commit 4f572730b9
17 changed files with 78 additions and 31 deletions

View file

@ -341,7 +341,7 @@ openpencil/
│ ├── jian/ GPU-Skia UI-Framework — Widgets/Render/Events
│ ├── casement/ winit-Fork
│ └── agent/ Produktübergreifende Rust-Agentenlaufzeit (agent-rs)
└── .githooks/ Pre-Commit-Versionssynchronisierung vom Branch-Namen
└── .githooks/ Pre-Commit-Prüfung auf Versionsabweichungen
```
## Tastaturkürzel
@ -378,6 +378,8 @@ cargo run -p op-cli -- <args> # CLI (binary: op)
# Web SDK / JS tooling (run from packages/)
cd packages && bun run lint # Lint the web SDK (oxlint); also: bun run format
cd packages && bun run generate-iconify-catalog # Regenerate the Rust icon catalog assets
# Versionssynchronisierung (im Repository-Stammverzeichnis ausführen)
scripts/sync-version.sh # Sync all managed versions from root Cargo.toml
tools/check-version-sync.sh # Verify all managed versions match root Cargo.toml
```
@ -387,7 +389,7 @@ tools/check-version-sync.sh # Verify all managed versions
Beiträge sind willkommen! Siehe [CLAUDE.md](./CLAUDE.md) für Architekturdetails und Code-Stil.
1. Forken und klonen
2. Versionssynchronisierung einrichten: `git config core.hooksPath .githooks`
2. Versionsabweichungsprüfung aktivieren: `git config core.hooksPath .githooks`
3. Branch erstellen: `git checkout -b feat/my-feature`
4. Prüfungen ausführen: `cargo test --workspace && cargo clippy --workspace --all-targets -- -D warnings`
5. Mit [Conventional Commits](https://www.conventionalcommits.org/) committen: `feat(canvas): add rotation snapping`

View file

@ -341,7 +341,7 @@ openpencil/
│ ├── jian/ Framework de UI GPU-Skia — widgets/render/eventos
│ ├── casement/ Fork de winit
│ └── agent/ Runtime de agente Rust multi-producto (agent-rs)
└── .githooks/ Comprobación de coherencia de versiones en pre-commit
└── .githooks/ Comprobación pre-commit de desviación de versiones
```
## Atajos de Teclado
@ -378,6 +378,8 @@ cargo run -p op-cli -- <args> # CLI (binary: op)
# Web SDK / JS tooling (run from packages/)
cd packages && bun run lint # Lint the web SDK (oxlint); also: bun run format
cd packages && bun run generate-iconify-catalog # Regenerate the Rust icon catalog assets
# Sincronización de versiones (ejecutar desde la raíz del repositorio)
scripts/sync-version.sh # Sync all managed versions from root Cargo.toml
tools/check-version-sync.sh # Verify all managed versions match root Cargo.toml
```
@ -387,7 +389,7 @@ tools/check-version-sync.sh # Verify all managed versions
¡Las contribuciones son bienvenidas! Consulta [CLAUDE.md](./CLAUDE.md) para detalles sobre la arquitectura y el estilo de código.
1. Haz fork y clona el repositorio
2. Configura la sincronización de versión: `git config core.hooksPath .githooks`
2. Activa la comprobación de desviación de versiones: `git config core.hooksPath .githooks`
3. Crea una rama: `git checkout -b feat/my-feature`
4. Ejecuta las verificaciones: `cargo test --workspace && cargo clippy --workspace --all-targets -- -D warnings`
5. Haz commit con [Conventional Commits](https://www.conventionalcommits.org/): `feat(canvas): add rotation snapping`

View file

@ -341,7 +341,7 @@ openpencil/
│ ├── jian/ Framework UI GPU-Skia — widgets/rendu/événements
│ ├── casement/ Fork de winit
│ └── agent/ Runtime d'agent Rust transversal (agent-rs)
└── .githooks/ Vérification de cohérence des versions en pre-commit
└── .githooks/ Vérification pre-commit des écarts de version
```
## Raccourcis clavier
@ -378,6 +378,8 @@ cargo run -p op-cli -- <args> # CLI (binary: op)
# Web SDK / JS tooling (run from packages/)
cd packages && bun run lint # Lint the web SDK (oxlint); also: bun run format
cd packages && bun run generate-iconify-catalog # Regenerate the Rust icon catalog assets
# Synchronisation des versions (à exécuter depuis la racine du dépôt)
scripts/sync-version.sh # Sync all managed versions from root Cargo.toml
tools/check-version-sync.sh # Verify all managed versions match root Cargo.toml
```
@ -387,7 +389,7 @@ tools/check-version-sync.sh # Verify all managed versions
Les contributions sont les bienvenues ! Consultez [CLAUDE.md](./CLAUDE.md) pour les détails d'architecture et le style de code.
1. Forker et cloner
2. Configurer la synchronisation de version : `git config core.hooksPath .githooks`
2. Activer la vérification des écarts de version : `git config core.hooksPath .githooks`
3. Créer une branche : `git checkout -b feat/my-feature`
4. Exécuter les vérifications : `cargo test --workspace && cargo clippy --workspace --all-targets -- -D warnings`
5. Commiter avec [Conventional Commits](https://www.conventionalcommits.org/) : `feat(canvas): add rotation snapping`

View file

@ -341,7 +341,7 @@ openpencil/
│ ├── jian/ GPU-Skia UI फ़्रेमवर्क — विजेट/रेंडर/इवेंट
│ ├── casement/ winit फ़ोर्क
│ └── agent/ क्रॉस-प्रोडक्ट Rust एजेंट रनटाइम (agent-rs)
└── .githooks/ ब्रांच नाम से प्री-कमिट वर्शन सिंक
└── .githooks/ प्री-कमिट वर्शन ड्रिफ्ट जाँच
```
## कीबोर्ड शॉर्टकट
@ -378,6 +378,8 @@ cargo run -p op-cli -- <args> # CLI (binary: op)
# Web SDK / JS tooling (run from packages/)
cd packages && bun run lint # Lint the web SDK (oxlint); also: bun run format
cd packages && bun run generate-iconify-catalog # Regenerate the Rust icon catalog assets
# वर्शन सिंक्रोनाइज़ेशन (रिपॉज़िटरी रूट से चलाएँ)
scripts/sync-version.sh # Sync all managed versions from root Cargo.toml
tools/check-version-sync.sh # Verify all managed versions match root Cargo.toml
```
@ -387,7 +389,7 @@ tools/check-version-sync.sh # Verify all managed versions
योगदान का स्वागत है! आर्किटेक्चर विवरण और कोड स्टाइल के लिए [CLAUDE.md](./CLAUDE.md) देखें।
1. फ़ोर्क और क्लोन करें
2. वर्शन सिंक सेटअप करें: `git config core.hooksPath .githooks`
2. वर्शन ड्रिफ्ट जाँच सक्षम करें: `git config core.hooksPath .githooks`
3. ब्रांच बनाएँ: `git checkout -b feat/my-feature`
4. चेक चलाएँ: `cargo test --workspace && cargo clippy --workspace --all-targets -- -D warnings`
5. [Conventional Commits](https://www.conventionalcommits.org/) के साथ कमिट करें: `feat(canvas): add rotation snapping`

View file

@ -341,7 +341,7 @@ openpencil/
│ ├── jian/ Framework UI GPU-Skia — widget/render/event
│ ├── casement/ Fork winit
│ └── agent/ Runtime agen Rust lintas produk (agent-rs)
└── .githooks/ Pre-commit sinkronisasi versi dari nama branch
└── .githooks/ Pemeriksaan drift versi pre-commit
```
## Pintasan Keyboard
@ -378,6 +378,8 @@ cargo run -p op-cli -- <args> # CLI (binary: op)
# Web SDK / JS tooling (run from packages/)
cd packages && bun run lint # Lint the web SDK (oxlint); also: bun run format
cd packages && bun run generate-iconify-catalog # Regenerate the Rust icon catalog assets
# Sinkronisasi versi (jalankan dari root repositori)
scripts/sync-version.sh # Sync all managed versions from root Cargo.toml
tools/check-version-sync.sh # Verify all managed versions match root Cargo.toml
```
@ -387,7 +389,7 @@ tools/check-version-sync.sh # Verify all managed versions
Kontribusi sangat disambut! Lihat [CLAUDE.md](./CLAUDE.md) untuk detail arsitektur dan gaya kode.
1. Fork dan clone
2. Atur sinkronisasi versi: `git config core.hooksPath .githooks`
2. Aktifkan pemeriksaan drift versi: `git config core.hooksPath .githooks`
3. Buat cabang: `git checkout -b feat/my-feature`
4. Jalankan pemeriksaan: `cargo test --workspace && cargo clippy --workspace --all-targets -- -D warnings`
5. Commit dengan [Conventional Commits](https://www.conventionalcommits.org/): `feat(canvas): add rotation snapping`

View file

@ -341,7 +341,7 @@ openpencil/
│ ├── jian/ GPU-Skia UI フレームワーク — ウィジェット/レンダー/イベント
│ ├── casement/ winit フォーク
│ └── agent/ 製品横断 Rust エージェントランタイムagent-rs
└── .githooks/ ブランチ名からのプレコミットバージョン同期
└── .githooks/ プレコミットのバージョンドリフト検査
```
## キーボードショートカット
@ -378,6 +378,8 @@ cargo run -p op-cli -- <args> # CLI (binary: op)
# Web SDK / JS tooling (run from packages/)
cd packages && bun run lint # Lint the web SDK (oxlint); also: bun run format
cd packages && bun run generate-iconify-catalog # Regenerate the Rust icon catalog assets
# バージョン同期(リポジトリルートから実行)
scripts/sync-version.sh # Sync all managed versions from root Cargo.toml
tools/check-version-sync.sh # Verify all managed versions match root Cargo.toml
```
@ -387,7 +389,7 @@ tools/check-version-sync.sh # Verify all managed versions
コントリビューションを歓迎します!アーキテクチャの詳細とコードスタイルについては [CLAUDE.md](./CLAUDE.md) をご覧ください。
1. フォークしてクローン
2. バージョン同期を設定`git config core.hooksPath .githooks`
2. バージョンドリフト検査を有効化`git config core.hooksPath .githooks`
3. ブランチを作成:`git checkout -b feat/my-feature`
4. チェックを実行:`cargo test --workspace && cargo clippy --workspace --all-targets -- -D warnings`
5. [Conventional Commits](https://www.conventionalcommits.org/) 形式でコミット:`feat(canvas): add rotation snapping`

View file

@ -341,7 +341,7 @@ openpencil/
│ ├── jian/ GPU-Skia UI 프레임워크 — 위젯/렌더/이벤트
│ ├── casement/ winit 포크
│ └── agent/ 제품 공용 Rust 에이전트 런타임 (agent-rs)
└── .githooks/ pre-commit 버전 일관성 검사
└── .githooks/ pre-commit 버전 드리프트 검사
```
## 키보드 단축키
@ -378,6 +378,8 @@ cargo run -p op-cli -- <args> # CLI (binary: op)
# Web SDK / JS tooling (run from packages/)
cd packages && bun run lint # Lint the web SDK (oxlint); also: bun run format
cd packages && bun run generate-iconify-catalog # Regenerate the Rust icon catalog assets
# 버전 동기화 (저장소 루트에서 실행)
scripts/sync-version.sh # Sync all managed versions from root Cargo.toml
tools/check-version-sync.sh # Verify all managed versions match root Cargo.toml
```
@ -387,7 +389,7 @@ tools/check-version-sync.sh # Verify all managed versions
기여를 환영합니다! 아키텍처 세부 정보와 코드 스타일은 [CLAUDE.md](./CLAUDE.md)를 참고하세요.
1. 포크 후 클론
2. 버전 동기화 설정: `git config core.hooksPath .githooks`
2. 버전 드리프트 검사 설정: `git config core.hooksPath .githooks`
3. 브랜치 생성: `git checkout -b feat/my-feature`
4. 검사 실행: `cargo test --workspace && cargo clippy --workspace --all-targets -- -D warnings`
5. [Conventional Commits](https://www.conventionalcommits.org/) 형식으로 커밋: `feat(canvas): add rotation snapping`

View file

@ -479,7 +479,7 @@ openpencil/
│ ├── jian/ GPU-Skia UI framework — widgets/render/events
│ ├── casement/ winit fork
│ └── agent/ Cross-product Rust agent runtime (agent-rs)
└── .githooks/ Pre-commit version consistency check
└── .githooks/ Pre-commit version drift check
```
## Keyboard Shortcuts
@ -516,6 +516,8 @@ cargo run -p op-cli -- <args> # CLI (binary: op)
# Web SDK / JS tooling (run from packages/)
cd packages && bun run lint # Lint the web SDK (oxlint); also: bun run format
cd packages && bun run generate-iconify-catalog # Regenerate the Rust icon catalog assets
# Version synchronization (run from repository root)
scripts/sync-version.sh # Sync all managed versions from root Cargo.toml
tools/check-version-sync.sh # Verify all managed versions match root Cargo.toml
```
@ -555,7 +557,7 @@ cargo deny check && cargo deny --target wasm32-unknown-unknown check bans
Contributions are welcome! See [CLAUDE.md](./CLAUDE.md) for architecture details and code style.
1. Fork and clone
2. Set up version sync: `git config core.hooksPath .githooks`
2. Enable the version drift check: `git config core.hooksPath .githooks`
3. Create a branch: `git checkout -b feat/my-feature`
4. Run checks: `cargo test --workspace && cargo clippy --workspace --all-targets -- -D warnings`
5. Commit with [Conventional Commits](https://www.conventionalcommits.org/): `feat(canvas): add rotation snapping`

View file

@ -341,7 +341,7 @@ openpencil/
│ ├── jian/ Framework de UI GPU-Skia — widgets/renderização/eventos
│ ├── casement/ Fork do winit
│ └── agent/ Runtime de agente Rust compartilhado entre produtos (agent-rs)
└── .githooks/ Verificação de consistência de versão no pre-commit
└── .githooks/ Verificação pre-commit de divergência de versões
```
## Atalhos de Teclado
@ -378,6 +378,8 @@ cargo run -p op-cli -- <args> # CLI (binary: op)
# Web SDK / JS tooling (run from packages/)
cd packages && bun run lint # Lint the web SDK (oxlint); also: bun run format
cd packages && bun run generate-iconify-catalog # Regenerate the Rust icon catalog assets
# Sincronização de versões (execute na raiz do repositório)
scripts/sync-version.sh # Sync all managed versions from root Cargo.toml
tools/check-version-sync.sh # Verify all managed versions match root Cargo.toml
```
@ -387,7 +389,7 @@ tools/check-version-sync.sh # Verify all managed versions
Contribuições são bem-vindas! Consulte o [CLAUDE.md](./CLAUDE.md) para detalhes de arquitetura e estilo de código.
1. Faça fork e clone
2. Configure a sincronização de versão: `git config core.hooksPath .githooks`
2. Ative a verificação de divergência de versões: `git config core.hooksPath .githooks`
3. Crie uma branch: `git checkout -b feat/my-feature`
4. Execute as verificações: `cargo test --workspace && cargo clippy --workspace --all-targets -- -D warnings`
5. Faça commit com [Conventional Commits](https://www.conventionalcommits.org/): `feat(canvas): add rotation snapping`

View file

@ -341,7 +341,7 @@ openpencil/
│ ├── jian/ GPU-Skia UI-фреймворк — виджеты/рендеринг/события
│ ├── casement/ Форк winit
│ └── agent/ Кроссплатформенный Rust-рантайм агентов (agent-rs)
└── .githooks/ Pre-commit синхронизация версий из имени ветки
└── .githooks/ Pre-commit проверка расхождений версий
```
## Горячие клавиши
@ -378,6 +378,8 @@ cargo run -p op-cli -- <args> # CLI (binary: op)
# Web SDK / JS tooling (run from packages/)
cd packages && bun run lint # Lint the web SDK (oxlint); also: bun run format
cd packages && bun run generate-iconify-catalog # Regenerate the Rust icon catalog assets
# Синхронизация версий (запускайте из корня репозитория)
scripts/sync-version.sh # Sync all managed versions from root Cargo.toml
tools/check-version-sync.sh # Verify all managed versions match root Cargo.toml
```
@ -387,7 +389,7 @@ tools/check-version-sync.sh # Verify all managed versions
Мы приветствуем вклад в проект! Подробности об архитектуре и стиле кода смотрите в [CLAUDE.md](./CLAUDE.md).
1. Сделайте форк и клонируйте репозиторий
2. Настройте синхронизацию версий: `git config core.hooksPath .githooks`
2. Включите проверку расхождений версий: `git config core.hooksPath .githooks`
3. Создайте ветку: `git checkout -b feat/my-feature`
4. Запустите проверки: `cargo test --workspace && cargo clippy --workspace --all-targets -- -D warnings`
5. Сделайте коммит в формате [Conventional Commits](https://www.conventionalcommits.org/): `feat(canvas): add rotation snapping`

View file

@ -341,7 +341,7 @@ openpencil/
│ ├── jian/ เฟรมเวิร์ก UI แบบ GPU-Skia — widget/render/event
│ ├── casement/ winit fork
│ └── agent/ Rust agent runtime ข้ามผลิตภัณฑ์ (agent-rs)
└── .githooks/ การตรวจสอบความสอดคล้องของเวอร์ชันก่อน commit
└── .githooks/ การตรวจสอบความคลาดเคลื่อนของเวอร์ชันก่อน commit
```
## คีย์ลัด
@ -378,6 +378,8 @@ cargo run -p op-cli -- <args> # CLI (binary: op)
# Web SDK / JS tooling (run from packages/)
cd packages && bun run lint # Lint the web SDK (oxlint); also: bun run format
cd packages && bun run generate-iconify-catalog # Regenerate the Rust icon catalog assets
# การซิงค์เวอร์ชัน (เรียกใช้จากรากของ repository)
scripts/sync-version.sh # Sync all managed versions from root Cargo.toml
tools/check-version-sync.sh # Verify all managed versions match root Cargo.toml
```
@ -387,7 +389,7 @@ tools/check-version-sync.sh # Verify all managed versions
ยินดีต้อนรับการมีส่วนร่วมทุกรูปแบบ! ดู [CLAUDE.md](./CLAUDE.md) สำหรับรายละเอียดสถาปัตยกรรมและรูปแบบโค้ด
1. Fork และ clone
2. ตั้งค่า version sync: `git config core.hooksPath .githooks`
2. เปิดใช้การตรวจสอบความคลาดเคลื่อนของเวอร์ชัน: `git config core.hooksPath .githooks`
3. สร้าง branch: `git checkout -b feat/my-feature`
4. รันการตรวจสอบ: `cargo test --workspace && cargo clippy --workspace --all-targets -- -D warnings`
5. Commit ด้วย [Conventional Commits](https://www.conventionalcommits.org/): `feat(canvas): add rotation snapping`

View file

@ -341,7 +341,7 @@ openpencil/
│ ├── jian/ GPU-Skia UI çatısı — widget/render/event
│ ├── casement/ winit çatalı
│ └── agent/ Ürünler arası Rust ajan çalışma ortamı (agent-rs)
└── .githooks/ Dal adından ön-commit sürüm eşitleme
└── .githooks/ Ön-commit sürüm sapması denetimi
```
## Klavye Kısayolları
@ -378,6 +378,8 @@ cargo run -p op-cli -- <args> # CLI (binary: op)
# Web SDK / JS tooling (run from packages/)
cd packages && bun run lint # Lint the web SDK (oxlint); also: bun run format
cd packages && bun run generate-iconify-catalog # Regenerate the Rust icon catalog assets
# Sürüm eşitleme (depo kökünden çalıştırın)
scripts/sync-version.sh # Sync all managed versions from root Cargo.toml
tools/check-version-sync.sh # Verify all managed versions match root Cargo.toml
```
@ -387,7 +389,7 @@ tools/check-version-sync.sh # Verify all managed versions
Katkılarınızı bekliyoruz! Mimari ayrıntılar ve kod stili için [CLAUDE.md](./CLAUDE.md) dosyasına bakın.
1. Fork'layın ve klonlayın
2. Sürüm eşitlemeyi ayarlayın: `git config core.hooksPath .githooks`
2. Sürüm sapması denetimini etkinleştirin: `git config core.hooksPath .githooks`
3. Dal oluşturun: `git checkout -b feat/my-feature`
4. Kontrolleri çalıştırın: `cargo test --workspace && cargo clippy --workspace --all-targets -- -D warnings`
5. [Conventional Commits](https://www.conventionalcommits.org/) formatıyla commit yapın: `feat(canvas): add rotation snapping`

View file

@ -341,7 +341,7 @@ openpencil/
│ ├── jian/ Framework UI GPU-Skia — widget/render/event
│ ├── casement/ Bản fork của winit
│ └── agent/ Runtime tác nhân Rust đa sản phẩm (agent-rs)
└── .githooks/ Pre-commit đồng bộ phiên bản từ tên nhánh
└── .githooks/ Kiểm tra độ lệch phiên bản trước commit
```
## Phím tắt
@ -378,6 +378,8 @@ cargo run -p op-cli -- <args> # CLI (binary: op)
# Web SDK / JS tooling (run from packages/)
cd packages && bun run lint # Lint the web SDK (oxlint); also: bun run format
cd packages && bun run generate-iconify-catalog # Regenerate the Rust icon catalog assets
# Đồng bộ phiên bản (chạy từ thư mục gốc của kho mã)
scripts/sync-version.sh # Sync all managed versions from root Cargo.toml
tools/check-version-sync.sh # Verify all managed versions match root Cargo.toml
```
@ -387,7 +389,7 @@ tools/check-version-sync.sh # Verify all managed versions
Chào mừng đóng góp! Xem [CLAUDE.md](./CLAUDE.md) để biết chi tiết về kiến trúc và phong cách mã.
1. Fork và clone
2. Thiết lập đồng bộ phiên bản: `git config core.hooksPath .githooks`
2. Bật kiểm tra độ lệch phiên bản: `git config core.hooksPath .githooks`
3. Tạo branch: `git checkout -b feat/my-feature`
4. Chạy kiểm tra: `cargo test --workspace && cargo clippy --workspace --all-targets -- -D warnings`
5. Commit theo [Conventional Commits](https://www.conventionalcommits.org/): `feat(canvas): add rotation snapping`

View file

@ -341,7 +341,7 @@ openpencil/
│ ├── jian/ GPU-Skia UI 框架 — 元件/渲染/事件
│ ├── casement/ winit fork
│ └── agent/ 跨產品 Rust Agent 執行環境agent-rs
└── .githooks/ Pre-commit 版本號同步(從分支名稱)
└── .githooks/ Pre-commit 版本漂移檢查
```
## 鍵盤快捷鍵
@ -378,6 +378,8 @@ cargo run -p op-cli -- <args> # CLI (binary: op)
# Web SDK / JS tooling (run from packages/)
cd packages && bun run lint # Lint the web SDK (oxlint); also: bun run format
cd packages && bun run generate-iconify-catalog # Regenerate the Rust icon catalog assets
# 版本同步(從存放庫根目錄執行)
scripts/sync-version.sh # Sync all managed versions from root Cargo.toml
tools/check-version-sync.sh # Verify all managed versions match root Cargo.toml
```
@ -387,7 +389,7 @@ tools/check-version-sync.sh # Verify all managed versions
歡迎貢獻!請查閱 [CLAUDE.md](./CLAUDE.md) 了解架構細節和程式碼風格。
1. Fork 並複製存放庫
2. 設定版本同步`git config core.hooksPath .githooks`
2. 啟用版本漂移檢查`git config core.hooksPath .githooks`
3. 建立分支:`git checkout -b feat/my-feature`
4. 執行檢查:`cargo test --workspace && cargo clippy --workspace --all-targets -- -D warnings`
5. 使用 [Conventional Commits](https://www.conventionalcommits.org/) 提交:`feat(canvas): add rotation snapping`

View file

@ -341,7 +341,7 @@ openpencil/
│ ├── jian/ GPU-Skia UI 框架 — 组件/渲染/事件
│ ├── casement/ winit fork
│ └── agent/ 跨产品 Rust Agent 运行时agent-rs
└── .githooks/ 预提交钩子:从分支名同步版本号
└── .githooks/ 预提交版本漂移检查
```
## 键盘快捷键
@ -378,6 +378,8 @@ cargo run -p op-cli -- <args> # CLI (binary: op)
# Web SDK / JS tooling (run from packages/)
cd packages && bun run lint # Lint the web SDK (oxlint); also: bun run format
cd packages && bun run generate-iconify-catalog # Regenerate the Rust icon catalog assets
# 版本同步(从仓库根目录运行)
scripts/sync-version.sh # Sync all managed versions from root Cargo.toml
tools/check-version-sync.sh # Verify all managed versions match root Cargo.toml
```
@ -387,7 +389,7 @@ tools/check-version-sync.sh # Verify all managed versions
欢迎贡献!请查阅 [CLAUDE.md](./CLAUDE.md) 了解架构细节和代码风格。
1. Fork 并克隆仓库
2. 设置版本同步`git config core.hooksPath .githooks`
2. 启用版本漂移检查`git config core.hooksPath .githooks`
3. 创建分支:`git checkout -b feat/my-feature`
4. 运行检查:`cargo test --workspace && cargo clippy --workspace --all-targets -- -D warnings`
5. 使用 [Conventional Commits](https://www.conventionalcommits.org/) 提交:`feat(canvas): add rotation snapping`

View file

@ -12,7 +12,7 @@ script_dir=$(CDPATH= cd "$(dirname "$0")" && pwd)
repo_root=$(CDPATH= cd "$script_dir/.." && pwd)
if ! canonical_version=$("$repo_root/scripts/workspace-version.sh"); then
printf 'sync-version: failed to read the canonical Cargo workspace version\n' >&2
printf 'sync-version: canonical version read failed; set a valid SemVer at [workspace.package].version in Cargo.toml\n' >&2
exit 1
fi

View file

@ -130,6 +130,23 @@ assert_status 2 'argument rejection'
assert_contains 'usage: scripts/sync-version.sh' 'argument rejection'
pass 'sync entrypoint rejects positional versions with actionable usage'
repo=$(new_repo reader_failure)
printf '%s\n' \
'[workspace]' \
'members = []' \
'' \
'[workspace.package]' \
'version = "not-semver"' > "$repo/Cargo.toml"
run_sync "$repo"
assert_status 1 'canonical reader failure'
assert_contains 'sync-version: canonical version read failed; set a valid SemVer at [workspace.package].version in Cargo.toml' \
'canonical reader failure'
if [[ -e "$repo/calls.log" ]]; then
printf '%s\n' "$(cat "$repo/calls.log")" >&2
fail 'canonical reader failure invoked Cargo, Bun, or the version guard'
fi
pass 'canonical reader failures stop before Cargo, Bun, and the version guard'
repo=$(new_repo external_cwd)
run_sync "$repo"
assert_status 0 'external cwd'