From d25e0e7a919861e6d325b28651e74181a5d36566 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Rainone?= Date: Thu, 31 Jul 2025 11:11:55 +0200 Subject: [PATCH 1/4] ci: remove brew tag check from workflow --- .github/workflows/ci-cd.yaml | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/.github/workflows/ci-cd.yaml b/.github/workflows/ci-cd.yaml index bc635cd..274912e 100644 --- a/.github/workflows/ci-cd.yaml +++ b/.github/workflows/ci-cd.yaml @@ -35,17 +35,3 @@ jobs: args: release --clean env: GITHUB_TOKEN: ${{ secrets.GH_TOKEN }} - - check_brew: - name: Check Brew Tap - needs: goreleaser - runs-on: macos-latest - steps: - - name: Install gitmux with brew - run: | - brew tap arl/arl - brew install gitmux - gitmux -V - - name: Check installed gitmux version - run: | - [ v$(gitmux -V) == "$GITHUB_REF_NAME" ] From 431fb6bc4f7a5c82c7c8e9ffb38c2ef2d081f2b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Rainone?= Date: Thu, 31 Jul 2025 11:43:11 +0200 Subject: [PATCH 2/4] goreleaser: remove brew-specific configuration --- .goreleaser.yml | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/.goreleaser.yml b/.goreleaser.yml index 9c127cf..8b079be 100644 --- a/.goreleaser.yml +++ b/.goreleaser.yml @@ -31,20 +31,3 @@ changelog: exclude: - "^docs:" - "^test:" - -brews: - - name: gitmux - homepage: "https://github.com/arl/gitmux" - description: "Git in your tmux status bar." - license: "MIT" - url_template: "https://github.com/arl/gitmux/releases/download/{{ .Tag }}/{{ .ArtifactName }}" - commit_msg_template: "Brew formula update for {{ .ProjectName }} version {{ .Tag }}" - directory: Formula - skip_upload: false - repository: - owner: arl - name: homebrew-arl - branch: main - commit_author: - name: goreleaser-bot - email: bot@goreleaser.com From 91c64047f946b716f93e46206104e970e22aa220 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Rainone?= Date: Thu, 31 Jul 2025 11:44:22 +0200 Subject: [PATCH 3/4] .github: improve pull request template --- .github/pull_request_template.md | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index a147669..4eb3574 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -2,6 +2,14 @@ _Describe the problem or feature in addition to a link to the issues._ ## Approach -_How does this change address the problem?_ +_How does this Pull Request address the problem?_ -Thank you! +## Testing + + - There should be some unit tests for every behaviour change or new feature + - If you're adding a new configuration option, the default configuration file + (.gitmux.yml) should be modified with the new option + - There's a test that verifies that gitmux output always remains the same + across versions when using the default configuration. You can run it with: + `go test -run TestScriptst` + - `README.md` should always be updated. \ No newline at end of file From 193dd1c22deef092fa54a499b5c28220e9cc292a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Rainone?= Date: Thu, 31 Jul 2025 11:44:38 +0200 Subject: [PATCH 4/4] .github: add copilot instructions --- .github/copilot-instructions.md | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 .github/copilot-instructions.md diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md new file mode 100644 index 0000000..b7528cc --- /dev/null +++ b/.github/copilot-instructions.md @@ -0,0 +1,23 @@ +This is a Go based repository buliding a command line tool that converts the status of a git working tree for a specific directory into a tmux status string the end user can add to their tmux status line. It is designed to be used with the `tmux` terminal multiplexer. + +## Code Standards + +### Required Before Each Commit + +- Run `go test ./...` before committing any changes to ensure tests pass +- Go code should be formatted with `gofmt` + +## Repository Structure + +- `./`: repository root, main package, default configuration file, and main entry point +- `tmux/`: tmux formatting +- `json/`: used by gitmux -dbg to print the git working tree status as a json object, for debugging purposes +- `testdata/`: testscripts fixtures when actual gitmux output is checked against some specific conditions. + +## Key Guidelines + +1. Follow Go best practices and idiomatic patterns +2. Maintain existing code structure and organization +3. Write unit tests for new functionality. Use table-driven unit tests when possible. +4. Document public options +5. Keep table aligned in the README.md file, for a nice experience even when reading the file in a terminal