auto

11.3.0last stable release 6 months ago
Complexity Score
High
Open Issues
N/A
Dependent Projects
1,040
Weekly Downloadsglobal
62,107

License

  • MIT
    • Yesattribution
    • Permissivelinking
    • Permissivedistribution
    • Permissivemodification
    • Nopatent grant
    • Yesprivate use
    • Permissivesublicensing
    • Notrademark grant

Downloads

Readme



Generate releases based on semantic version labels on pull requests


Automated releases powered by pull request labels. Streamline your release workflow and publish constantly! auto is meant to be run in a continuous integration (CI) environment, but all the commands work locally as well.

Release Features:

  • Calculate semantic version bumps from PRs
  • Skip a release with the skip-release label
  • Publish canary releases from PRs or locally
  • Generate changelogs with fancy headers, authors, and monorepo package association
  • Use labels to create new changelog sections
  • Generate a GitHub release

Pull Request Interaction Features:

  • Get the labels for a PR
  • Set the status of a PR
  • Check that a pull request has a SemVer label
  • Comment on a PR with markdown
  • Update the PR body with contextual build metadata

Visit the docs for more information.

:pushpin: Plugins :pushpin:

Auto has an extensive plugin system and wide variety of official plugins. Make a PR to add yours!

Package Managers:

  • brew - Automate the creation of Homebrew formulae
  • chrome - Publish code to Chrome Web Store
  • cocoapods - Version your CocoaPod, and push to your specs repository!
  • crates - Publish Rust crates
  • docker - Publish images with Docker
  • gem - Publish ruby gems
  • git-tag - Manage your projects version through just a git tag (default when used with binary)
  • gradle - Publish code with gradle
  • maven - Publish code with maven
  • npm - Publish code to npm (default when installed through npm)
  • sbt - Publish Scala projects with sbt
  • vscode - Publish code to the VSCode extension marketplace

Extra Functionality:

  • all-contributors - Automatically add contributors as changelogs are produced using all-contributors-cli
  • conventional-commits - Parse conventional commit messages for version bumps
  • exec - Tap into hooks and run scripts on the terminal
  • first-time-contributor - Thank first time contributors for their work right in your release notes.
  • gh-pages - Automate publishing to your gh-pages documentation website
  • jira - Include Jira story links in the changelog
  • magic-zero - A plugin that closely adheres to semver versioning for 0.0.x and 0.x.y releases
  • microsoft-teams - Post your release notes to a Microsoft teams channel
  • omit-commits - Ignore commits base on name, email, subject, labels, and username
  • omit-release-notes - Ignore release notes in PRs made by certain accounts
  • pr-body-labels - Allow outside contributors to indicate what semver label should be applied to the Pull Request
  • released - Add a released label to published PRs, comment with the version it’s included in and comment on the issues the PR closes
  • s3 - Post your built artifacts to amazon s3
  • slack - Post release notes to slack
  • twitter - Post release notes to twitter
  • upload-assets - Add extra assets to the release
  • protected-branch - Handle Github branch protections and avoid run auto with an admin token

:hammer: Start Developing :hammer:

To get set up, fork and clone the project then run the following command:

yarn

Build/Typecheck

You must build at least once before running the tests or lint.

yarn build

In watch mode:

yarn start

Installing the binary

Install the bundled binary onto your system. This requires the project to be built or in watch mode.

yarn install-mac

If running this for the first time you may also have to run the following command.

chmod +x /usr/local/bin/auto

Cleaning

yarn clean

Linting

yarn lint

Testing

yarn test

Run the docs

yarn docs

Create a new plugin

Get started developing a new plugin in the monorepo in seconds.

The two arguments are:

  1. A spaced name
  2. A description
yarn create:plugin my-plugin "Do something really cool"

Create a new package

Get started developing a new package in the monorepo in seconds.

The two arguments are:

  1. A spaced name
  2. A description
yarn create:package my-package "Do something really cool"

:beers: Contributing :beers:

Feel free to make an issue or open a pull request!

Make sure to read our code of conduct.

:rocket: Projects Using auto :rocket:

:star: Storybookjs design-system - Storybook’s official design system

:star: space-kit - Home base for Apollo’s design system

:star: react-glider - A react wrapper for glider.js

:star: reaction - Artsy’s React Components

:star: emission - Artsy’s React Native Components

:star: webpack-inject-plugin - A webpack plugin to dynamically inject code into the bundle.

:star: html-webpack-insert-text-plugin - Insert text into the head or body of your HTML

:star: react-easy-crop - A React component to crop images/videos with easy interactions

:nail_care: auto Badge :nail_care:

Does your project use auto? Then use our custom badge!

:art: Prior Art :art:

auto is inspired by some excellent tech that came before it.

  • github-semantic-version - Automated semantic version releases powered by Github Issues.
  • lerna-changelog - 📖 PR-based changelog generator with monorepo support

Contributors

Thanks goes to these wonderful people (emoji key):


Adam Dierkens
💻 📖 🤔 ⚠️
Andrew Lisowski
💻 📖 🤔 🚇 ⚠️ 📝
David
🚇 ⚠️ 💻 📖
Orta
💻 📖
Justin Bennett
🐛 💻 📖 ⚠️
Alec Larson
💻
Tyler Krupicka
💻
Zachary Sherwin
💻 📖 ⚠️
bnigh
💻 📖 ⚠️
su7edja
💻
Yogesh Khandelwal
💻 ⚠️
Matt Boulanger
💻
Karen Lo
📖
James Nail
⚠️ 💻
rdipika94
📖
Brian Muenzenmeyer
📖 💻
Sarah van der Laan
📖
Hannes Güdelhöfer
💻
Eric Clemmons
💻 📖 ⚠️
Jeremiah Zucker
📖 ⚠️ 💻
Brandon Miller
💻 📖 ⚠️
Harris Borawski
📖 ⚠️ 💻
Shelby Cohen
📖 ⚠️ 💻
Kyle Brown
⚠️ 💻
Till Weisser
📖 ⚠️ 💻
G. Richard Bellamy
📖 💻 ⚠️
Kevin Wolf
📖 ⚠️ 💻
Marty Henderson
📖 ⚠️ 💻
Spencer Hamm
💻
Lucas Shadler
💻 ⚠️
David Stone
📖 ⚠️ 💻
Lucas Curti
💻
rachana
📖 ⚠️ 💻
Richard Simpson
📖 ⚠️ 💻
Arturo Silva
📖
Christy Jacob
📖
Check your git settings!
📖
Kendall Gassner
📖 ⚠️ 💻
Drew Cortright
📖 ⚠️ 💻
Philippe Boyd
📖
Mukul Chaware
📖 ⚠️ 💻
Tim Ottewell
📖 ⚠️ 💻
Andrew Leedham
📖 ⚠️ 💻
Seth Thomas
⚠️ 💻
Evan Lovely
📖
Dorian Marié
📖
myndelx
💻
sentony93
📖 ⚠️ 💻
Kelly Harrop
📖 💻
Rogerio Angeliski
📖 ⚠️ 💻
Piotr Monwid-Olechnowicz
💻 📖
John T. Wodder II
📖
Alexey Alekhin
📖 💻 ⚠️ 🚇
Vincent Briglia
📖 ⚠️ 💻
Cameron Yick
⚠️ 💻 📖 🚇
Kelvin Nguyen
💻
Lucas Shadler
📖 ⚠️ 💻
Mathieu Bergeron
📖 ⚠️ 💻
Andreas Weichselbaum
📖 ⚠️ 💻
Torkjel Hongve
📖 ⚠️ 💻
Dalton Scharff
📖 ⚠️ 💻
Corentin Ardeois
💻
Julien Bouyoud
📖 ⚠️ 💻
Valentin Hervieu
📖 ⚠️ 💻
Ikko Ashimine
📖 ⚠️ 💻
Josh Biddick
📖 💻
Anton Karpov
⚠️ 💻
Eric Hayes
📖 ⚠️ 💻
Dominik Moritz
💻 ⚠️
Jason T Brown
📖 🚇 ⚠️ 💻
Bruno Nardini
📖 🚇 ⚠️ 💻
Andrey Bozhko
💻
Adil Malik
📖 🚇 ⚠️ 💻
David Sheldrick
⚠️ 💻 📖
Eskild Diderichsen
📖 ⚠️ 💻
ld-codes
📖 💻
Chris
📖
Satish Pokala
📖
Niccolò Olivieri Achille
⚠️ 💻
Jack Westbrook
📖 ⚠️ 💻
Atte Huhtakangas
📖 ⚠️ 💻
Patrick Ruhkopf
⚠️ 💻
Mark Potnick
⚠️ 💻
MichaelRyanWebber
💻
Martin Elias
💻
Ketan Reddy
⚠️ 💻

This project follows the all-contributors specification, contributions of any kind welcome!

Adding a Contributor

To add a contributor run yarn contributors:add, choose “Add new contributor or edit contribution type” and follow the prompts.

License

Dependencies

Loading dependencies...

CVE IssuesActive
0
Scorecards Score
3.20
Test Coverage
No Data
Follows Semver
Yes
Github Stars
2,325
Dependenciestotal
14
DependenciesOutdated
3
DependenciesDeprecated
0
Threat Modelling
No Data
Repo Audits
No Data

Learn how to distribute auto in your own private NPM registry

npm config set registry  https://npm.cloudsmith.com/owner/repo
Processing...
Done
npm install auto
Processing...
Done

1215 Releases

NPM on Cloudsmith

Getting started with NPM on Cloudsmith is fast and easy.