跳到正文
cccskills
免费在 GitHub 公开

style

Apply the project’s Rust conventions when editing code or documentation. The guidance covers module and type organization, workspace dependency declarations, plain English documentation, and tests that check meaningful behavior rather than fixed text.

中文简介正在准备中。当前显示英语简介。

原文查看原文说明

Always use this skill before writing or editing Rust code or documentation in the Topcoat repository

tokio-rs/topcoat星标 6,226(GitHub 6,226 + cccskills 0)

实测评分 未实测

查看安装方法

适用场景

  • Organizing Rust modules and implementations
  • Writing or revising Rust documentation
  • Reviewing whether a test protects real behavior

包含的文件(1)

  • SKILL.md2.9 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

Code Style

General

  • Keep related code together: a struct is immediately followed by its inherent impl and then its trait impls, before the next struct in the file. Unit tests (#[cfg(test)] mod tests) go at the very bottom of the file.
  • Free functions are allowed, but first consider whether a more idiomatic Rust grouping onto a struct exists.
  • Unsafe code is not allowed in this project, unless wrapped by a reputable dependency.
  • Avoid needless allocations, it is reasonable to refactor the code a bit to make it faster.

Barrel files

Name a module's file after the module and place it alongside its directory (foo.rs next to foo/), never foo/mod.rs. A barrel file declares all submodules and re-exports each with a glob; only third-party items are re-exported by name.

mod content;
mod error;
mod request;

pub use content::*;
pub use error::*;
pub use request::*;

pub use http::Method;

When a module's submodules are peers that make up a whole (the CLI commands fmt, dev, asset; the macros expr, procedure, shard), put anything shared between them in a common submodule so it does not read as another peer.

Dependencies

  • Declare every dependency in the top-level Cargo.toml under [workspace.dependencies] with only a version and no features. Crates pull it in with workspace = true and opt into features there.

Documentation

  • Write in plain english. No fancy sentence structure.
  • Item docs describe what something is/does and how to use it. Avoid implementation details unless relevant to a caller.
  • Describe the current state only; never reference previous iterations ("this used to be A but is now B").
  • Avoid exhaustively listig specific implementations or uses that could evolve over time and go stale. Keep documentation robust to changes.
  • Avoid mentioning unrelated items, like "this is used by X to do Y". Focus on describing only the item itself.
  • Use only ASCII characters in both code and documentation, e.g. -> instead of unicode arrow or ... instead of ellipsis character.
  • Avoid em-dashes entirely. Use colons and semicolons sparingly.
  • Avoid using ignore for code snippets to keep them type-checked.

Tests

  • Do not write tests that only verify hardcoded values. Make the tests insensitive to the exact wording of strings or error messages.
  • Every test must protect a specific behavior or catch a plausible bug. Before writing it, identify what incorrect behavior would make it fail.
  • Derive expected results from the intended behavior. Do not calculate them by repeating the implementation or calling the same code being tested.
  • Keep tests sensitive to broken behavior and tolerant of implementation changes that preserve correct behavior.
  • If a test is useless, delete it.

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

check

免费

Use this skill to check Topcoat changes locally before committing or opening a pull request. It runs the project’s Rust formatting, lint, test, and documentation commands, plus browser project checks when relevant, so problems can be caught before review.

中文简介正在准备中。当前显示英语简介。

  • Checking a Rust change before committing
  • Validating browser project changes
  • Building project documentation locally
tokio-rs/topcoat62262026年10月25日 更新

commit

免费

Use this skill to write concise commit messages in the Topcoat project’s Conventional Commits format. It helps choose a change type and scope, describe the update clearly, and mark breaking changes so release notes and version bumps can be based on commit history.

中文简介正在准备中。当前显示英语简介。

  • Writing a commit message for a code change
  • Choosing a commit type and scope
  • Marking a breaking change and migration note
tokio-rs/topcoat62262026年10月25日 更新

macro

免费

Use this skill when building procedural macros for Topcoat in Rust. It explains how to preserve parsed syntax in AST nodes, separate parsing from meaning, and keep macro entry points focused on parsing input, expanding valid code, and reporting errors.

中文简介正在准备中。当前显示英语简介。

  • Designing AST nodes for a procedural macro
  • Parsing custom syntax while preserving tokens
  • Organizing a macro entry point and code generation
tokio-rs/topcoat62262026年10月25日 更新

pr

免费

Use this skill to prepare a Topcoat pull request from the full branch diff. It guides you to write a Conventional Commits title and a concise body covering the change, verification performed, and an AI-use disclaimer when an agent creates the PR.

中文简介正在准备中。当前显示英语简介。

  • Writing a pull request title from the net branch change
  • Summarizing a diff and the checks performed
  • Adding the required AI-use disclosure to a PR
tokio-rs/topcoat62262026年10月25日 更新

prose

免费

Use this skill to write long-form Markdown guides for Topcoat. It covers where documentation sources belong, how to structure explanations from basic to advanced, and how to keep prose plain, concise, and easier to maintain as implementations change.

中文简介正在准备中。当前显示英语简介。

  • Planning where a guide and its links should live
  • Structuring a guide from basic to advanced use
  • Editing Markdown for clear, maintainable prose
tokio-rs/topcoat62262026年10月25日 更新

查看 tokio-rs 的全部技能

报告此技能的问题