Skip to content

Commit 34cde70

Browse files
committed
Update README.md to include Hacktoberfest 2025 participation and enhance installation instructions; add HACKTOBERFEST_SETUP.md to .gitignore
1 parent a0f3690 commit 34cde70

7 files changed

Lines changed: 531 additions & 16 deletions

File tree

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
---
2+
name: Bug Report
3+
about: Create a report to help us improve
4+
title: '[BUG] '
5+
labels: bug
6+
assignees: ''
7+
---
8+
9+
## Bug Description
10+
A clear and concise description of what the bug is.
11+
12+
## Steps to Reproduce
13+
1. Set environment variable '...'
14+
2. Run command '....'
15+
3. Observe error '....'
16+
17+
## Expected Behavior
18+
A clear and concise description of what you expected to happen.
19+
20+
## Actual Behavior
21+
What actually happened.
22+
23+
## Environment
24+
- OS: [e.g., Windows 11, macOS 14, Ubuntu 22.04]
25+
- Go Version: [e.g., 1.23.4]
26+
- commit-msg Version: [e.g., latest from main]
27+
- LLM Provider: [Gemini or Grok]
28+
29+
## Additional Context
30+
Add any other context about the problem here, such as:
31+
- Error messages
32+
- Screenshots
33+
- Configuration files
34+
35+
## Possible Solution
36+
If you have suggestions on how to fix the bug, please share them here.
37+
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
---
2+
name: Feature Request
3+
about: Suggest an idea for this project
4+
title: '[FEATURE] '
5+
labels: enhancement
6+
assignees: ''
7+
---
8+
9+
## Feature Description
10+
A clear and concise description of the feature you'd like to see.
11+
12+
## Problem It Solves
13+
Describe the problem this feature would solve. Ex. I'm always frustrated when [...]
14+
15+
## Proposed Solution
16+
A clear and concise description of what you want to happen.
17+
18+
## Alternative Solutions
19+
Describe any alternative solutions or features you've considered.
20+
21+
## Use Case
22+
Describe how this feature would be used and who would benefit from it.
23+
24+
## Additional Context
25+
Add any other context, mockups, or screenshots about the feature request here.
26+
27+
## Implementation Ideas
28+
If you have thoughts on how this could be implemented, please share them here.
29+

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
## Description
2+
<!-- Provide a clear and concise description of your changes -->
3+
4+
## Type of Change
5+
<!-- Mark the relevant option with an 'x' -->
6+
7+
- [ ] Bug fix (non-breaking change which fixes an issue)
8+
- [ ] New feature (non-breaking change which adds functionality)
9+
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
10+
- [ ] Documentation update
11+
- [ ] Code refactoring
12+
- [ ] Performance improvement
13+
- [ ] Other (please describe):
14+
15+
## Related Issue
16+
<!-- Link to the issue this PR addresses -->
17+
Fixes #(issue number)
18+
19+
## Changes Made
20+
<!-- List the specific changes made in this PR -->
21+
22+
-
23+
-
24+
-
25+
26+
## Testing
27+
<!-- Describe the tests you ran to verify your changes -->
28+
29+
- [ ] Tested with Gemini API
30+
- [ ] Tested with Grok API
31+
- [ ] Tested on Windows
32+
- [ ] Tested on Linux
33+
- [ ] Tested on macOS
34+
- [ ] Added/updated tests (if applicable)
35+
36+
## Checklist
37+
<!-- Mark completed items with an 'x' -->
38+
39+
- [ ] My code follows the project's code style
40+
- [ ] I have performed a self-review of my code
41+
- [ ] I have commented my code, particularly in hard-to-understand areas
42+
- [ ] I have made corresponding changes to the documentation
43+
- [ ] My changes generate no new warnings or errors
44+
- [ ] I have tested this in a real Git repository
45+
- [ ] I have read the [CONTRIBUTING.md](../CONTRIBUTING.md) guidelines
46+
47+
## Screenshots (if applicable)
48+
<!-- Add screenshots to help explain your changes -->
49+
50+
## Additional Notes
51+
<!-- Add any other context about the PR here -->
52+
53+
---
54+
55+
## For Hacktoberfest Participants
56+
<!-- If this is a Hacktoberfest contribution, please check the box below -->
57+
58+
- [ ] This PR is submitted as part of Hacktoberfest 2025
59+
60+
Thank you for your contribution! 🎉
61+

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,3 +21,4 @@
2121
go.work
2222
.env
2323
commit-helper.json
24+
HACKTOBERFEST_SETUP.md

CODE_OF_CONDUCT.md

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
# Code of Conduct
2+
3+
## Our Pledge
4+
5+
In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to make participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation.
6+
7+
## Our Standards
8+
9+
Examples of behavior that contributes to creating a positive environment include:
10+
11+
* Using welcoming and inclusive language
12+
* Being respectful of differing viewpoints and experiences
13+
* Gracefully accepting constructive criticism
14+
* Focusing on what is best for the community
15+
* Showing empathy towards other community members
16+
17+
Examples of unacceptable behavior by participants include:
18+
19+
* The use of sexualized language or imagery and unwelcome sexual attention or advances
20+
* Trolling, insulting/derogatory comments, and personal or political attacks
21+
* Public or private harassment
22+
* Publishing others' private information, such as a physical or electronic address, without explicit permission
23+
* Other conduct which could reasonably be considered inappropriate in a professional setting
24+
25+
## Hacktoberfest Values
26+
27+
This project participates in Hacktoberfest and adheres to its core values:
28+
29+
* **Everyone is welcome** - We welcome participants from all backgrounds and skill levels
30+
* **Quantity is fun, quality is key** - We prioritize meaningful contributions over volume
31+
* **Short-term action, long-term impact** - We respect the time and effort of all contributors
32+
33+
## Our Responsibilities
34+
35+
Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.
36+
37+
Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
38+
39+
## Scope
40+
41+
This Code of Conduct applies within all project spaces, and it also applies when an individual is representing the project or its community in public spaces. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event.
42+
43+
## Enforcement
44+
45+
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team through GitHub issues. All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident.
46+
47+
Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.
48+
49+
## Attribution
50+
51+
This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org), version 1.4, available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
52+
53+
For answers to common questions about this code of conduct, see https://www.contributor-covenant.org/faq
54+

CONTRIBUTING.md

Lines changed: 184 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,184 @@
1+
# Contributing to commit-msg
2+
3+
Thank you for your interest in contributing to `commit-msg`! We welcome contributions from developers of all skill levels. 🎉
4+
5+
## 🎃 Hacktoberfest
6+
7+
This project is participating in [Hacktoberfest](https://hacktoberfest.com)! We welcome quality contributions throughout October and beyond.
8+
9+
## Table of Contents
10+
11+
- [Code of Conduct](#code-of-conduct)
12+
- [How Can I Contribute?](#how-can-i-contribute)
13+
- [Getting Started](#getting-started)
14+
- [Development Setup](#development-setup)
15+
- [Pull Request Process](#pull-request-process)
16+
- [Coding Standards](#coding-standards)
17+
- [Issue Labels](#issue-labels)
18+
19+
## Code of Conduct
20+
21+
This project adheres to the Hacktoberfest values:
22+
- **Everyone is welcome** - We value diversity and inclusivity
23+
- **Quantity is fun, quality is key** - We prioritize meaningful contributions
24+
- **Short-term action, long-term impact** - Your contributions help build the future
25+
26+
Please be respectful and constructive in all interactions.
27+
28+
## How Can I Contribute?
29+
30+
### 🐛 Reporting Bugs
31+
32+
Before creating a bug report:
33+
- Check the [existing issues](https://github.com/dfanso/commit-msg/issues) to avoid duplicates
34+
- Collect information about the bug:
35+
- OS and version
36+
- Go version
37+
- Steps to reproduce
38+
- Expected vs actual behavior
39+
40+
### 💡 Suggesting Enhancements
41+
42+
Enhancement suggestions are welcome! Please:
43+
- Use a clear and descriptive title
44+
- Provide a detailed description of the proposed feature
45+
- Explain why this enhancement would be useful
46+
47+
### 🔧 Good First Issues
48+
49+
Look for issues labeled `good first issue` or `help wanted` - these are great for newcomers!
50+
51+
### 📝 Documentation
52+
53+
Improving documentation is always appreciated:
54+
- Fix typos or unclear instructions
55+
- Add examples
56+
- Improve README clarity
57+
- Translate documentation
58+
59+
## Getting Started
60+
61+
1. **Fork the repository** on GitHub
62+
2. **Clone your fork** locally:
63+
```bash
64+
git clone https://github.com/YOUR-USERNAME/commit-msg.git
65+
cd commit-msg
66+
```
67+
3. **Create a branch** for your changes:
68+
```bash
69+
git checkout -b feature/your-feature-name
70+
```
71+
72+
## Development Setup
73+
74+
### Prerequisites
75+
76+
- Go 1.23.4 or higher
77+
- Git
78+
- API key for either:
79+
- Google Gemini (`GEMINI_API_KEY`)
80+
- Grok (`GROK_API_KEY`)
81+
82+
### Environment Setup
83+
84+
1. Set up your environment variables:
85+
```bash
86+
export COMMIT_LLM=gemini # or "grok"
87+
export GEMINI_API_KEY=your-api-key-here
88+
# OR
89+
export GROK_API_KEY=your-api-key-here
90+
```
91+
92+
2. Install dependencies:
93+
```bash
94+
go mod download
95+
```
96+
97+
3. Run the application:
98+
```bash
99+
go run src/main.go .
100+
```
101+
102+
4. Build the executable:
103+
```bash
104+
go build -o commit.exe src/main.go
105+
```
106+
107+
### Testing Your Changes
108+
109+
Before submitting a PR:
110+
1. Test the application in a Git repository
111+
2. Verify both LLM providers work (if applicable)
112+
3. Check for any errors or warnings
113+
4. Test on your target platform
114+
115+
## Pull Request Process
116+
117+
1. **Update documentation** if needed (README.md, code comments)
118+
2. **Follow the coding standards** (see below)
119+
3. **Write clear commit messages** (ironic for this project!)
120+
4. **Fill out the PR template** completely
121+
5. **Link related issues** using keywords like "Fixes #123"
122+
6. **Wait for review** - maintainers will review within 1-2 days
123+
124+
### PR Title Format
125+
126+
Use conventional commit format:
127+
- `feat:` - New feature
128+
- `fix:` - Bug fix
129+
- `docs:` - Documentation changes
130+
- `refactor:` - Code refactoring
131+
- `test:` - Adding tests
132+
- `chore:` - Maintenance tasks
133+
134+
Example: `feat: add support for Claude API`
135+
136+
## Coding Standards
137+
138+
### Go Code Style
139+
140+
- Follow [Effective Go](https://golang.org/doc/effective_go.html) guidelines
141+
- Use `gofmt` to format your code
142+
- Add comments for exported functions
143+
- Keep functions small and focused
144+
- Handle errors appropriately
145+
146+
### Code Example
147+
148+
```go
149+
// GenerateMessage creates a commit message from git changes
150+
func GenerateMessage(changes string, apiKey string) (string, error) {
151+
if changes == "" {
152+
return "", fmt.Errorf("no changes provided")
153+
}
154+
155+
// Implementation here
156+
return message, nil
157+
}
158+
```
159+
160+
## Issue Labels
161+
162+
- `good first issue` - Good for newcomers
163+
- `help wanted` - Extra attention needed
164+
- `bug` - Something isn't working
165+
- `enhancement` - New feature request
166+
- `documentation` - Documentation improvements
167+
- `hacktoberfest` - Eligible for Hacktoberfest
168+
- `hacktoberfest-accepted` - Approved for Hacktoberfest
169+
170+
## Questions?
171+
172+
Feel free to:
173+
- Open an issue with the `question` label
174+
- Reach out to the maintainers
175+
- Check existing issues and PRs for similar questions
176+
177+
## License
178+
179+
By contributing, you agree that your contributions will be licensed under the same license as the project.
180+
181+
---
182+
183+
Thank you for contributing to commit-msg! 🚀
184+

0 commit comments

Comments
 (0)