Skip to content

moul/repoman

repoman

πŸ“‹ repo manager: some scripts I run against my repos

go.dev reference License GitHub release Docker Metrics Made by Manfred Touron

Go Release PR GolangCI codecov Go Report Card CodeFactor

Gitpod ready-to-code

Usage

foo@bar:~$ repoman info .
{
  "Git": {
    "CloneURL": "git@github.com:moul/repoman",
    "CurrentBranch": "master",
    "HTMLURL": "https://github.com/moul/repoman",
    "InMainBranch": true,
    "IsDirty": null,
    "MainBranch": "master",
    "Metadata": {
      "GoModPath": "moul.io/repoman",
      "HasBinary": true,
      "HasDocker": true,
      "HasGo": true,
      "HasLibrary": false
    },
    "OriginRemotes": [
      "git@github.com:moul/repoman"
    ],
    "RepoName": "repoman",
    "RepoOwner": "moul",
    "Root": "/home/moul/go/src/moul.io/repoman"
  },
  "Path": "/home/moul/go/src/moul.io/repoman"
}

foo@bar:~$ repoman -h
USAGE
  repoman <subcommand>

SUBCOMMANDS
  info                 get project info
  doctor               perform various checks (read-only)
  maintenance          perform various maintenance tasks (write)
  version              show version and build info
  template-post-clone  replace template
  assets-config        generate a configuration for assets

FLAGS
  -v false  verbose mode
foo@bar:~$ repoman maintenance -h
USAGE
  maintenance [opts] <path...>

FLAGS
  -bump-deps false            bump dependencies
  -checkout-main-branch true  switch to the main branch before applying the changes
  -fetch true                 fetch origin before applying the changes
  -open-pr true               open a new pull-request with the changes
  -reset false                reset dirty worktree before applying the changes
  -show-diff true             display git diff of the changes
  -std true                   standard maintenance tasks
foo@bar:~$ repoman info -h
USAGE
  info [opts] <path...>
foo@bar:~$ repoman template-post-clone -h
USAGE
  template-post-clone [opts] <path...>

FLAGS
  -checkout-main-branch true           switch to the main branch before applying the changes
  -fetch true                          fetch origin before applying the changes
  -open-pr true                        open a new pull-request with the changes
  -reset false                         reset dirty worktree before applying the changes
  -rm-go-binary false                  whether to delete everything related to go binary and only keep a library
  -show-diff true                      display git diff of the changes
  -template-name golang-repo-template  template's name (to change with the new project's name)
  -template-owner moul                 template owner's name (to change with the new owner)

GitHub Actions / Workflows

See the moul/repoman-action repo

Install

Using go

go get moul.io/repoman

Releases

See https://github.com/moul/repoman/releases

Contribute

Contribute <3

I really welcome contributions. Your input is the most precious material. I'm well aware of that and I thank you in advance. Everyone is encouraged to look at what they can do on their own scale; no effort is too small.

Everything on contribution is sum up here: CONTRIBUTING.md

Dev helpers

Pre-commit script for install: https://pre-commit.com

Contributors ✨

All Contributors

Thanks goes to these wonderful people (emoji key):


Manfred Touron

🚧 πŸ“– ⚠️ πŸ’»

moul-bot

🚧

This project follows the all-contributors specification. Contributions of any kind welcome!

Stargazers over time

Stargazers over time

License

Β© 2021 Manfred Touron

Licensed under the Apache License, Version 2.0 (LICENSE-APACHE) or the MIT license (LICENSE-MIT), at your option. See the COPYRIGHT file for more details.

SPDX-License-Identifier: (Apache-2.0 OR MIT)