GithubHelp home page GithubHelp logo

stefanlogue / meteor Goto Github PK

View Code? Open in Web Editor NEW
178.0 4.0 13.0 8.92 MB

A highly configurable CLI tool for writing conventional commits

License: MIT License

Go 92.72% Python 4.65% Shell 2.08% Makefile 0.56%
cli commit go golang tui charmbracelet conventional-commits huh

meteor's Introduction

️☄ meteor ☄

GitHub Release
Meteor is a simple, highly customisable CLI tool that helps you to write conventional commits with git.

You can call meteor where you'd normally type git commit. All flags supported in git commit will still work.

Demo

Installation

Homebrew

brew tap stefanlogue/tools
brew install meteor

Go

Install with Go (1.21+):

go install github.com/stefanlogue/meteor@latest

Or grab a binary from the latest release.

Customisation

You can customise the options available by creating a .meteor.json file anywhere in the directory tree (at or above the current working directory). The config file closest to the current working directory will be preferred. This enables you to have different configs for different parent directories, such as one for your personal work, one for your actual work, one for open source work etc. For global configurations you can create a config.json file in the ~/.config/meteor/ directory.

Demo with boards

The content should be in the following format:

{
  "boards": [
    { "name": "COMP" },
    { "name": "PERS" }
  ],
  "coauthors": [
    { "name": "John Doe", "email": "[email protected]" }
  ],
  "prefixes": [
    { "type":  "feat", "description":  "a new feature"},
    { "type":  "fix", "description":  "a bug fix"},
    { "type":  "bug", "description":  "introducing a bug"}
  ],
  "commitTitleCharLimit": 60
}

If you use boards (Jira etc) but need a way to have commits without one, add the following to the boards array:

{
  "boards": [
    { "name": "COMP" },
    { "name": "NONE" }
  ]
}

And if you want to skip the intro screen to save a keypress, add the following to your config:

{
  "showIntro": false
}

meteor's People

Contributors

alexandregv avatar crocmagnon avatar henkka avatar jippi avatar nkxxll avatar sebastianwebber avatar stefanlogue avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

meteor's Issues

Cannot proceed after "Ready to Commit"

🐛 Describe the bug

Hi,

I've cloned the main branch and tried to build on my own using make.

Either I build it with make or go build, or just run it with go run, I could not continue after 'Ready to Commit' phase.
The latest binary is on commit : #7f686a0, but the main branch is not working properly I think.

I've tracked down the commits and #refactor(deps): update dependencies the application started to fail after this commit.

Versions

main branch

Show the git commit command

🚀 The feature, motivation and pitch

Show the git commit command that's generated.

I'm using pre-commit to run checks before committing, and the tool can stop the commit from happening. When using git commit -m "msg" directly, I can fix the issues reported, then re-run the last command.
With meteor, I'm forced to go through the wizard again, which is a time loss.

I'd also be happy with a way to re-run the last options, but I guess it would be more difficult to implement.

Alternatives

No response

Additional context

No response

Thank you for this

📚 The doc issue

it may not be super necessary to thank you but this is a slick tool. Its nice that its easy to commit from the command line but its also nice to have a tool that makes it a bit nicer by default.

Suggest a potential alternative/fix

No response

Global meteor.json

🐛 Describe the bug

The config file .meteor.json is not found when placed in $HOME. Everything works as expected, when .meteor.json is placed above the working dir (even deeply nested) until the uppermost dir is the home directory.

It would be nice to have a global configuration in ~/.meteor.json and/or ~/.config/meteor.json and/or ~/.config/meteor/meteor.json

Versions

meteor version 0.18.0

Breaking changes

🚀 The feature, motivation and pitch

A way to mark the commit as a breaking change, following conventional commits this would be something like feat!: some breaking change

Alternatives

No response

Additional context

No response

Cannot unselect coauthors

🐛 Describe the bug

When selecting a coauthor, it is displayed beside the title. If I try to unselect a coauthor (by pressing space while the cursor is over the coauthor), it adds it to the list again.

Expected behaviour:
The coauthor should be removed from the list

Versions

v0.1.1

add fuzzy finding to commit type selection

🚀 The feature, motivation and pitch

it would be nice if it was possible to select the commit type using a fuzzy finder, instead of manually selecting using the arrow keys.

Alternatives

No response

Additional context

No response

Global config file

🚀 The feature, motivation and pitch

The home directory should be as clean as possible. For global configs, I would like to always use the XDG_CONFIG dir or something similar. This should also be a best practice for *nix systems.
The meteor app could search down to the home dir or the lowest dir owned by the user, but should then look for the XDG_CONFIG or similar directories.

Alternatives

No response

Additional context

No response

prefix format in documentation is incorrect

📚 The doc issue

The example .meteor.json given in the docs shows each prefix having two key:value pairs, "title" and "description". e.g.

"prefixes": [
  {"title": "feat", "description": a new feature}
]

Checking the definition of the prefix struct in config.go it looks as though the keys should be "type" and "description".

Suggest a potential alternative/fix

Amend the example .meteor.json to follow the struct definition with keys "type" and "description", e.g.

"prefixes": [
  {"type": "feat", "description": a new feature}
]

disable the first screen

🚀 The feature, motivation and pitch

The first screen with the text describing the tool doesn't add value and gets in the way of committing, it would be nice to have an option to remove it. Maybe show it only the first time the tool is run? Or remove it altogether.

Alternatives

No response

Additional context

No response

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.