Release Manager for Your Projects on Forgejo, Gitea, GitHub, and GitLab https://git.cscherr.de/PlexSheep/autocrate
Go to file
Christoph J. Scherr effa8cf348
cargo devel CI / cargo CI (push) Successful in 47s Details
cool ai readme
2024-01-23 22:34:17 +01:00
.gitea/workflows Initial commit 2024-01-23 21:38:11 +01:00
data/media basic readme 2024-01-23 22:12:15 +01:00
src Initial commit 2024-01-23 21:38:11 +01:00
.gitignore Initial commit 2024-01-23 21:38:11 +01:00
Cargo.toml Initial commit 2024-01-23 21:38:11 +01:00
LICENSE Initial commit 2024-01-23 21:38:11 +01:00
README.md cool ai readme 2024-01-23 22:34:17 +01:00

README.md

Autocrate

logo

Disclaimer: I've generated the Readme and logo with the help of so called AI tools and modified them afterwards.

Autocrate simplifies the creation and maintenance of releases for your Rust projects hosted on Gitea servers. By providing essential functionalities like uploading artifacts, publishing crates, and managing changelogs, Autocrate streamlines the release process, allowing developers to focus on their work. Although initially built for Gitea, we plan to extend support for additional platforms such as GitHub and GitLab.

Project badge License

Features

  • Create and update releases on your Gitea server
  • Publish crates to Cargo.rs or other repositories directly from your Rust projects
  • Upload artifacts, including documentation and binaries, alongside your releases
  • Generate and maintain changelogs and release notes.

Upcoming Features

My goal is to continuously enhance Autocrate to better serve the developer community. Some planned improvements include supporting other popular hosting platforms, enabling even greater flexibility and convenience.

Getting Started

Before getting started with Autocrate, make sure you have the necessary prerequisites covered:

Installing

Once the above pre-requisites are met, begin setting up Autocrate by running the following command in your terminal:

$ cargo install autocrate

This command downloads from crates.io and compiles Autocrate locally, making it readily accessible through your command line interfaces.

Configuring Autocrate

Create a TOML file named .autocrate.yaml in the root of your Git repository. It should contain the following parameters (replace the placeholders):

Parent Key Value Explanation
(root) git-log true/false should a changelog be generated with git log?
(root) uses keys with this as parent (f.e. cargo Marks features to be used by Autocrate
uses cargo tells us that your project uses cargo tells us that your project uses cargo
cargo publish true/false should we publish crates?
cargo registries registries see this A list of registries we should publish to. If empty defaults to crates.io.

Using Autocrate

Navigate to your desired Rust project location and execute Autocrate commands as shown below:


# Other example commands $ autocrate init          # Initialise a fresh
release $ autocrate bump         # Increase release version number $ autocrate
publish       # Build and distribute the release ```

Please consult the `docs` folder inside the repository for detailed
explanations, tutorials, and advanced configurations.

## Licensing

Autocrate is free software.

The Autocrate project is distributed under the terms of the permissive MIT
License. Please refer to [`LICENSE`](./LICENSE) for complete licensing details.

## Project status

The project has started recently and is currently in pre-alpha.