Git Task CLI is a powerful command-line tool that streamlines your GitHub issue workflow in Git repositories. It helps developers manage issues, create topic branches, and automate pull request creation - all from the command line.
Working with GitHub issues often involves several manual steps:
- Selecting an issue to work on
- Creating a branch with a consistent naming convention
- Marking the issue as being worked on (usually with a label)
- Creating a pull request when finished
- Linking the PR to the issue
- Updating issue status/labels
This CLI tool automates this entire workflow, saving time and ensuring consistency.
- 🔍 List Issues: View all open issues in your GitHub repository
- 🚀 Start Issues: Select an issue, automatically create a branch, and mark it as in-progress
- 🎯 Finish Issues: Create pull requests linked to the original issue with minimal effort
- 🔐 Token Management: Secure GitHub token configuration
- Rust and Cargo installed on your system
- Git installed and configured
- A GitHub account and personal access token
# Clone the repository
git clone https://github.com/username/git-task-cli.git
# Navigate to the project directory
cd git-task-cli
# Build the project
cargo build --release
# Optional: Move the binary to your PATH
cp target/release/git-issue-flow /usr/local/bin/
Before using Git Task CLI, you need to configure your GITHUB token, it should have access to PRs and issues of the repository you want to work on
git-issue-flow config --token <YOUR_GITHUB_TOKEN>
to view the current token configuration:
git-issue-flow configTo list all open issues in the current repository:
git-issue-flow listThis will display issues with their numbers, titles, and labels.
To start working on an issue:
git-issue-flow startThis will:
- Present a list of open issues to choose from
- Create a new branch named
feature/<issue-number> - Add the
working-onlabel to the selected issue - Switch to the newly created branch
When you're ready to create a pull request:
git-issue-flow finishYou can also specify a title and description for the PR:
git-issue-flow finish --title "Your PR title" --description "Detailed description of changes"This will:
- Create a pull request from your current branch to the main branch
- Link the PR to the issue with a "closes #" reference
- Remove the
working-onlabel from the issue
Git Task CLI integrates with:
- Local Git repositories via the
git2crate - GitHub API via the
octocrabcrate - Terminal UI elements via
dialoguerandcoloredcrates
The tool automatically:
- Extracts repository owner and name from your git remotes
- Authenticates with GitHub using your provided token
- Creates standardized branch names and PR descriptions
- Manages issue labels to reflect work status
# 1. List available issues
git-issue-flow list
# 2. Start working on an issue (interactive selection)
git-issue-flow start
# 3. Make your changes and commit them
git add .
git commit -m "Implement feature X"
# 4. Create a PR to finish the task
git-issue-flow finish[MIT License][https://opensource.org/license/mit]
Contributions are welcome! Please feel free to submit a Pull Request.