{"id":26790312,"url":"https://github.com/qiaopengjun5162/rust-template","last_synced_at":"2025-06-13T21:35:45.748Z","repository":{"id":276995447,"uuid":"930986879","full_name":"qiaopengjun5162/rust-template","owner":"qiaopengjun5162","description":"rust-template is a versatile Rust project template that comes pre-configured with essential development tools and best practices, including automated testing, code quality checks, and changelog generation, to accelerate your Rust project development.","archived":false,"fork":false,"pushed_at":"2025-03-17T11:31:03.000Z","size":31,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-17T12:35:27.419Z","etag":null,"topics":["cargo-generate","rust","rust-template","template","template-project","template-repository"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/qiaopengjun5162.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-02-11T14:40:26.000Z","updated_at":"2025-03-17T11:31:06.000Z","dependencies_parsed_at":"2025-03-10T09:29:46.695Z","dependency_job_id":"3ea0a003-5bb5-443f-a6a1-42e2cea3a895","html_url":"https://github.com/qiaopengjun5162/rust-template","commit_stats":null,"previous_names":["qiaopengjun5162/rust-template"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qiaopengjun5162%2Frust-template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qiaopengjun5162%2Frust-template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qiaopengjun5162%2Frust-template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qiaopengjun5162%2Frust-template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/qiaopengjun5162","download_url":"https://codeload.github.com/qiaopengjun5162/rust-template/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246195678,"owners_count":20738915,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["cargo-generate","rust","rust-template","template","template-project","template-repository"],"created_at":"2025-03-29T14:28:12.848Z","updated_at":"2025-03-29T14:28:13.449Z","avatar_url":"https://github.com/qiaopengjun5162.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Rust Template\n\n![Rust](https://img.shields.io/badge/Rust-1.84.1-orange?logo=rust)\n![License](https://img.shields.io/badge/License-MIT-blue)\n\n`rust-template` is a generic Rust project template designed to help developers quickly bootstrap Rust projects. It integrates various development tools and best practices to help you write, test, and maintain Rust code more efficiently.\n\n## Features\n\n- **Pre-configured Development Environment**: Includes commonly used VSCode extensions and Rust toolchain.\n- **Code Quality Assurance**: Ensures code quality and security through tools like `pre-commit`, `cargo-deny`, and `typos`.\n- **Automated Testing**: Enhanced testing with `cargo-nextest`.\n- **Automatic Changelog Generation**: Automatically generates project changelogs using `git-cliff`.\n- **Template Generation**: Quickly generate new projects using `cargo-generate`.\n\n## Environment Setup\n\n### Install Rust\n\nIf you haven't installed Rust yet, you can install it using the following command:\n\n```bash\ncurl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh\n```\n\n### Install VSCode Extensions\n\nFor the best development experience, it is recommended to install the following VSCode extensions:\n\n- **crates**: Rust package management.\n- **Even Better TOML**: TOML file support.\n- **Better Comments**: Improved comment display.\n- **Error Lens**: Enhanced error highlighting.\n- **GitLens**: Git enhancements.\n- **Github Copilot**: Code suggestions.\n- **indent-rainbow**: Improved indentation display.\n- **Prettier - Code formatter**: Code formatting.\n- **REST client**: REST API debugging.\n- **rust-analyzer**: Rust language support.\n- **Rust Test lens**: Rust test support.\n- **Rust Test Explorer**: Rust test overview.\n- **TODO Highlight**: TODO highlighting.\n- **vscode-icons**: Icon enhancements.\n- **YAML**: YAML file support.\n\n### Install `cargo-generate`\n\n`cargo-generate` is a tool for generating project templates. It can use an existing GitHub repository as a template to generate new projects.\n\n```bash\ncargo install cargo-generate\n```\n\nGenerate a new project using `rust-template`:\n\n```bash\ncargo generate rust-template\n```\n\n### Install `pre-commit`\n\n`pre-commit` is a code linting tool that checks your code before committing.\n\n```bash\npip install pre-commit\n```\n\nAfter installation, run the following command to enable `pre-commit`:\n\n```bash\npre-commit install\n```\n\n### Install `cargo-deny`\n\n`cargo-deny` is a Cargo plugin for checking dependency security.\n\n```bash\ncargo install --locked cargo-deny\n```\n\n### Install `typos`\n\n`typos` is a spell-checking tool.\n\n```bash\ncargo install typos-cli\n```\n\n### Install `git-cliff`\n\n`git-cliff` is a tool for generating changelogs.\n\n```bash\ncargo install git-cliff\n```\n\n### Install `cargo-nextest`\n\n`cargo-nextest` is an enhanced testing tool for Rust.\n\n```bash\ncargo install cargo-nextest --locked\n```\n\n## Usage Guide\n\n### Generate a New Project\n\nUse `cargo-generate` to generate a new project:\n\n```bash\ncargo generate rust-template\n```\n\n### Run Tests\n\nRun tests using `cargo-nextest`:\n\n```bash\ncargo nextest run\n```\n\n### Generate Changelog\n\nGenerate a changelog using `git-cliff`:\n\n```bash\ngit cliff --output CHANGELOG.md\n```\n\n### Check Dependency Security\n\nCheck dependency security using `cargo-deny`:\n\n```bash\ncargo deny check\n```\n\n### Spell Checking\n\nPerform spell checking using `typos`:\n\n```bash\ntypos\n```\n\n## Contributing\n\nContributions are welcome! Please read [CONTRIBUTING.md](CONTRIBUTING.md) to learn how to contribute to the project.\n\n## License\n\nThis project is licensed under the [MIT License](LICENSE).\n\n---\n\n**Happy Coding!** 🚀\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqiaopengjun5162%2Frust-template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fqiaopengjun5162%2Frust-template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqiaopengjun5162%2Frust-template/lists"}