{"id":34710795,"url":"https://github.com/sunsided/rust-guidelines","last_synced_at":"2026-05-27T09:34:13.933Z","repository":{"id":307739583,"uuid":"1030557261","full_name":"sunsided/rust-guidelines","owner":"sunsided","description":"Coding guidelines for Rust, with examples","archived":false,"fork":false,"pushed_at":"2025-08-01T21:56:28.000Z","size":37,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-01T23:37:16.252Z","etag":null,"topics":["coding-guidelines","rust"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sunsided.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-08-01T21:11:43.000Z","updated_at":"2025-08-01T21:56:32.000Z","dependencies_parsed_at":"2025-08-01T23:37:17.658Z","dependency_job_id":"c1305b09-0809-48d0-a13e-b8c5c9ed636b","html_url":"https://github.com/sunsided/rust-guidelines","commit_stats":null,"previous_names":["sunsided/rust-guidelines"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/sunsided/rust-guidelines","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sunsided%2Frust-guidelines","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sunsided%2Frust-guidelines/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sunsided%2Frust-guidelines/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sunsided%2Frust-guidelines/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sunsided","download_url":"https://codeload.github.com/sunsided/rust-guidelines/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sunsided%2Frust-guidelines/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33560727,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-27T02:00:06.184Z","response_time":53,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["coding-guidelines","rust"],"created_at":"2025-12-24T23:56:46.494Z","updated_at":"2026-05-27T09:34:13.922Z","avatar_url":"https://github.com/sunsided.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Rust Coding Guidelines\n\n\u003e **Human-friendly and AI-compatible guidelines for building robust, maintainable, and idiomatic Rust applications**\n\n[![Rust](https://img.shields.io/badge/rust-2024%20edition-orange.svg)](https://www.rust-lang.org)\n[![License](https://img.shields.io/badge/license-EUPL--1.2%20OR%20MIT%20OR%20Apache--2.0-blue.svg)](https://github.com/sunsided/rust-guidelines)\n\n## 🎯 Purpose\n\nThis repository provides comprehensive, practical guidelines for Rust development, especially focused on **async and service-oriented applications**. Whether you're building web services, CLI tools, or distributed systems, these guidelines help you write code that is:\n\n- ✅ **Robust** — Handle errors gracefully and avoid common pitfalls\n- ✅ **Maintainable** — Clear structure and consistent patterns\n- ✅ **Idiomatic** — Follow Rust community best practices\n- ✅ **AI-Compatible** — Structured for both human developers and AI assistants\n\n## 📖 Guidelines\n\n**👉 [Read the Complete Guidelines](guidelines.md)**\n\nThe guidelines cover everything from project setup to advanced API design:\n\n### 🏗️ **Project Foundation**\n- Latest Rust edition usage\n- Workspace management\n- Configuration and secrets handling\n\n### 🎨 **Code Organization**\n- Feature-based module structure\n- Dependency injection patterns\n- Documentation standards\n\n### ⚡ **Error Handling \u0026 Safety**\n- `thiserror` and specific error types\n- Input validation strategies\n- Compile-time safety patterns\n\n### 🚀 **Async \u0026 Runtime**\n- Tokio runtime best practices\n- Graceful shutdown patterns\n\n### 🧪 **Testing \u0026 Quality**\n- Unit, integration, and property-based testing\n- Logging and tracing setup\n\n### 🏷️ **Naming \u0026 API Design**\n- Consistent naming conventions\n- Ownership and borrowing guidelines\n- Generic bounds and `where` clauses\n\n## 🚀 Quick Start\n\n1. **Browse the guidelines**: Start with [guidelines.md](guidelines.md)\n2. **Apply to your project**: Use the patterns and examples provided\n3. **Contribute**: Found something missing? Open an issue or PR!\n\n## 🎯 Who This Is For\n\n- **Rust developers** building production applications\n- **Teams** establishing coding standards\n- **AI assistants** needing structured Rust guidance\n- **Anyone** wanting to write better Rust code\n\n## 🤝 Contributing\n\nThese guidelines are living documents that evolve with the Rust ecosystem. Contributions, suggestions, and discussions are welcome!\n\n## 📄 License\n\nThis project is licensed under either of\n\n- EUPL v1.2\n- Apache License, Version 2.0\n- MIT License\n\nat your option.\n\n---\n\n**Happy coding! 🦀**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsunsided%2Frust-guidelines","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsunsided%2Frust-guidelines","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsunsided%2Frust-guidelines/lists"}