Categorygithub.com/Clever/microplane
modulepackage
0.0.35
Repository: https://github.com/clever/microplane.git
Documentation: pkg.go.dev

# README

microplane

A CLI tool to make git changes across many repos.

Learn more about microplane in this introductory blogpost.

microplane

"the lemon is Git{Hub,Lab}"

Setup

Here are several ways to install microplane:

  • Pre-built release - You can download a pre-built version of Microplane from the Github releases.
  • Compile it yourself - Run go install github.com/Clever/microplane@latest. In this case the binary will be installed to $GOPATH/bin/microplane. Alternately, you can follow the steps under "Development", below.
  • Homebrew - brew install microplane. The latest homebrew formula is here

Usage

GitHub setup

The GITHUB_API_TOKEN environment variable must be set for Github. This should be a GitHub Token with repo scope.

Optional: If you use self-hosted Github, you can specify its URL by passing --provider-url=<your URL> when running mp init. This URL should look like: https://[hostname]. Don't include path parameters like /api/v3 or /api/uploads.

Self-hosted Github setup with different URLs for the main API and uploads API are not yet supported. If this is a blocker for you, please file an issue or make a PR.

GitLab setup

The GITLAB_API_TOKEN environment variable must be set for Gitlab. This should be a GitLab access token

To use Gitlab, you must specifically pass --provider=gitlab when running mp init.

Optional: If you use a self-hosted Gitlab, you can specify its URL by passing --provider-url=<your URL> when running mp init.

Using Microplane

Microplane has an opinionated workflow for how you should manage git changes across many repos. To make a change, use the following series of commands.

  1. Init - target the repos you want to change
  2. Clone - clone the repos you just targeted
  3. Plan - run a script against each of the repos and preview the diff
  4. Push - commit, push, and open a Pull Request
  5. Merge - merge the PRs

For an in-depth example, check out the introductory blogpost.

Related projects

Development

See Development.md.

# Packages

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author