diff --git a/README.de.md b/README.de.md index 39cf9af37..7d13b84fa 100644 --- a/README.de.md +++ b/README.de.md @@ -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 -- # 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` diff --git a/README.es.md b/README.es.md index 278ccab0e..cab8c4031 100644 --- a/README.es.md +++ b/README.es.md @@ -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 -- # 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` diff --git a/README.fr.md b/README.fr.md index 183d45aad..32b42312e 100644 --- a/README.fr.md +++ b/README.fr.md @@ -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 -- # 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` diff --git a/README.hi.md b/README.hi.md index 87742e89f..cdb049761 100644 --- a/README.hi.md +++ b/README.hi.md @@ -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 -- # 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` diff --git a/README.id.md b/README.id.md index 9be67941d..8fa0df565 100644 --- a/README.id.md +++ b/README.id.md @@ -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 -- # 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` diff --git a/README.ja.md b/README.ja.md index 241cd1827..f44976b0d 100644 --- a/README.ja.md +++ b/README.ja.md @@ -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 -- # 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` diff --git a/README.ko.md b/README.ko.md index 175886b17..a90ba0fda 100644 --- a/README.ko.md +++ b/README.ko.md @@ -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 -- # 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` diff --git a/README.md b/README.md index 570aeb0e3..97fb2a264 100644 --- a/README.md +++ b/README.md @@ -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 -- # 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` diff --git a/README.pt.md b/README.pt.md index 2be6d3364..2086ca2b7 100644 --- a/README.pt.md +++ b/README.pt.md @@ -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 -- # 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` diff --git a/README.ru.md b/README.ru.md index d492a4934..52c8f57c3 100644 --- a/README.ru.md +++ b/README.ru.md @@ -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 -- # 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` diff --git a/README.th.md b/README.th.md index 829fbf4f5..03cc60ed3 100644 --- a/README.th.md +++ b/README.th.md @@ -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 -- # 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` diff --git a/README.tr.md b/README.tr.md index d96f1ea9e..2319b02e4 100644 --- a/README.tr.md +++ b/README.tr.md @@ -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 -- # 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` diff --git a/README.vi.md b/README.vi.md index 088c7ee88..4b95ee672 100644 --- a/README.vi.md +++ b/README.vi.md @@ -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 -- # 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` diff --git a/README.zh-TW.md b/README.zh-TW.md index cffabf8e8..64c4b9f92 100644 --- a/README.zh-TW.md +++ b/README.zh-TW.md @@ -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 -- # 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` diff --git a/README.zh.md b/README.zh.md index 60e4c6fff..b457f6941 100644 --- a/README.zh.md +++ b/README.zh.md @@ -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 -- # 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` diff --git a/scripts/sync-version.sh b/scripts/sync-version.sh index bdefa95eb..628f95c85 100755 --- a/scripts/sync-version.sh +++ b/scripts/sync-version.sh @@ -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 diff --git a/scripts/sync-version.test.sh b/scripts/sync-version.test.sh index 35c5755dc..ae18dfc6d 100755 --- a/scripts/sync-version.test.sh +++ b/scripts/sync-version.test.sh @@ -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'