Skip to content

Commit 680c01d

Browse files
committed
Prepare for open source release: update README, add license, implement issue templates, and enhance contributing guidelines
1 parent 85883e9 commit 680c01d

12 files changed

Lines changed: 1009 additions & 100 deletions

File tree

Lines changed: 127 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,127 @@
1+
name: Bug Report
2+
description: Report a bug to help us improve Git Alias Generator
3+
title: "[Bug]: "
4+
labels: ["bug", "triage"]
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
Thank you for taking the time to report a bug! Please fill out this form to help us understand and resolve the issue.
10+
11+
- type: checkboxes
12+
id: terms
13+
attributes:
14+
label: Prerequisites
15+
description: Please confirm the following before submitting a bug report
16+
options:
17+
- label: I have searched existing issues to ensure this is not a duplicate
18+
required: true
19+
- label: I have tested this with the latest version
20+
required: true
21+
- label: I have included all required information below
22+
required: true
23+
24+
- type: input
25+
id: version
26+
attributes:
27+
label: Version
28+
description: What version of Git Alias Generator are you using?
29+
placeholder: "e.g., 0.1.0"
30+
validations:
31+
required: true
32+
33+
- type: dropdown
34+
id: platform
35+
attributes:
36+
label: Platform
37+
description: What operating system are you using?
38+
options:
39+
- Windows 10
40+
- Windows 11
41+
- macOS Intel
42+
- macOS Apple Silicon
43+
- Ubuntu Linux
44+
- Fedora Linux
45+
- Arch Linux
46+
- Other Linux (please specify in description)
47+
- Other (please specify in description)
48+
validations:
49+
required: true
50+
51+
- type: textarea
52+
id: description
53+
attributes:
54+
label: Bug Description
55+
description: Provide a clear and concise description of what the bug is
56+
placeholder: "The application crashes when I try to..."
57+
validations:
58+
required: true
59+
60+
- type: textarea
61+
id: steps
62+
attributes:
63+
label: Steps to Reproduce
64+
description: Please provide detailed steps to reproduce the issue
65+
placeholder: |
66+
1. Open Git Alias Generator
67+
2. Click on '...'
68+
3. Enter '...'
69+
4. See error
70+
validations:
71+
required: true
72+
73+
- type: textarea
74+
id: expected
75+
attributes:
76+
label: Expected Behavior
77+
description: What did you expect to happen?
78+
placeholder: "I expected the alias to be created successfully..."
79+
validations:
80+
required: true
81+
82+
- type: textarea
83+
id: actual
84+
attributes:
85+
label: Actual Behavior
86+
description: What actually happened?
87+
placeholder: "Instead, the application showed an error message..."
88+
validations:
89+
required: true
90+
91+
- type: textarea
92+
id: environment
93+
attributes:
94+
label: Environment Information
95+
description: Please provide additional environment details
96+
placeholder: |
97+
- Node.js version:
98+
- Rust version:
99+
- Git version:
100+
- Any relevant Git configuration:
101+
validations:
102+
required: false
103+
104+
- type: textarea
105+
id: logs
106+
attributes:
107+
label: Error Logs
108+
description: If applicable, include any error messages or logs
109+
render: shell
110+
validations:
111+
required: false
112+
113+
- type: textarea
114+
id: screenshots
115+
attributes:
116+
label: Screenshots
117+
description: If applicable, add screenshots to help explain the problem
118+
validations:
119+
required: false
120+
121+
- type: textarea
122+
id: additional
123+
attributes:
124+
label: Additional Context
125+
description: Add any other context about the problem here
126+
validations:
127+
required: false

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
blank_issues_enabled: false
2+
contact_links:
3+
- name: 💬 Discussions
4+
url: https://github.com/cridertechnologies/git-alias-generator/discussions
5+
about: Ask questions, share ideas, and discuss with the community
6+
- name: 📖 Documentation
7+
url: https://github.com/cridertechnologies/git-alias-generator#readme
8+
about: Check our README and documentation for help
9+
- name: 🤝 Contributing Guide
10+
url: https://github.com/cridertechnologies/git-alias-generator/blob/main/CONTRIBUTING.md
11+
about: Learn how to contribute to the project
Lines changed: 120 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,120 @@
1+
name: Feature Request
2+
description: Suggest a new feature or enhancement
3+
title: "[Feature]: "
4+
labels: ["enhancement", "triage"]
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
Thank you for suggesting a new feature! Please fill out this form to help us understand your request.
10+
11+
- type: checkboxes
12+
id: terms
13+
attributes:
14+
label: Prerequisites
15+
description: Please confirm the following before submitting a feature request
16+
options:
17+
- label: I have searched existing issues to ensure this is not a duplicate
18+
required: true
19+
- label: This feature would benefit multiple users, not just myself
20+
required: true
21+
22+
- type: dropdown
23+
id: feature-type
24+
attributes:
25+
label: Feature Type
26+
description: What type of feature are you requesting?
27+
options:
28+
- UI/UX Improvement
29+
- New Git Command Support
30+
- AI Enhancement
31+
- Performance Improvement
32+
- Cross-platform Support
33+
- Developer Experience
34+
- Documentation
35+
- Other
36+
validations:
37+
required: true
38+
39+
- type: textarea
40+
id: problem
41+
attributes:
42+
label: Problem Description
43+
description: What problem does this feature solve? What use case does it address?
44+
placeholder: "I'm always frustrated when... It would be helpful if..."
45+
validations:
46+
required: true
47+
48+
- type: textarea
49+
id: solution
50+
attributes:
51+
label: Proposed Solution
52+
description: Describe your proposed solution in detail
53+
placeholder: "I would like to see... This could work by..."
54+
validations:
55+
required: true
56+
57+
- type: textarea
58+
id: alternatives
59+
attributes:
60+
label: Alternatives Considered
61+
description: What alternative solutions or features have you considered?
62+
placeholder: "Alternative approaches could be..."
63+
validations:
64+
required: false
65+
66+
- type: textarea
67+
id: examples
68+
attributes:
69+
label: Examples
70+
description: Provide examples of how this feature would be used
71+
placeholder: |
72+
Example usage:
73+
1. User opens the app...
74+
2. User clicks on...
75+
3. User sees...
76+
validations:
77+
required: false
78+
79+
- type: dropdown
80+
id: priority
81+
attributes:
82+
label: Priority
83+
description: How important is this feature to you?
84+
options:
85+
- Low - Nice to have
86+
- Medium - Would significantly improve my workflow
87+
- High - Essential for my use case
88+
validations:
89+
required: true
90+
91+
- type: dropdown
92+
id: complexity
93+
attributes:
94+
label: Estimated Complexity
95+
description: If you're familiar with the codebase, how complex do you think this feature would be?
96+
options:
97+
- Simple - Minor UI changes or small additions
98+
- Medium - New functionality or moderate changes
99+
- Complex - Major architectural changes or extensive work
100+
- Unknown - Not sure about the implementation complexity
101+
validations:
102+
required: false
103+
104+
- type: checkboxes
105+
id: contribution
106+
attributes:
107+
label: Contribution
108+
description: Would you be interested in contributing to this feature?
109+
options:
110+
- label: I would be willing to help implement this feature
111+
- label: I could help with testing this feature
112+
- label: I could help with documentation for this feature
113+
114+
- type: textarea
115+
id: additional
116+
attributes:
117+
label: Additional Context
118+
description: Add any other context, mockups, or references about the feature request here
119+
validations:
120+
required: false

.github/pull_request_template.md

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
## 📋 Description
2+
3+
Briefly describe what this PR does and why.
4+
5+
Fixes # (issue number)
6+
7+
## 🧪 Type of Change
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/formatting changes
14+
- [ ] ♻️ Code refactoring (no functional changes)
15+
- [ ] ⚡ Performance improvements
16+
- [ ] 🧪 Test improvements
17+
18+
## 🧪 Testing
19+
20+
- [ ] I have tested this change thoroughly
21+
- [ ] I have added/updated tests where appropriate
22+
- [ ] All existing tests pass
23+
24+
**Testing performed:**
25+
- [ ] Windows testing
26+
- [ ] macOS testing
27+
- [ ] Linux testing
28+
- [ ] Manual testing of new features
29+
- [ ] Regression testing of existing features
30+
31+
## 📸 Screenshots (if applicable)
32+
33+
Add screenshots to help reviewers understand the changes.
34+
35+
## ✅ Checklist
36+
37+
- [ ] My code follows the project's coding standards
38+
- [ ] I have performed a self-review of my own code
39+
- [ ] I have commented my code, particularly in hard-to-understand areas
40+
- [ ] I have made corresponding changes to the documentation
41+
- [ ] My changes generate no new warnings
42+
- [ ] I have checked that this PR doesn't introduce breaking changes
43+
44+
## 📝 Additional Notes
45+
46+
Add any additional context, concerns, or notes for reviewers here.

.github/workflows/ci.yml

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches: [ main, develop ]
6+
pull_request:
7+
branches: [ main ]
8+
9+
env:
10+
CARGO_TERM_COLOR: always
11+
12+
jobs:
13+
test-tauri:
14+
strategy:
15+
fail-fast: false
16+
matrix:
17+
include:
18+
- platform: 'macos-latest' # for Arm based macs (M1 and above).
19+
args: '--target aarch64-apple-darwin'
20+
- platform: 'macos-latest' # for Intel based macs.
21+
args: '--target x86_64-apple-darwin'
22+
- platform: 'ubuntu-22.04' # for Tauri v1 you could also use ubuntu-20.04.
23+
args: ''
24+
- platform: 'windows-latest'
25+
args: ''
26+
27+
runs-on: ${{ matrix.platform }}
28+
steps:
29+
- uses: actions/checkout@v4
30+
31+
- name: Setup Node.js
32+
uses: actions/setup-node@v4
33+
with:
34+
node-version: lts/*
35+
cache: 'npm'
36+
37+
- name: Install Rust stable
38+
uses: dtolnay/rust-toolchain@stable
39+
with:
40+
# Those targets are only used on macos runners so it's in an `if` to slightly speed up the linux/windows builds.
41+
targets: ${{ matrix.platform == 'macos-latest' && 'aarch64-apple-darwin,x86_64-apple-darwin' || '' }}
42+
43+
- name: Install dependencies (ubuntu only)
44+
if: matrix.platform == 'ubuntu-22.04' # This must match the platform value defined above.
45+
run: |
46+
sudo apt-get update
47+
sudo apt-get install -y libwebkit2gtk-4.0-dev libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf
48+
49+
- name: Install frontend dependencies
50+
run: npm ci
51+
52+
- name: Check frontend formatting
53+
run: npm run build
54+
55+
- name: Rust cache
56+
uses: swatinem/rust-cache@v2
57+
with:
58+
workspaces: './src-tauri -> target'
59+
60+
- name: Check Rust formatting
61+
run: |
62+
cd src-tauri
63+
cargo fmt --all -- --check
64+
65+
- name: Run Rust clippy
66+
run: |
67+
cd src-tauri
68+
cargo clippy --all-targets --all-features -- -D warnings
69+
70+
- name: Run Rust tests
71+
run: |
72+
cd src-tauri
73+
cargo test
74+
75+
- uses: tauri-apps/tauri-action@v0
76+
env:
77+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
78+
with:
79+
args: ${{ matrix.args }}

0 commit comments

Comments
 (0)