{"id":28051486,"url":"https://github.com/lukaszwisniewski88/git-task-cli","last_synced_at":"2025-05-12T01:54:32.857Z","repository":{"id":291946177,"uuid":"979224410","full_name":"lukaszwisniewski88/git-task-cli","owner":"lukaszwisniewski88","description":"A CLI tool that streamlines GitHub issue workflows: create branches, track progress, and generate PRs automatically. Simplify your git + GitHub issue management with a single command.","archived":false,"fork":false,"pushed_at":"2025-05-07T12:42:22.000Z","size":33,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-12T01:54:09.309Z","etag":null,"topics":["automation","cli-tool","developer-tools","git-workflow","github-api","github-issues","issue-tracking","productivity","pull-requests","rust"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lukaszwisniewski88.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-05-07T07:26:16.000Z","updated_at":"2025-05-07T12:42:25.000Z","dependencies_parsed_at":"2025-05-07T11:19:59.832Z","dependency_job_id":"318721ca-2df0-49cc-baf8-5d88ca7c8dad","html_url":"https://github.com/lukaszwisniewski88/git-task-cli","commit_stats":null,"previous_names":["lukaszwisniewski88/git-task-cli"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lukaszwisniewski88%2Fgit-task-cli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lukaszwisniewski88%2Fgit-task-cli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lukaszwisniewski88%2Fgit-task-cli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lukaszwisniewski88%2Fgit-task-cli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lukaszwisniewski88","download_url":"https://codeload.github.com/lukaszwisniewski88/git-task-cli/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253660842,"owners_count":21943823,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["automation","cli-tool","developer-tools","git-workflow","github-api","github-issues","issue-tracking","productivity","pull-requests","rust"],"created_at":"2025-05-12T01:54:32.428Z","updated_at":"2025-05-12T01:54:32.838Z","avatar_url":"https://github.com/lukaszwisniewski88.png","language":"Rust","readme":"# Git Task CLI\n\nGit 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.\n\n## Problem Statement\n\nWorking with GitHub issues often involves several manual steps:\n1. Selecting an issue to work on\n2. Creating a branch with a consistent naming convention\n3. Marking the issue as being worked on (usually with a label)\n4. Creating a pull request when finished\n5. Linking the PR to the issue\n6. Updating issue status/labels\n\nThis CLI tool automates this entire workflow, saving time and ensuring consistency.\n\n## Features\n\n- 🔍 **List Issues**: View all open issues in your GitHub repository\n- 🚀 **Start Issues**: Select an issue, automatically create a branch, and mark it as in-progress\n- 🎯 **Finish Issues**: Create pull requests linked to the original issue with minimal effort\n- 🔐 **Token Management**: Secure GitHub token configuration\n\n## Installation\n\n### Prerequisites\n\n- Rust and Cargo installed on your system\n- Git installed and configured\n- A GitHub account and personal access token\n\n### Building from Source\n\n```bash\n# Clone the repository\ngit clone https://github.com/username/git-task-cli.git\n\n# Navigate to the project directory\ncd git-task-cli\n\n# Build the project\ncargo build --release\n\n# Optional: Move the binary to your PATH\ncp target/release/git-issue-flow /usr/local/bin/\n\n```\n\n## Usage\n### Configuration\n\nBefore 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\n```bash\ngit-issue-flow config --token \u003cYOUR_GITHUB_TOKEN\u003e\n\n```\nto view the current token configuration:\n```bash\n\ngit-issue-flow config\n```\n### Listing Issues\n\nTo list all open issues in the current repository:\n\n```bash\ngit-issue-flow list\n```\n\nThis will display issues with their numbers, titles, and labels.\n\n### Starting Work on an Issue\n\nTo start working on an issue:\n\n```bash\ngit-issue-flow start\n```\n\nThis will:\n1. Present a list of open issues to choose from\n2. Create a new branch named `feature/\u003cissue-number\u003e`\n3. Add the `working-on` label to the selected issue\n4. Switch to the newly created branch\n\n### Finishing Work on an Issue\n\nWhen you're ready to create a pull request:\n\n```bash\ngit-issue-flow finish\n```\n\nYou can also specify a title and description for the PR:\n\n```bash\ngit-issue-flow finish --title \"Your PR title\" --description \"Detailed description of changes\"\n```\n\nThis will:\n1. Create a pull request from your current branch to the main branch\n2. Link the PR to the issue with a \"closes #\u003cissue-number\u003e\" reference\n3. Remove the `working-on` label from the issue\n\n## How It Works\n\nGit Task CLI integrates with:\n- Local Git repositories via the `git2` crate\n- GitHub API via the `octocrab` crate\n- Terminal UI elements via `dialoguer` and `colored` crates\n\nThe tool automatically:\n- Extracts repository owner and name from your git remotes\n- Authenticates with GitHub using your provided token\n- Creates standardized branch names and PR descriptions\n- Manages issue labels to reflect work status\n\n## Example Workflow\n\n```bash\n# 1. List available issues\ngit-issue-flow list\n\n# 2. Start working on an issue (interactive selection)\ngit-issue-flow start\n\n# 3. Make your changes and commit them\ngit add .\ngit commit -m \"Implement feature X\"\n\n# 4. Create a PR to finish the task\ngit-issue-flow finish\n```\n\n## License\n\n[MIT License][https://opensource.org/license/mit]\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flukaszwisniewski88%2Fgit-task-cli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flukaszwisniewski88%2Fgit-task-cli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flukaszwisniewski88%2Fgit-task-cli/lists"}