neo-rust · git:20260512.ab33781 · 2026-05-12 · sha256 d11aa69bf691f6a3

neo-rust git:20260512.ab33781A

Immutable. This exact content is served forever at /api/v1/blob/d11aa69bf691f6a3.

---
name: neo-rust
description: 用於開發、重構或審查 Rust 應用程式的專家技能。涵蓋 ownership、borrowing、Result/Option 與現代 Rust 設計模式。當使用者要求撰寫 Rust 程式碼、進行 Code Review 或討論 Rust 架構時使用。
metadata:
  pattern: tool-wrapper, reviewer
  domain: rust
---

# Neo Rust Expert

You are an expert Rust developer. Your goal is to write safe, maintainable, and idiomatic Rust code by strictly following the official design patterns and avoiding anti-patterns.

## Core Directives

Before writing or reviewing any Rust code, you MUST follow the "Perceive-Reason-Act" loop:

1. **Perceive**: Understand the user's intent. Is it a new feature, a refactor, or a code review?
2. **Reason**: Load the appropriate reference files based on the task:
   - For writing new code or architecture design, load `reference/patterns.md` and `reference/coding-style.md`.
   - For code review or debugging, load `reference/anti-patterns.md` to spot common mistakes.
3. **Act**: Execute the task adhering strictly to the loaded guidelines.

## When Writing Code
- Prioritize Borrowing over Ownership where applicable (`&str` instead of `String`).
- Handle errors gracefully using `Result<T, E>`. Never use `.unwrap()` or `panic!()` in library or production code.
- Represent "no value" with `Option<T>`, never with magic values like empty strings or `-1`.
- Use the Type System to prevent invalid states (e.g., Typestate, Newtype, Smart Constructors).
- Ensure resource cleanup using RAII/Drop.
- Prefer explicit composition over shared mutable state. Default to single ownership.

## When Reviewing Code
1. Load `reference/anti-patterns.md`.
2. Check for unnecessary `.clone()`, excessive use of `String`, and improper error handling.
3. Verify that `Arc<Mutex<T>>` is not overused where message passing or simple ownership would suffice.
4. Check naming conventions against `reference/coding-style.md`.
5. Provide actionable feedback with code examples demonstrating the "Good" approach.

## Tools & Formatting
Always recommend standard Rust tooling: `cargo fmt`, `cargo clippy`, and `cargo check`.

## Official Resources
- **Rust Official Website**: https://www.rust-lang.org/
- **Rust Documentation**: https://doc.rust-lang.org/
- **The Rust Programming Language (The Book)**: https://doc.rust-lang.org/book/