Skip to content
Open
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
31 changes: 0 additions & 31 deletions .github/ISSUE_TEMPLATE/bug_report.md

This file was deleted.

53 changes: 53 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
name: Bug report
description: Something in git-scope is broken or wrong
title: "[BUG] "
labels: [bug]
body:
- type: markdown
attributes:
value: |
Thanks for reporting! Security issues go through a [private advisory](https://github.com/Bharath-code/git-scope/security/advisories/new), not here.
- type: textarea
id: what-happened
attributes:
label: What happened?
description: What you did, what you expected, and what happened instead.
placeholder: |
1. Run `git-scope ~/code`
2. Press `...`
3. Expected X, saw Y
validations:
required: true
- type: input
id: version
attributes:
label: git-scope version
description: Output of `git-scope --version`
placeholder: git-scope v1.4.0
validations:
required: true
- type: dropdown
id: os
attributes:
label: Operating system
options: [macOS, Linux, Windows, Other]
validations:
required: true
- type: dropdown
id: surface
attributes:
label: Where did it happen?
options: [TUI dashboard, status --json / scan, MCP server (git-scope mcp), init / config, Other]
validations:
required: true
- type: input
id: terminal
attributes:
label: Terminal / MCP client
placeholder: iTerm2, Windows Terminal, Claude Code, Cursor...
- type: textarea
id: logs
attributes:
label: Output or screenshots
description: Paste relevant output. Redact private repo paths if needed.
render: shell
8 changes: 8 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
blank_issues_enabled: false
contact_links:
- name: Question or idea to discuss
url: https://github.com/Bharath-code/git-scope/discussions
about: Ask questions and share ideas in Discussions.
- name: Report a security vulnerability
url: https://github.com/Bharath-code/git-scope/security/advisories/new
about: Please report vulnerabilities privately, not as an issue.
20 changes: 0 additions & 20 deletions .github/ISSUE_TEMPLATE/feature_request.md

This file was deleted.

30 changes: 30 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: Feature request
description: Suggest an idea for git-scope
title: "[FEATURE] "
labels: [enhancement]
body:
- type: textarea
id: problem
attributes:
label: Problem
description: What are you trying to do, and what gets in the way today?
placeholder: "When I run several agents across worktrees, I can't tell..."
validations:
required: true
- type: textarea
id: solution
attributes:
label: Proposed solution
description: What would you like git-scope to do?
validations:
required: true
- type: textarea
id: alternatives
attributes:
label: Alternatives considered
- type: checkboxes
id: principles
attributes:
label: Fit with git-scope's principles
options:
- label: This keeps git-scope read-only and local-first (no network calls, no telemetry)
52 changes: 41 additions & 11 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,20 @@ on:
permissions:
contents: read

concurrency:
group: ci-${{ github.ref }}
cancel-in-progress: true

jobs:
test:
name: Test & Lint
checks:
name: Format, tidy, vet, vulncheck
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false

- uses: actions/setup-go@v7
- uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7.0.0
with:
go-version-file: go.mod
cache: true
Expand All @@ -29,32 +35,56 @@ jobs:
exit 1
fi

- name: Verify go.mod / go.sum are tidy
run: go mod tidy -diff

- name: Vet
run: go vet ./...

- name: govulncheck
run: go run golang.org/x/vuln/cmd/[email protected] ./...

test:
name: Test (${{ matrix.os }})
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
# Release ships binaries for all three; path and git handling differ per OS.
os: [ubuntu-latest, macos-latest, windows-latest]
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false

- uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7.0.0
with:
go-version-file: go.mod
cache: true

- name: Test (race + coverage)
shell: bash
run: go test -race -coverprofile=coverage.out -covermode=atomic ./...

- name: Coverage summary
shell: bash
run: go tool cover -func=coverage.out | tail -n 1

- name: govulncheck
run: go run golang.org/x/vuln/cmd/[email protected] ./...

lint:
name: golangci-lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false

- uses: actions/setup-go@v7
- uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7.0.0
with:
go-version-file: go.mod
cache: true

- name: golangci-lint
# v9 supports golangci-lint v2 (correct /v2 module path for goinstall).
uses: golangci/golangci-lint-action@v9
uses: golangci/golangci-lint-action@ba0d7d2ec06a0ea1cb5fa41b2e4a3ab91d21278a # v9.3.0
with:
# Pinned for reproducible runs — bump deliberately, not on every push.
version: v2.12.2
Expand Down
16 changes: 10 additions & 6 deletions .github/workflows/pages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,33 +8,37 @@ on:

permissions:
contents: read
pages: write
id-token: write

concurrency:
group: "pages"
cancel-in-progress: false

jobs:
deploy:
permissions:
contents: read
pages: write # publish the site
id-token: write # verify the deployment origin
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v7
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false

- name: Setup Pages
uses: actions/configure-pages@v6
uses: actions/configure-pages@45bfe0192ca1faeb007ade9deae92b16b8254a0d # v6.0.0
with:
enablement: true

- name: Upload artifact
uses: actions/upload-pages-artifact@v5
uses: actions/upload-pages-artifact@fc324d3547104276b827a68afc52ff2a11cc49c9 # v5.0.0
with:
path: './docs'

- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v5
uses: actions/deploy-pages@368f82528645a54fb793d4d04e342629a3f51346 # v5.0.1
24 changes: 19 additions & 5 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,25 +6,39 @@ on:
- 'v*'

permissions:
contents: write
contents: read

jobs:
goreleaser:
runs-on: ubuntu-latest
permissions:
contents: write # create the GitHub release
id-token: write # sign build provenance via Sigstore
attestations: write # store provenance on the repo
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
fetch-depth: 0

persist-credentials: false

- uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7.0.0
with:
go-version-file: go.mod


- name: Install syft (SBOM generation)
uses: anchore/sbom-action/download-syft@66cbf4bc1f1c0d2edc94016e65bc221b6bb0ad6c # v0.24.3

- name: Run GoReleaser
uses: goreleaser/goreleaser-action@f06c13b6b1a9625abc9e6e439d9c05a8f2190e94 # v7.2.3
uses: goreleaser/goreleaser-action@a4f02ab5355a589de60d917a659ce617ed19b3de # v7.3.0
with:
version: v2.18.2
version: v2.18.3
args: release --clean
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
HOMEBREW_TAP_GITHUB_TOKEN: ${{ secrets.HOMEBREW_TAP_GITHUB_TOKEN }}

# Verify with: gh attestation verify <archive> --repo Bharath-code/git-scope
- name: Attest build provenance
uses: actions/attest-build-provenance@4d101475d8b20a2381f78447822ac1eab6504dd8 # v4.2.2
with:
subject-checksums: dist/checksums.txt
40 changes: 40 additions & 0 deletions .github/workflows/scorecard.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# OpenSSF Scorecard: supply-chain security checks, published to
# https://scorecard.dev/viewer/?uri=github.com/Bharath-code/git-scope
name: Scorecard

on:
branch_protection_rule:
schedule:
- cron: '27 4 * * 1'
push:
branches: [main]

permissions: read-all

jobs:
analysis:
name: Scorecard analysis
runs-on: ubuntu-latest
permissions:
security-events: write # upload SARIF to code scanning
id-token: write # publish results to the public Scorecard API
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false

- uses: ossf/scorecard-action@fa7117db83c52d787ae5a89f350999701505d78e # v2.5.0
with:
results_file: results.sarif
results_format: sarif
publish_results: true

- uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2
with:
name: SARIF file
path: results.sarif
retention-days: 5

- uses: github/codeql-action/upload-sarif@6f2ac81f5cd81fe351a197ba0b00d91d03cd2aee # v4.39.0
with:
sarif_file: results.sarif
7 changes: 2 additions & 5 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -31,11 +31,8 @@ Thumbs.db
/materials
demo.gif
demo.tape
git-scope
git-scope-test
git-scope-final
/git-scope-test
/git-scope-final
docs/images/fallback_pic
docs/images/mobile
docs/images/desktop
coverage.out
PROJECT-STRATEGY-AND-CAREER-PLAYBOOK.md
Loading
Loading