Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kylef/maintain
A unified interface to maintaining projects of any language.
https://github.com/kylef/maintain
Last synced: 10 days ago
JSON representation
A unified interface to maintaining projects of any language.
- Host: GitHub
- URL: https://github.com/kylef/maintain
- Owner: kylef
- License: bsd-2-clause
- Created: 2016-01-14T15:39:58.000Z (almost 9 years ago)
- Default Branch: main
- Last Pushed: 2024-12-21T13:51:34.000Z (20 days ago)
- Last Synced: 2024-12-21T14:07:47.919Z (20 days ago)
- Language: Python
- Homepage: https://maintain.fuller.li/
- Size: 160 KB
- Stars: 7
- Watchers: 4
- Forks: 4
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# Maintain
A unified interface to maintaining projects of any language.
## Installation
### PIP
```
$ pip install maintain
```## Usage
### Release automation
Maintain offers a command to automate bumping version numbers and releasing your project.
```shell
$ maintain release patch
```This release command will figured out the type of package, whether it be a
Python package, Ruby Gem, NPM package etc and then perform the steps necessary
to release it. It will bump the version number, create a release commit, tag
the release and push it to the respective package manager.Maintain allows you to specify the `major`, `minor` or `patch` to
automatically bump the respective version number, or you can explicitly
specify a version.#### Pull-request
You can configure Maintain to create a pull request and perform the
release in two steps. This is useful if you use code-review for the release
process:```shell
$ maintain release 1.2.0-beta.1 --pull-request
```Once the pull request is merged, you can perform the actual release:
```shell
$ maintain release --no-bump
```**NOTE:** *This step could be done during continuous integration.*
#### Custom Hooks
By creating a `.maintain.yml` file in the root of your repository, you can add
hooks to various stages of the release process.