Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
git clone --depth 1 https://github.com/ryoha000/launchergWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/rules/ryoha000/launcherg/10-rust-workflow)<a href="https://agentmods.dev/rules/ryoha000/launcherg/10-rust-workflow"><img src="https://agentmods.dev/badge/rules/ryoha000/launcherg/10-rust-workflow/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/rules/ryoha000/launcherg/10-rust-workflow"><img src="https://agentmods.dev/badge/rules/ryoha000/launcherg/10-rust-workflow.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00000 | $0.01064 |
| Opus 5 | $0.00000 | $0.00532 |
| Sonnet 5 | $0.00000 | $0.00213 |
| Haiku 4.5 | $0.00000 | $0.00106 |
Grade A, and why
10-rust-workflow scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured today.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
What it actually says
Rust ワークフロー(Tauri / Native Messaging Host)
- ビルドとテスト:
Tauri (Rust):task check:tauri:rustNative Messaging Host:task check:native-messaging-host
- モジュール分割: ドメイン/ユースケース/インフラのレイヤ責務を維持(ドメインにトレイト、ユースケースにモック)。
- インターフェースモデル配置:
- Tauri:
src-tauri/src/interface/models。ドメインstructからFromを実装し、#[serde(rename_all = "camelCase")]を付与。 - Native Messaging Host:
src-tauri/native-messaging-host/src/models。Chrome Native Messaging向けの入出力structを配置。こちらはsnake_caseで取り扱う。編集した際はtask gen:native-messagingを実行してTS型を更新する。
- Tauri:
- シリアライズ規約:
- Tauri(コマンド/イベント経由): TypeScript 側は
camelCaseで送受信。Rust のインターフェースstructは#[serde(rename_all = "camelCase")]を付与。Tauri がcamelCase→snake_caseのパラメータ解決を自動で行う前提。 - Native Messaging Host: TypeScript/Rust ともに
snake_caseを使用。
- Tauri(コマンド/イベント経由): TypeScript 側は
- コマンド実行ポリシー: すべて
task経由で実行(cargoの直接実行は禁止)。
Native Messaging Host ハンドラ実装ポリシー
- main.rs の責務最小化:
src-tauri/native-messaging-host/src/main.rsは入出力のフレーミング/JSONパース/メッセージ種別のディスパッチのみを行い、ビジネスロジックを持たない。 - ユースケース経由の実行: すべてのハンドラ(例:
handle_get_dmm_pack_ids)はusecase層(src-tauri/usecase/**)に定義した公開メソッドを呼び出して結果を返す。main.rsからインフラのリポジトリへ直接アクセスしない。 - モデル境界の明確化: Native Messaging のリクエスト/レスポンス構造体は
native-messaging-host/src/modelsに置き、main.rsではそれらとユースケースの引数/戻り値を相互変換するだけに留める。 - エラーハンドリング: ユースケースは
anyhow::Resultを返し、main.rs側で共通方針に従ってユーザー向けエラー文字列へ整形して返す。 - 変更手順: 新規メッセージ追加時は「(1) ユースケースに公開メソッド追加 → (2)
main.rsハンドラで呼び出し → (3) 必要に応じて models を拡張 → (4)task check:native-messaging-hostを通す」の順で実施する。
テスト戦略
- repository に新規メソッドを追加した場合は、そのメソッドについてテストを実装する
- テスト対象の関数ごとにテスト関数を定義する
- 分けたテストの関数の中で Case を定義してテーブルテストを実装する
- AAAを明確にする
- domain に定義されたポートについてモックしてテストを行う場合は、原則そのポートについて#[mockall::automock]を付与し、そのモック実装を用いてテストを行う
- ただし repository については
src-tauri/usecase/src/repositorymock.rsで実装されているモックを用いてテストを行う
- ただし repository については
- テスト名は snake_case と日本語を組み合わせた形で記述する
- テスト対象の関数ごとにテスト関数を定義し、その中で Case を定義してテーブルテストを実装する
参照
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- today First seen · 39 lines · 0 tokens per session scan A 72c288de3233
10-rust-workflow is a cursor rule published in the GitHub repository ryoha000/launcherg (37 stars, last pushed 5mo ago), licensed Unlicense. It costs nothing until one of its globs matches a file; then it loads 1,064 tokens. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-12.
Other cursor rules, from other repositories
testing
Testing guidelines and patterns for skia-rs.
if-you-think-verus-cant
When AI thinks Verus can't do something, verify with experiments.
source-layout
Rust project source and test layout.
threaded-test-timeout
Threaded tests need timeouts.
rust-quality
Rust engine quality gate — fmt, check, clippy, test, audit.
testing
Cursor rule "testing" from tyrchen/cursor-rust-rules, covering 🧪 rust testing standards, 🔍 testing strategy selection, 🏗️ cargo test organization, project structure for testing and unit test configuration.