morganlinton/BeautifulRust
Agent Skills that teach coding agents to write, review, and port idiomatic Rust, plus a tested clippy config. Works with Claude Code, Codex, Copilot, Cursor, and Gemini CLI.
Beautiful Rust는 AI 코딩 에이전트가 관용적인 방식으로 Rust 코드를 작성, 검토, 포팅하도록 가르치는 도구 모음입니다. 두 부분으로 구성됩니다: 세 가지 스킬(에이전트가 작업 중 읽는 지침)과 린트 설정(CI에서 위반 사항을 자동으로 잡는 규칙)입니다.
세 가지 스킬
rust-best-practices — 에이전트가 Rust 코드를 작성하거나 변경할 때 활성화됩니다. 에이전트를 관용적이고, 견고하며, 유지 관리 가능한 코드로 안내합니다. 이것이 핵심 스킬이며, 다른 두 스킬은 이를 기반으로 합니다.
rust-review — 기존 Rust 코드(단일 파일, 전체 크레이트 또는 diff)를 검토하고 우선순위가 지정된 보고서를 생성합니다. 각 발견 사항에는
file:line위치, 위반하는 규칙(API 지침 코드 또는 clippy 린트와 같은 출처 포함), 그리고 이를 수정하는 가장 작은 코드 변경이 포함됩니다. 발견 사항은 계층화됩니다: 반드시 수정, 수정 권장, 고려. 보고서는 코드가 이미 잘 수행하고 있는 부분으로 끝납니다.rust-port — C, C++, Python, Go 또는 JavaScript를 동일한 동작을 가진 관용적인 Rust로 포팅합니다. 먼저 원래 테스트를 포팅하여 두 버전이 일치함을 증명할 수 있게 합니다. 원래 코드를 직역하는 대신 Rust API를 설계하고, 각 언어의 습관을 Rust의 동등한 것으로 매핑합니다. 예를 들어,
NULL/None은Option이 되고, 오류 코드는 오류 열거형이 되고, 출력 매개변수는 반환 값이 되고, 플래그 정수는 타입이 지정된 열거형이 됩니다. 각 포팅에는 의도적인 차이점을 모두 문서화한PORTING.md가 포함됩니다.
린트 설정
lints/는 드롭인 clippy 구성입니다. clippy.toml을 Cargo.toml 옆에 복사하고, lints.toml에서 [lints] 블록을 붙여넣고, cargo clippy를 실행합니다. 테스트 외부의 unwrap(), // SAFETY: 주석이 없는 unsafe 블록, 이유 없는 #[allow], bool 함수 매개변수, 무음 손실 as 캐스트, # Errors 및 # Panics 문서 누락, 남은 dbg!/todo! 등을 플래그합니다. 모든 린트가 실제로 발동함이 입증되었습니다. 작은 테스트 크레이트에는 각 린트에 대한 의도적인 위반이 하나씩 포함되어 있으며, 스크립트는 린트가 작동을 멈추면 실패합니다.
실제 변경 사항
README에는 구체적인 before/after가 나와 있습니다. 작은 semver 파싱 라이브러리를 구축하라는 요청을 받았을 때, 스킬 없이 에이전트는 공개 필드, # Errors 문서 없음, 문서 예제에서 unwrap()을 사용하는 구조체를 생성했습니다. 스킬 사용 시, 동일한 에이전트는 필드를 비공개로 유지하고, 실패 모드를 명시적으로 문서화하고, 사용자가 안전하게 복사하여 붙여넣을 수 있는 문서 예제를 작성했습니다.
지침 출처
스킬은 다섯 개의 공개된 출처를 요약하며, 각 출처의 요약본이 스킬에 포함되어 에이전트가 원래 추론을 참조할 수 있습니다:
- Google Rust 스타일 가이드
- Rust API 지침(공식 rust-lang 체크리스트)
- David Drysdale의 Effective Rust
- Rust 디자인 패턴(rust-unofficial)
- Microsoft 실용적 Rust 지침
출처가 충돌하는 경우, 스킬은 한쪽을 선택하고 이유를 설명합니다.
호환성 및 설치
Claude Code, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI 및 Agent Skills 형식을 읽는 모든 에이전트와 호환됩니다. 설치 방법은 에이전트마다 다릅니다. 원커맨드 설치 프로그램, 플러그인 설치, 또는 스킬 폴더를 에이전트의 스킬 디렉토리에 복사하는 것만으로도 가능합니다. 각 에이전트에 대한 올바른 디렉토리를 나열한 표가 있습니다.
효과
스킬은 실제 모델 실행(비용이 드는)으로 테스트되었습니다. 결과:
- 작성 스킬: 스킬 사용 시 30개 중 29개 통과, 미사용 시 30개 중 24개 통과 — 작업당 약 1/3 더 많은 토큰 사용.
- 검토 스킬: 12개 중 11개 통과 vs 12개 중 7개.
- 포팅 스킬: 22개 중 22개 통과 vs 22개 중 19개.
유지 관리 및 기여
업데이트는 plugin.json을 통해 버전 관리됩니다. Claude Code 사용자는 한 명령으로 업데이트를 받을 수 있습니다. 검증 스크립트는 푸시 전에 스킬 형식, 링크 및 평가 사례를 확인합니다. 기여는 환영합니다. 각 규칙은 공개된 출처를 인용해야 하며, README는 기여 가이드에 연결됩니다.
라이선스
스킬 텍스트, 요약, 배너 및 생성기 스크립트는 MIT 라이선스입니다. 다섯 개의 출처 요약은 원본에 연결되는 의역된 요약이며, 각각 자체 라이선스(CC BY 3.0, MIT/Apache-2.0, CC BY-NC-ND 4.0, MPL-2.0, MIT)를 따릅니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트