Skip to content

Commit d7d3595

Browse files
committed
feat: initial commit
Signed-off-by: Andre Nogueira <andre.nogueira@mollie.com>
0 parents  commit d7d3595

32 files changed

+4723
-0
lines changed
Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
name: Bug Report
2+
description: File a bug report to help us improve
3+
title: "[Bug]: "
4+
labels: ["bug", "needs-triage"]
5+
assignees: []
6+
7+
body:
8+
- type: markdown
9+
attributes:
10+
value: |
11+
Thanks for taking the time to fill out this bug report!
12+
13+
- type: textarea
14+
id: description
15+
attributes:
16+
label: Bug Description
17+
description: A clear and concise description of what the bug is.
18+
placeholder: Tell us what happened
19+
validations:
20+
required: true
21+
22+
- type: textarea
23+
id: steps
24+
attributes:
25+
label: Steps to Reproduce
26+
description: Steps to reproduce the behavior
27+
placeholder: |
28+
1. Go to '...'
29+
2. Click on '....'
30+
3. Enter cron expression '...'
31+
4. See error
32+
validations:
33+
required: true
34+
35+
- type: textarea
36+
id: expected
37+
attributes:
38+
label: Expected Behavior
39+
description: What did you expect to happen?
40+
placeholder: I expected...
41+
validations:
42+
required: true
43+
44+
- type: textarea
45+
id: actual
46+
attributes:
47+
label: Actual Behavior
48+
description: What actually happened?
49+
placeholder: Instead...
50+
validations:
51+
required: true
52+
53+
- type: input
54+
id: version
55+
attributes:
56+
label: Version
57+
description: What version of git-context are you running?
58+
placeholder: v1.0.0 or commit hash
59+
validations:
60+
required: true
61+
62+
- type: dropdown
63+
id: os
64+
attributes:
65+
label: Operating System
66+
description: What OS are you using?
67+
options:
68+
- macOS
69+
- Linux
70+
- Windows
71+
- Other
72+
validations:
73+
required: true
74+
75+
- type: input
76+
id: terminal
77+
attributes:
78+
label: Terminal
79+
description: What terminal emulator are you using?
80+
placeholder: e.g., iTerm2, Terminal.app, Alacritty, etc.
81+
82+
- type: textarea
83+
id: logs
84+
attributes:
85+
label: Logs
86+
description: Please copy and paste any relevant log output or error messages
87+
render: shell
88+
89+
- type: textarea
90+
id: context
91+
attributes:
92+
label: Additional Context
93+
description: Add any other context about the problem here
94+
placeholder: Screenshots, GIFs, or additional information

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
blank_issues_enabled: false
2+
contact_links:
3+
- name: 💬 Discussions
4+
url: https://github.com/techquestsdev/git-context/discussions
5+
about: Ask questions and discuss ideas with the community
6+
- name: 📖 Documentation
7+
url: https://github.com/techquestsdev/git-context#readme
8+
about: Read the documentation for help and examples
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
name: Feature Request
2+
description: Suggest an idea for this project
3+
title: "[Feature]: "
4+
labels: ["enhancement", "needs-triage"]
5+
assignees: []
6+
7+
body:
8+
- type: markdown
9+
attributes:
10+
value: |
11+
Thanks for suggesting a new feature!
12+
13+
- type: textarea
14+
id: problem
15+
attributes:
16+
label: Problem Statement
17+
description: Is your feature request related to a problem? Please describe.
18+
placeholder: I'm frustrated when...
19+
validations:
20+
required: true
21+
22+
- type: textarea
23+
id: solution
24+
attributes:
25+
label: Proposed Solution
26+
description: Describe the solution you'd like
27+
placeholder: I would like to see...
28+
validations:
29+
required: true
30+
31+
- type: textarea
32+
id: alternatives
33+
attributes:
34+
label: Alternatives Considered
35+
description: Describe alternatives you've considered
36+
placeholder: I also thought about...
37+
38+
- type: textarea
39+
id: examples
40+
attributes:
41+
label: Examples
42+
description: Provide examples of how this feature would be used
43+
placeholder: |
44+
Example 1: ...
45+
Example 2: ...
46+
47+
- type: dropdown
48+
id: priority
49+
attributes:
50+
label: Priority
51+
description: How important is this feature to you?
52+
options:
53+
- Nice to have
54+
- Important
55+
- Critical
56+
validations:
57+
required: true
58+
59+
- type: checkboxes
60+
id: contribution
61+
attributes:
62+
label: Contribution
63+
description: Would you be willing to contribute this feature?
64+
options:
65+
- label: I am willing to submit a PR for this feature
66+
required: false
67+
68+
- type: textarea
69+
id: context
70+
attributes:
71+
label: Additional Context
72+
description: Add any other context, screenshots, or mockups about the feature request here

.github/dependabot.yml

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
version: 2
2+
updates:
3+
# Enable version updates for Go modules
4+
- package-ecosystem: "gomod"
5+
directory: "/"
6+
schedule:
7+
interval: "weekly"
8+
open-pull-requests-limit: 10
9+
labels:
10+
- "dependencies"
11+
- "go"
12+
commit-message:
13+
prefix: "chore"
14+
include: "scope"
15+
16+
# Enable version updates for GitHub Actions
17+
- package-ecosystem: "github-actions"
18+
directory: "/"
19+
schedule:
20+
interval: "weekly"
21+
open-pull-requests-limit: 5
22+
labels:
23+
- "dependencies"
24+
- "github-actions"
25+
commit-message:
26+
prefix: "chore"
27+
include: "scope"

.github/pull_request_template.md

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
# Pull Request
2+
3+
## Description
4+
<!-- Provide a brief description of the changes in this PR -->
5+
6+
## Type of Change
7+
<!-- Mark the relevant option with an "x" -->
8+
9+
- [ ] 🐛 Bug fix (non-breaking change which fixes an issue)
10+
- [ ] ✨ New feature (non-breaking change which adds functionality)
11+
- [ ] 💥 Breaking change (fix or feature that would cause existing functionality to not work as expected)
12+
- [ ] 📝 Documentation update
13+
- [ ] 🎨 Code style update (formatting, renaming)
14+
- [ ] ♻️ Code refactoring (no functional changes)
15+
- [ ] ⚡ Performance improvement
16+
- [ ] ✅ Test update
17+
- [ ] 🔧 Build/CI configuration change
18+
- [ ] 🔒 Security fix
19+
20+
## Related Issues
21+
<!-- Link to related issues -->
22+
Fixes #(issue number)
23+
Related to #(issue number)
24+
25+
## Changes Made
26+
<!-- List the specific changes made in this PR -->
27+
28+
-
29+
-
30+
-
31+
32+
## Testing
33+
<!-- Describe the tests you ran to verify your changes -->
34+
35+
- [ ] Existing tests pass (`make test`)
36+
- [ ] New tests added (if applicable)
37+
- [ ] Manual testing performed
38+
- [ ] Linter passes (`make lint`)
39+
40+
### Test Coverage
41+
<!-- Provide test coverage information if applicable -->
42+
- Current coverage: __%
43+
- Coverage change: __% (increase/decrease)
44+
45+
## Screenshots/Recordings
46+
<!-- If applicable, add screenshots or recordings to demonstrate the changes -->
47+
48+
## Checklist
49+
<!-- Mark completed items with an "x" -->
50+
51+
- [ ] My code follows the project's style guidelines
52+
- [ ] I have performed a self-review of my own code
53+
- [ ] I have commented my code, particularly in hard-to-understand areas
54+
- [ ] I have made corresponding changes to the documentation
55+
- [ ] My changes generate no new warnings
56+
- [ ] I have added tests that prove my fix is effective or that my feature works
57+
- [ ] New and existing unit tests pass locally with my changes
58+
- [ ] Any dependent changes have been merged and published
59+
60+
## Additional Notes
61+
<!-- Add any additional notes for reviewers -->

.github/workflows/ci.yml

Lines changed: 114 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,114 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches: [main, master]
6+
pull_request:
7+
branches: [main, master]
8+
9+
jobs:
10+
test:
11+
name: Test
12+
runs-on: ${{ matrix.os }}
13+
strategy:
14+
matrix:
15+
os: [ubuntu-latest, macos-latest, windows-latest]
16+
go: ["1.25"]
17+
steps:
18+
- name: Checkout code
19+
uses: actions/checkout@v4
20+
21+
- name: Set up Go
22+
uses: actions/setup-go@v5
23+
with:
24+
go-version: ${{ matrix.go }}
25+
26+
- name: Cache Go modules
27+
uses: actions/cache@v4
28+
with:
29+
path: |
30+
~/.cache/go-build
31+
~/go/pkg/mod
32+
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
33+
restore-keys: |
34+
${{ runner.os }}-go-
35+
36+
- name: Download dependencies
37+
run: go mod download
38+
39+
- name: Verify dependencies
40+
run: go mod verify
41+
42+
- name: Run tests
43+
shell: bash
44+
run: go test -v -race -coverprofile=coverage.txt -covermode=atomic ./...
45+
46+
- name: Upload coverage to Codecov
47+
uses: codecov/codecov-action@v5
48+
with:
49+
token: ${{ secrets.CODECOV_TOKEN }}
50+
51+
lint:
52+
name: Lint
53+
runs-on: ubuntu-latest
54+
steps:
55+
- name: Checkout code
56+
uses: actions/checkout@v4
57+
58+
- name: Set up Go
59+
uses: actions/setup-go@v6
60+
with:
61+
go-version: "1.25"
62+
63+
- name: golangci-lint
64+
uses: golangci/golangci-lint-action@v8
65+
with:
66+
version: latest
67+
args: --timeout=5m
68+
69+
build:
70+
name: Build
71+
runs-on: ${{ matrix.os }}
72+
strategy:
73+
matrix:
74+
os: [ubuntu-latest, macos-latest, windows-latest]
75+
steps:
76+
- name: Checkout code
77+
uses: actions/checkout@v4
78+
79+
- name: Set up Go
80+
uses: actions/setup-go@v6
81+
with:
82+
go-version: "1.25"
83+
84+
- name: Build
85+
run: go build -v -o bin/git-context${{ matrix.os == 'windows-latest' && '.exe' || '' }} .
86+
87+
- name: Upload artifact
88+
uses: actions/upload-artifact@v4
89+
with:
90+
name: git-context-${{ matrix.os }}
91+
path: bin/git-context${{ matrix.os == 'windows-latest' && '.exe' || '' }}
92+
retention-days: 7
93+
94+
security:
95+
name: Security Scan
96+
runs-on: ubuntu-latest
97+
steps:
98+
- name: Checkout code
99+
uses: actions/checkout@v4
100+
101+
- name: Set up Go
102+
uses: actions/setup-go@v6
103+
with:
104+
go-version: "1.25"
105+
106+
- name: Run Gosec Security Scanner
107+
uses: securego/gosec@master
108+
with:
109+
args: "-no-fail -fmt sarif -out results.sarif ./..."
110+
111+
- name: Upload SARIF file
112+
uses: github/codeql-action/upload-sarif@v4
113+
with:
114+
sarif_file: results.sarif

0 commit comments

Comments
 (0)