https://github.com/igorcosta/gh-lazy
๐ gh-lazy: Your productive GitHub CLI superpowers! Automate all the things, because life's too short for manual setups. ๐ด๐ป
https://github.com/igorcosta/gh-lazy
cli gh-cli golang
Last synced: 8 months ago
JSON representation
๐ gh-lazy: Your productive GitHub CLI superpowers! Automate all the things, because life's too short for manual setups. ๐ด๐ป
- Host: GitHub
- URL: https://github.com/igorcosta/gh-lazy
- Owner: igorcosta
- License: mit
- Created: 2024-09-20T10:01:18.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-01-22T04:41:40.000Z (over 1 year ago)
- Last Synced: 2025-01-22T05:25:26.534Z (over 1 year ago)
- Topics: cli, gh-cli, golang
- Language: Go
- Homepage:
- Size: 115 KB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ๐ Lazy: Your productive gh and git superpowers
[](https://github.com/sindresorhus/awesome)
[](https://github.com/igorcosta/gh-lazy/stargazers)
[](https://opensource.org/licenses/MIT)
> Because life's too short for manual setups and you don't have time to automate things!
## ๐ญ What's in a Name?
**L**ightweight
**A**utomated
**Z**ero-effort
**Y**ielding-results
## ๐ Overview
Lazy is your secret weapon for turbocharging git, GitHub CLI commands. Say goodbye to tedious manual configurations, combined commands and hello to lightning-fast, automated awesomeness! We're so lazy that we took advantage of the existing `awesome github cli tool` and beautified it with laziness.
## ๐ Features That'll Make You Go "Wow!"
- ๐โโ๏ธ Sprint through GitHub issue or issue`S` and milestone creation, deletion
- ๐ค Automagically set up GitHub Projects (v2)
- ๐งโโ๏ธ Customize task templates with the power of JSON
- ๐งจ **Nuke GitHub projects and issues with ease**
- ๐ Seamlessly integrate with GitHub CLI like a boss
- Private LLM interface for Ollama or `Llama-3.2 2b param`
## ๐ ๏ธ Requirements
Before you embark on your Lazy journey, make sure you have:
1. Your laziness!
2. [Homebrew](https://brew.sh/) installed (because we're fancy like that)
3. A GitHub account (you're not living under a rock, are you?)
4. A valid GitHub token with appropriate permissions (we'll show you how)
5. Basic knowledge of JSON (don't worry, it's not rocket science)
6. A burning desire to automate ALL THE THINGS!
7. Optional: If you have ollama installed, configure an LLM for more awesome stuff!!!
## ๐๏ธ Installation
Let's get this party started:
1. Fire up your terminal (and try not to feel like a hacker)
2. Install the GitHub CLI (if you haven't already):
```bash
brew install gh
```
3. Install the Lazy extension (prepare to be amazed):
```bash
gh extension install lazy
```
4. Do a little victory dance ๐บ๐
## ๐ฎ Usage
Time to unleash the power of Lazy:
### Creating Projects, Milestones, and Issues
```bash
gh lazy create --repo "your-awesome-username/your-cool-repo" --tasks "path/to/your/amazing/tasks.json"
```
#### ๐๏ธ Available Options for `create`
```bash
Lazy - Your productive gh and git superpowers
Usage: gh lazy create [flags]
Flags:
-r, --repo string Your repository's name (e.g., 'cool-dev/awesome-project')
-t, --tasks string Path to your magical tasks JSON file
-f, --token-file string Path to the file containing your GitHub token (default ".token")
Example:
gh lazy create --repo cool-dev/awesome-project --tasks ./world-domination-plan.json
```
### ๐งจ Nuking a Project
Delete a GitHub project and optionally all linked issues.
```bash
gh lazy nuke [--projectid ] [--all] [--dry-run]
```
- If you provide the `--projectid` (`-p`) flag, the command will delete the specified project.
- If you omit the `--projectid` flag, the tool will:
1. **List all your available projects** and allow you to select one interactively.
2. **Ask if you want to perform a dry run first.**
3. **Ask if you want to delete all associated issues.**
#### ๐๏ธ Available Options for `nuke`
```bash
Usage: gh lazy nuke [flags]
Flags:
-p, --projectid string Project ID or URL to nuke
-a, --all Delete all issues linked to the project
--dry-run Show what would happen without making changes
Example:
gh lazy nuke --projectid https://github.com/users/yourusername/projects/1 --all --dry-run
```
**Examples:**
- **Interactive Mode:**
```bash
gh lazy nuke
```
This will prompt you to select a project and configure options interactively.
- **Dry Run Without Deleting Issues:**
```bash
gh lazy nuke --projectid https://github.com/users/yourusername/projects/1 --dry-run
```
- **Dry Run With Deleting Issues:**
```bash
gh lazy nuke --projectid 1 --all --dry-run
```
- **Actual Deletion:**
```bash
gh lazy nuke --projectid 1 --all
```
- **Need to prepare your prompt for your favourite LLM?**
```bash
gh lazy codeprompt "given this project, I need to modify my version.go file, help me out" --system-prompt . --ignore-gitignore --ignore "go.sum" --ignore "*.md" --ignore "gh-lazy" -o prompt.txt
```
---
## ๐งโโ๏ธ How It Works (Warning: Mind-Blowing Content Ahead)
1. Lazy reads your JSON file faster than you can say "automation."
2. It creates milestones and issues in your GitHub repo like a seasoned project manager on steroids.
3. A shiny new GitHub Project (v2) materializes out of thin air.
4. Issues are automagically added to the project, leaving you more time for coffee breaks.
5. **Need to clean up? Use the `nuke` command to delete projects and issues effortlessly.**
---
## ๐ค Contributing (Join the Lazy Revolution)
Want to make Lazy even more awesome? Here's how:
1. Fork the repo (and star it while you're at it).
2. Create a new branch (`git checkout -b feature/mind-blowing-idea`).
3. Commit your changes (`git commit -am 'Add some mind-blowing feature'`).
4. Push to the branch (`git push origin feature/mind-blowing-idea`).
5. Create a new Pull Request and wait for the applause.
---
## ๐ License
This project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details. (TL;DR: Do whatever you want, just don't blame us if your computer gains sentience)
---
## ๐ Support
Stuck? Need help? Just want to chat about the meaning of life?
- Open an issue in our GitHub repo.
---
Remember: Stay Lazy, Stay Productive! ๐ด๐ป
## ๐ Special Thanks (aka The Lazy Hall of Fame) ๐
I've done this due to the community efforts, making it easy like a breeze. ๐ฌ๏ธ Because why work hard when you can work smart? ๐ง ๐ก
[Special thanks](./SPECIAL_THANKs.md) for the full list of lazy legends who made this possible! ๐ฆธโโ๏ธ๐ฆธโโ๏ธ
Click here for a sneak peek of our gratitude (and some reactions)! ๐
- To the coffee that fueled this project: โ (๐ x 1000)
- To GitHub Copilot, our silent partner: ๐ฅ (๐ x 99999999)
- To our rubber duck debuggers: ๐ฆ (โค๏ธ x 42)
- To Cmd+C and Cmd+V, the real MVPs: ๐
(๐ x โ)
Remember, in the world of `gh-lazy`, we don't just stand on the shoulders of giants. We take the elevator! ๐๐
P.S. If you're not lazy enough to click the link above, you're probably using this tool wrong. Just saying! ๐