rustere
Rust Template repository
Description •
Install •
Usage •
Use this template •
Contribute
Description
**`rustere`** stands for **Rus**t **te**mplate **re**pository.
It's just a template repository for Rust, with the following features :
* :octocat: CI with [Github actions](https://github.com/features/actions) :
* Code formatting
* Code checks
* Unit-tests
* 📝 Issues & PR templates
* 🤖 Stale bot & Dependabot
* 🚀 Releases automatically published to [crates.io](https://crates.io/)
Install
Install `rustere` by running :
```
cargo install rustere
```
Usage
`rustere` does not contain any useful code because it's a template repository.
But you can run the following command to check if the package was correctly installed :
```console
rustere
```
Use this template
To use this template, click the button "Use this template" :
It will prompt you to create a new Github repository.
Then replace the content in your freshly created repository, with your own package name, own code, and update the links to point to your own repository.
---
Here is an exhaustive list of things to do :
* **Add your content** :
* **Change `cargo.toml`** : Replace the name of the package, the version, the author, the description, and the homepage.
* **Replace `README.md`** : You can keep the same README outline, but you must update the core content to fit what you're building. Make sure to replace any occurence of `astariul` with your own username, and replace any occurence of `rustere` with the name of your package.
* **Add your code** : Erase the content of `src/main.rs` and `src/lib.rs` and put your own code.
* **Replace the tests** : Replace the content of `tests/integration_tests.rs` with actual tests.
* **Update names and links in `.github/` folder** :
* In `.github/ISSUE_TEMPLATE/bug.yaml`, replace `rustere` with the name of your package.
* In `.github/ISSUE_TEMPLATE/config.yml`, replace `astariul/rustere` by your own `/`.
* Optionally, if there are some features you don't want (like Github action that automatically release your code to `crates.io`), you can remove it !
* **Enable Dependabot** : From the Github website, on your repository page, you can enable [Dependabot](https://docs.github.com/en/code-security/dependabot/dependabot-security-updates/configuring-dependabot-security-updates#enabling-or-disabling-dependabot-security-updates-for-an-individual-repository) by going to the `Settings` tab of your repository, then in the `Security & analysis` section you can enable `Dependabot alerts` and `Dependabot security updates`.
* **Add your `crates.io` API token** : The Github action that automatically publish your package to `crates.io` requires your [API token](https://crates.io/settings/tokens). You can store this API token in a [Github secret](https://docs.github.com/en/actions/security-guides/encrypted-secrets).
To do this, go to the `Settings` tab of your Github repository, then go to the `Secrets` section, and click the button `New repository secret`.
Then set the name of the secret as `CARGO_REGISTRY_TOKEN`, and paste your API token in the value field.
Contribute
To contribute, install the package locally, create your own branch, add your code (and tests, and documentation), and open a PR !
### Code formatting
Ensure the code you added is properly formatted with :
```console
cargo fmt
```
### Tests
When you contribute, you need to make sure all the unit-tests pass. You should also add tests if necessary !
You can run the tests with :
```console
cargo test
```
### Documentation
The documentation should be kept up-to-date. You can visualize the documentation locally by running :
```console
cargo doc --open
```