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/mcp-server-attr-codegen-test.mdc

`#[mcp_server]` 属性のテスト方法

Cursor rules

Quality

45/100

Scores the file, not the repository.

Length

148 words

4 headings · 1 code blocks

Repository

28

— · pushed 298 days ago

Last changed

3 days ago

First indexed 3 days ago.
frozenlib/mcp-attr/.cursor/rules/mcp-server-attr-codegen-test.mdcRawGitHub
1---
2description: `#[mcp_server]` 属性のテスト方法
3globs: *.rs
4alwaysApply: false
5---
6 
7# 概要
8 
9- セクション `ファイルパス` で説明されたファイルにテストを記載します
10- そのファイルはセクション `ファイル構造` で説明された構造にする必要があります
11- コンパイルエラーやテストの失敗の原因を調査する際は、セクション `デバッグ方法` で説明された手順で行います
12 
13# ファイルパス
14 
15`./tests/mcp_server_<name>.rs`
16 
17`#[mcp_server]` を付与する型一つにつき一つのファイルを作成します。
18`#[mcp_server]` を付与する型を新しく作成する場合は新しいファイルを作成します。
19 
20# ファイル構造
21 
22```rust
23use <標準ライブラリのパス>;
24 
25use <外部クレートのパス>;
26 
27use <mcp_attr クレートのパス>
28use mcp_attr::Result;
29 
30 
31struct MyMcpServer {
32 ...
33}
34 
35#[mcp_server]
36impl McpServer for MyMcpServer {
37 ...
38}
39 
40// 同期のテスト
41#[test]
42fn test_name() -> Result<()> {
43 
44}
45 
46// 非同期のテスト
47#[tokio::test]
48async fn test_name() -> Result<()> {
49 ...
50}
51 
52// テストを補助する関数など
53fn helper_func() {
54 ...
55}
56 
57```
58 
59# デバッグ方法
60 
61下記の手順で問題を調査してください。
62 
631. テストを実行し問題が発生している箇所を確認します。
642. `#[mcp_server]` を `#[mcp_server(dump)]` に変更します。
653. 問題が発生していたテストを再実行します
664. コンパイルエラーが発生し、 `#[mcp_server]`によってマクロ展開後のコードがエラーメッセージとして出力されます。マクロ展開後のコードは`// ===== start generated code =====` と `// ===== end generated code =====` で囲まれた部分にあります。
675. `#[mcp_server]` が設定された部分全体をコメントアウト、代わりに先ほどのエラーメッセージの`// ===== start generated code =====` と `// ===== end generated code =====` で囲まれた部分のコードを追加します。
686. テストを再実行します。
697. マクロ展開後コードでどのようなエラーが発生しているかを確認し、修正します。
708. エラーがなくなるまで手順6と7を繰り返します。
719. エラーが無くなったら、マクロ展開用のプログラム `./macros/src/lib.rs` を修正して、生成されるコードに同様の変更が適用されるようにします。
7210. `// ===== start generated code =====` と `// ===== end generated code =====` で囲まれた部分を削除します。
7311. `#[mcp_server]` が設定された部分全体のコメントアウトを解除します。
7412. テストを再実行し、問題がないかを確認します。問題があれば手順2に戻ります。
75 

Sections

  • 概要
  • ファイルパス
  • ファイル構造
  • デバッグ方法

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/rust.mdc · 28Cursor rulesrustgithub-actionstestdocs56/1003 days ago
frozenlib/mcp-attrCLAUDE.md · 28CLAUDE.mdrustgithub-actionsbuildtestlint-formatstyle+597/1003 days ago
Diff against .cursor/rules/rust.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