Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

chore(tooling): adoptar rustfmt con gate de CI de formato (baseline no fmt-clean)

Đang mở
#184 3 bình luận 0 reaction 1 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

@SrStamm đang làm issue này rồi.

Từ ngày 25/10/2026.

Đánh giá

Issue này chưa được đánh giá.

Mô tả

Pre-flight checks
  • I searched existing issues and found no duplicate.
  • I understand that this proposal requires product review before implementation.
Problem to solve

El repo no tiene una política de formato Rust verificada:

  • No existe rustfmt.toml en ninguna parte del repo.
  • Ningún workflow de CI corre cargo fmt --check (revisados los 9 de .github/workflows/).
  • El baseline no está fmt-clean: cargo fmt --check falla hoy (p. ej. src-tauri/src/wm_compat.rs y src-tauri/src/cli_process.rs tienen líneas largas sin formato).

Consecuencia observada en la práctica (PR #183, ciclo de revisión de #181): un cargo fmt -- <archivos> durante el trabajo generó ruido de formato en 29 archivos que no se tocaban (~3.700 líneas), que hubo que descartar para no inflar el diff de un PR de bugfix. Cada contribuidor decide su estilo y cualquier PR que mezcle cambios funcionales con formateo mata la revisión del diff.

Proposed solution

Tres pasos, en este orden:

  1. Decidir configuración (opcional): si se quiere algo distinto del default de rustfmt (p. ej. max_width más generoso; varios tests actuales se escribieron con líneas >100 columnas y rustfmt los parte), definirlo en rustfmt.toml antes de formatear.
  2. Un commit de formateo único y aislado: chore(style): cargo fmt solo formato, sin mezclar con nada funcional, revisado y aterrizado solo. Así ese diff grande se lee una vez y no vuelve a aparecer.
  3. Gate de CI: cargo fmt --check como paso en ci.yml / linux-pr-ci.yml (coste en segundos) para que el formato sea requisito de PR y no decisión de cada contribuidor.

Coordinación: aterrizar después del merge de #183 (PR en vuelo) para no rebasear sobre un reformateo masivo.

Affected area

CI or automation

Scope and non-goals

Incluye: formateo de los targets Rust (src-tauri), posible rustfmt.toml, gate cargo fmt --check en CI.

No incluye: cambios de comportamiento o refactors (el formateo es solo formato), política de warnings de clippy ni otros linters, formateo del frontend (prettier/eslint, si aplica, sería propuesta aparte), ni cambios al flujo de #183/#181.

Alternatives considered
  • No hacer nada / discreción por contribuidor: lleva a estilos mezclados y PRs ruidosos (observado en la práctica).
  • Formatear solo archivos tocados por PR: como el baseline no está fmt-clean, sigue generando ruido en el diff.
  • Gate de CI sin el commit de formateo: el check fallaría de inmediato en el baseline; no es viable sin el paso 2.
Ngôn ngữ chính
TypeScript
Star
10
Fork
2
Merge trung bình
4 giờ 44 phút
Pull request đã merge (30 ngày)
100

Chuẩn bị môi trường

Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của egdev6/quorb

Tất cả issue của egdev6/quorb

Issue tương tự

Thêm issue về TypeScript

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.