RuleStack

Configs

Stacks

Compare

Diff

RuleStack

Configs

Stacks

Compare

Diff

Read API

RuleStack

Configs

Stacks

Compare

Diff

Read API

Configs/Cursor rules/frozenlib/mcp-attr

Cursor rule

.cursor/rules/rust.mdc

Rustのコードの書き方

Cursor rules

Quality

56/100

Scores the file, not the repository.

Length

196 words

9 headings · 0 code blocks

Repository

28

— · pushed 298 days ago

Last changed

3 days ago

First indexed 3 days ago.
frozenlib/mcp-attr/.cursor/rules/rust.mdcRawGitHub
1---
2description: Rustのコードの書き方
3globs: *.rs
4alwaysApply: true
5---
6 
7# 基本方針
8 
9- Rustの慣例やベストプラクティスに沿ったコードを書きます
10- 新しい機能を実装したり既存の機能のコードを修正した場合は、その機能のテストがあるかを確認し、無ければテストを作成します
11- 関数名や型名は一貫性、対称性を重視します。
12- doc commentでない通常のコメントは、理解が困難なコードにのみ付け、理解が容易なコードにはコメントを付けません
13- エラー処理は、バグ以外でErrが返されることがないことが分かっている場合はResultを使用せず、パニックさせます
14- コンパイラの警告が発生した場合は、なにが悪くて警告が発生しているのかを考え、実際にコードが悪いと判断された場合は修正してください
15 
16# コンパイルエラーが発生した場合の対処
17 
18- 型エラーが発生したときには設計に問題がないか確認し、設計の問題に起因して型エラーが発生している場合は再設計を行います
19- 依存関係のバージョンを下げてはなりません
20- エラーの修正に失敗した場合は 下記の方法で情報を確認し、その情報を元にエラーの解決方法を考えてください
21 - `read_crate_readme` ツールを使用してエラーに関連する crate の readme を確認する
22 - `search_crate_source` ツールを使用してエラーに関連する型や関数を検索し、検索結果のファイルを `read_crate_file` ツールで取得して確認する
23- 同一個所のエラーの修正に3回連続で失敗した場合はコードを元に戻し、その修正はスキップし、別の場所を修正してください
24- スキップしたエラーのみが残っている場合は、スキップしたエラーの一覧をユーザーに提示し、ユーザーによる修正を待機してください
25 
26# テストの書き方
27 
28- `tests` フォルダ内のテストでは`mod tests`は不要です。
29- publicでない項目のテストを行う場合は、`tests/` ディレクトリにテストを配置するのではなく、実装対象のモジュール内の `tests` モジュールに書きます。
30- `tests` モジュールは別のファイルにします。
31- 1つのテストでのみ使用する型や関数がある場合は、テスト関数内で定義します
32- 複数のテストを追加する際は、一つずつテストを追加し、追加したテストを実行してパスすることを確認してから次のテストを追加してください。
33- テストを通す為だけに、テストケースの入力のみで処理を変えてはなりません
34- テストデータを作成する際は英語のデータを作成して下さい。ただし、非ASCII文字のテストを行う場合は英語以外のデータを作成しても良いです。
35 
36# doc commentの書き方
37 
38- `mod xxx;` のように独立したファイルで定義されたモジュールの場合は、そのモジュールの子項目が定義されたファイルを開き、そのファイルの先頭に `//!` 形式のコメントを書きます。それ以外は項目の前に `///` 形式のコメントを書きます。
39- 項目に属性がついている場合は、属性の後ではなく、前にコメントを書きます。
40- ドキュメントコメントを書く際は、ソースコードや他のドキュメントコメントをよく確認し、正しい内容を書いてください。
41- 最初の一行にはその項目を端的に表現する非常に簡潔な1行の説明を書きます
42 - 最初の一行は他の項目と同じにならないようにしてください。同じ説明文になってしまう場合は、何が違うのかを考え、それぞれに異なる説明を設定してください。
43- 最初の一行を含め、全てのドキュメントコメントでは一貫性のある表現を使用してください
44- 最初の1行とシグネチャからその項目の用途が充分に理解できる場合は、1行のコメントのみにしてください
45- そうでない場合は、2行目を空行とし、3行目以降に詳細な説明と使用例を書いてください。
46- 他の関数や型と関連性がある場合は、説明文の中で関連する関数や型の名前を [``] で囲って使用し、リンクを付けます。
47 - 例えば `XXX` 型を作成する `XXXBulder` があった場合、`XXX` 型のドキュメントには `XXXBuilder` のリンクを、`XXXBuilder` のドキュメントには `XXX` のリンクを含めます。
48 - 例えば、`XXX` 型が `fn xxx() -> XXX` の戻り値を実装する事のみが目的の場合は `XXX` 型の説明に `fn xxx` のリンクを含めます。この場合、 `fn xxx` のリンクに `XXX` を含める必要はありません。(シグネチャから自動的にリンクされるため)
49 
50## 全てのdoc commentの検証
51 
52全てのドキュメントコメントを書き終わったら、下記のテストを行います。
53書くべきドキュメントコメントが他にも残っている場合は、テストはまだ行わず、ドキュメントの作成を優先します。
54 
55- `cargo test --doc` を実行し、ドキュメントコメント中に含まれるコードに間違いがないか確認します
56 - 間違いがなくなるまで修正と `cargo test --doc` を繰り返します
57- `cargo doc` を実行し、ドキュメント生成時に警告が発生しないかを確認します
58 - 警告が無くなるまで修正と `cargo doc` を繰り返します
59 
60## doc commentのテスト
61 
62- `// #![include_doc("ファイル名", start)]`, `// #![include_doc("ファイル名", end)]`で囲まれた部分は、コマンド `rustdoc-include` を実行することで指定したファイルからコピーされます。指定されたファイルの内容を変更した後、テストを行う際は`rustdoc-include --root <ROOT_DIR>`を実行してください。このコマンドが成功した場合、何もメッセージは出力されず、終了コードが0となります。
63 
64## 日本語のコメントの表現
65 
66日本語でコメントを書く場合は下記の書き方に従ってください
67 
68- 最初の一行では、その項目が名詞で表現できる場合は、名詞で文を終える。例えば `~の型です` ではなく `~の型` のように表現する。
69 
70# Default の実装方法
71 
72Defaultを実装する場合は、次の順番で実装を試みてください
73 
741. 標準の `#[derive(Defualt)]` を使用
752. `derive-ex` crateの `#[derive(Ex)]` `#[derive_ex(Default)]` を使用した方法
763. 手動での実装 `impl Default for T`
77 
78 
79# コマンドの実行方法
80 
81仕様書に記載された例と説明文に相違がある場合は、例が正しく説明文の解釈にミスがあると考えてください。
82 
83カレントディレクトリは初期のディレクトリから変更せず、コマンド引数で同等の事を行ってください。それが不可能な場合のみ `cd` コマンドを使用が許可されます。
84コマンドの実行に問題が発生したら、初期のカレントディレクトリに戻ってください。
85 

Commands it names

  • cargo test --doc
  • cargo doc

Sections

  • 基本方針
  • コンパイルエラーが発生した場合の対処
  • テストの書き方
  • doc commentの書き方
  • 全てのdoc commentの検証
  • doc commentのテスト
  • 日本語のコメントの表現
  • Default の実装方法
  • コマンドの実行方法

What it covers

testdocs

Stack — with the evidence

rust

(1.00)

github-actions

(0.60)

Glob targeting

  • *.rs

Format

Cursor rules

The most expressive format here. Many small .mdc files, each with frontmatter declaring when it should load, so a rule about migrations only enters context when a migration is open. Costs the most to maintain and only one editor reads it.

What the corpus says about it

Repository

Owner
frozenlib
Language
—
License
—
Archived
no

All configs in this repo

Also in frozenlib/mcp-attr

Diff this repo’s formats

One repository carrying more than one format is the comparison this product exists for: does anyone actually write different content in each file, or is one a copy of the other?

The other instruction files in this repository
RepositoryFormatStackCoversScoreChanged
frozenlib/mcp-attr.cursor/rules/mcp-server-attr-codegen-test.mdc · 28Cursor rulesrustgithub-actionsno sections45/1003 days ago
frozenlib/mcp-attrCLAUDE.md · 28CLAUDE.mdrustgithub-actionsbuildtestlint-formatstyle+597/1003 days ago
Diff against .cursor/rules/mcp-server-attr-codegen-test.mdc Diff against CLAUDE.md

Similar configs

Same format, overlapping stack, ranked by quality.

Same format, overlapping stack, ranked by quality
RepositoryFormatStackCoversScoreChanged
TechSquidTV/Hermes.cursor/rules/10-hermes-api.mdc · 45Cursor rulestypescriptpytest+15testlint-formatstylearch+5100/1003 days ago
hiromaily/go-crypto-wallet.cursor/rules/typescript.mdc · 126Cursor rulesgobun+5setupbuildtestlint-format+6100/1003 days ago
langflow-ai/langflow.cursor/rules/docs_development.mdc · 153kCursor rulespythonnode+16setupbuildtestlint-format+797/1003 days ago
TechSquidTV/Hermes.cursor/rules/20-hermes-api-tests.mdc · 45Cursor rulestypescriptpytest+15teststyletesting-strategysecurity+397/1003 days ago
skillrecordings/egghead-next.cursor/rules/project-update-user-rules.mdc · 1.4kCursor rulestypescriptnode+14buildtestlint-formatstyle+796/1003 days ago
nerds-odd-e/doughnut.cursor/rules/cli.mdc · 49Cursor rulestypescriptcypress+14setupbuildteststyle+496/1003 days ago
skillrecordings/egghead-next.cursor/rules/gh-task-plan.mdc · 1.4kCursor rulestypescriptnode+14teststylearchtypes+296/1003 days ago
skillrecordings/egghead-next.cursor/rules/project-update-rules.mdc · 1.4kCursor rulestypescriptnode+14buildtestlint-formatstyle+796/1003 days ago
RuleStack

Built by

Kynth Studio

Directory

Configs
Stacks
Compare formats
Diff two configs
Best AGENTS.md examples

Formats

AGENTS.md
CLAUDE.md
Cursor rules
Copilot instructions

Reference

Read API
Corpus health
Privacy Policy
Terms

RuleStack

RuleStack

Built by

Kynth Studio

Directory

Configs
Stacks
Compare formats
Diff two configs
Best AGENTS.md examples

Formats

AGENTS.md
CLAUDE.md
Cursor rules
Copilot instructions

Reference

Read API
Corpus health
Privacy Policy
Terms

RuleStack

RuleStack

Built by

Kynth Studio

Directory

Configs
Stacks
Compare formats
Diff two configs
Best AGENTS.md examples

Formats

AGENTS.md
CLAUDE.md
Cursor rules
Copilot instructions

Reference

Read API
Corpus health
Privacy Policy
Terms

RuleStack