Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 5 additions & 14 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
<!-- If you are unsure how to fill this out, see CONTRIBUTING.md: https://github.com/Huerte/GitGo/blob/main/CONTRIBUTING.md -->

<!-- Note: These hidden comments guide you while typing. GitHub hides them automatically when you submit. -->

## Type
Expand All @@ -15,32 +14,24 @@

<!-- Describe what you changed and why. 2-3 sentences is enough. -->


Closes # <!-- Remove the line if this PR does not address an open Issue -->

## Changes

<!-- One bullet per change. Say what changed and what effect it has.
Examples:
- `gitgo push`: no longer stops mid-run after a branch jump. It now completes the commit and push automatically.
- `gitgo jump`: revert prompt now shows the target branch name before asking for confirmation.
- README: added missing flag description for `gitgo push -s`.
- `CONTRIBUTING.md`: removed the `pytest-cov` task from the Good First Issues table.
- CI: added a workflow to automatically run tests on Windows and Ubuntu.
-->

-

## Breaking Changes

<!-- Does this change the behavior of an existing command, flag, or output in a way
that could break someone's workflow? If yes, describe what breaks and what they
should do instead. If no, write: None -->

**Breaking changes:** None

## How to Test

<!-- Write the exact steps a reviewer should run to verify your change works.
Be specific — include the exact commands and what output to expect.
If this PR only updates documentation, you can skip this section.
If this PR only updates documentation, you can remove this section.
-->

1. `pip install -e ".[dev]"`
Expand All @@ -55,4 +46,4 @@
- [ ] I updated `CHANGELOG.md` under the [`[Unreleased]`](https://github.com/Huerte/GitGo/blob/main/CHANGELOG.md) section
- [ ] I updated `README.md` (if I added or changed a command)
- [ ] I added or updated tests for my change (if applicable)
- [ ] My change does not break any existing commands
- [ ] My change does not break any existing commands (if it does, describe the impact in the Overview)
27 changes: 15 additions & 12 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -175,18 +175,21 @@ git commit -m "update"

## Good First Issues

Not sure where to start? Pick something from the list below.

| Task | Difficulty | Description |
|------|------------|-------------|
| `gitgo log` | ⭐ | Wrap `git log --oneline --color` and print it with GitGo's color helpers from `utils/colors.py`. |
| `gitgo amend` | ⭐ | Wrap `git commit --amend -m "<message>"`. Add a confirmation prompt before rewriting. |
| `pytest-cov` setup | ⭐ | Add `pytest-cov` to `dev` dependencies in `pyproject.toml` and verify coverage runs with `pytest --cov`. |
| GitLab SSH support | ⭐⭐ | The regex in `auth/ssh_utils.py` only matches `github.com`. Extend it to handle `gitlab.com` and `bitbucket.org`. |
| `gitgo status` | ⭐⭐ | Parse `git status --porcelain` and display staged, unstaged, and untracked files in labeled groups. Edge cases: renamed files, merge conflicts. |
| Shell completions | ⭐⭐⭐ | Add tab-completion for Bash/Zsh/Fish via `argcomplete` or hand-written completion scripts. PowerShell optional. |

Check the [open issues](https://github.com/Huerte/GitGo/issues) for the current list labeled `good first issue`.
Not sure where to start? The table below lists tasks sized for a first contribution. Each one is self-contained and has a clear scope.

Before picking one, clone the repo and read through the project structure in [`CONTRIBUTING.md`](CONTRIBUTING.md) so you know where things live.

| Task | Difficulty | Where to start | What to do |
|------|------------|----------------|------------|
| `gitgo log` | ⭐ | `utils/colors.py` | Wrap `git log --oneline --color` and format the output using the existing color helpers. |
| `gitgo amend` | ⭐ | New command file | Wrap `git commit --amend -m "<message>"`. Add a confirmation prompt before it runs — amend rewrites history, so the user should opt in. |
| `gitgo diff` | ⭐ | New command file | Wrap `git diff` and `git diff --staged`. Add a `-s` / `--staged` flag to toggle between unstaged and staged output. |
| GitLab & Bitbucket SSH | ⭐⭐ | `auth/ssh_utils.py` | The host regex only matches `github.com`. Extend it to cover `gitlab.com` and `bitbucket.org`. |
| `gitgo status` | ⭐⭐ | New command file | Parse `git status --porcelain` and display staged, unstaged, and untracked files in labeled groups. Handle renamed files and merge conflict markers as edge cases. |
| `gitgo branch` | ⭐⭐ | New command file | Parse `git branch -a` and list all branches with the current one highlighted. Separate local and remote branches into labeled groups. |
| Shell completions | ⭐⭐⭐ | New file | Add tab-completion for Bash, Zsh, and Fish using `argcomplete` or hand-written scripts. PowerShell is optional. |

If nothing here fits, check the [open issues](https://github.com/Huerte/GitGo/issues) for anything tagged `good first issue`. If you have an idea that isn't listed, open an issue first before writing code.

---

Expand Down
Loading