https://github.com/kylef/maintain
A unified interface to maintaining projects of any language.
https://github.com/kylef/maintain
Last synced: about 2 months 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 10 years ago)
- Default Branch: main
- Last Pushed: 2024-12-21T21:44:54.000Z (11 months ago)
- Last Synced: 2025-08-25T13:01:20.168Z (2 months ago)
- Language: Python
- Homepage: https://maintain.fuller.li/
- Size: 182 KB
- Stars: 7
- Watchers: 3
- Forks: 3
- Open Issues: 8
-
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.