busirocket-rust

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Rust Standards

Rust 代码标准

Strict, reusable standards for Rust codebases (libraries, CLIs, or backend services).
针对Rust代码库(库、CLI或后端服务)制定的严格、可复用标准。

When to Use

适用场景

Use this skill when:
  • Writing or refactoring Rust code
  • Structuring modules (services, utils, models)
  • Separating SQL queries or LLM prompts from Rust code
  • Enforcing one-thing-per-file discipline
在以下场景中使用本规范:
  • 编写或重构Rust代码
  • 构建模块结构(服务、工具类、模型)
  • 将SQL查询或LLM提示词与Rust代码分离
  • 贯彻‘一文件一职责’规范

Non-Negotiables (MUST)

不可协商的强制要求(MUST)

  • One public symbol per file (function / type / trait).
  • No inline SQL strings in
    .rs
    files; use dedicated SQL files with
    include_str!()
    (e.g.
    sql/<area>/Xxx.sql
    ).
  • No inline LLM/AI prompts in
    .rs
    files; use dedicated prompt files with
    include_str!()
    (e.g.
    prompts/<area>/Xxx.prompt
    ).
  • Handlers (HTTP, commands, etc.) must be thin: validate, call service, return.
  • 每个文件仅包含一个公开符号(函数/类型/ trait)。
  • .rs文件中禁止内联SQL字符串;使用
    include_str!()
    引入专用SQL文件(例如
    sql/<领域>/Xxx.sql
    )。
  • .rs文件中禁止内联LLM/AI提示词;使用
    include_str!()
    引入专用提示词文件(例如
    prompts/<领域>/Xxx.prompt
    )。
  • 处理器(HTTP、命令等)必须精简:仅做验证、调用服务、返回结果。

Module Layout

模块布局

  • src/services/
    : external boundaries (IO, DB, network).
  • src/utils/
    : pure logic (no IO).
  • src/models/
    : domain types (one type per file).
  • No "misc" modules like
    helpers.rs
    or
    common.rs
    .
  • src/services/
    :外部边界层(IO、数据库、网络)。
  • src/utils/
    :纯逻辑层(无IO操作)。
  • src/models/
    :领域类型层(每个类型对应一个文件)。
  • 禁止使用“misc”类模块,如
    helpers.rs
    common.rs

Rules

规则细则

Language & Style

语言与风格

  • rust-language-style
    - Language & style (English-only, struct/enum, error types)
  • rust-language-style
    - 语言与风格(仅英文命名、结构体/枚举、错误类型)

One Thing Per File

一文件一职责

  • rust-one-thing-per-file
    - One thing per file (STRICT)
  • rust-module-manifests
    - Module manifests exception (mod.rs)
  • rust-one-thing-per-file
    - 一文件一职责(严格执行)
  • rust-module-manifests
    - 模块清单例外(mod.rs)

Module Layout

模块布局

  • rust-module-layout
    - Module layout (STRICT) - services, utils, models
  • rust-module-layout
    - 模块布局(严格执行)- 服务、工具类、模型

SQL Separation

SQL分离

  • rust-sql-separation
    - SQL separation (STRICT) - no inline SQL
  • rust-sql-separation
    - SQL分离(严格执行)- 禁止内联SQL

Prompt Separation

提示词分离

  • rust-prompt-separation
    - Prompt separation (STRICT) - no inline prompts
  • rust-prompt-separation
    - 提示词分离(严格执行)- 禁止内联提示词

Boundaries

边界规范

  • rust-boundaries
    - Boundaries (thin handlers, validate, call service, return)
  • rust-boundaries
    - 边界规范(精简处理器、验证、调用服务、返回结果)

Validation

验证检查

  • rust-validation
    - Validation (run checks after changes)
  • rust-validation
    - 验证检查(变更后运行检查)

Related Skills

相关规范

  • busirocket-core-conventions
    - General file structure principles
  • busirocket-tauri
    - Tauri-specific layout and commands (when building desktop apps)
  • busirocket-core-conventions
    - 通用文件结构原则
  • busirocket-tauri
    - Tauri特定布局与命令(构建桌面应用时使用)

How to Use

使用方法

Read individual rule files for detailed explanations and code examples:
rules/rust-one-thing-per-file.md
rules/rust-sql-separation.md
rules/rust-module-layout.md
Each rule file contains:
  • Brief explanation of why it matters
  • Code examples (correct and incorrect patterns)
  • Additional context and best practices
阅读单个规则文件获取详细说明和代码示例:
rules/rust-one-thing-per-file.md
rules/rust-sql-separation.md
rules/rust-module-layout.md
每个规则文件包含:
  • 简要说明该规则的重要性
  • 代码示例(正确与错误模式)
  • 额外背景信息与最佳实践