Skip to content

Commit 012cc69

Browse files
committed
docs(project): add community health files
- Add community health files: CONTRIBUTING.md, SECURITY.md, CODE_OF_CONDUCT.md.
1 parent ec90389 commit 012cc69

File tree

6 files changed

+229
-0
lines changed

6 files changed

+229
-0
lines changed

.github/CODE_OF_CONDUCT.md

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
# Code of Conduct
2+
3+
## Purpose
4+
5+
This project aims to provide a respectful, professional, and productive environment for collaboration. All participants are expected to act in good faith and treat others with courtesy and respect.
6+
7+
## Expected Behavior
8+
9+
Participants are expected to:
10+
- Communicate clearly, respectfully, and professionally
11+
- Be constructive in discussions, reviews, and feedback
12+
- Focus on technical merit and project goals
13+
- Assume good intent in others’ actions and words
14+
- Accept feedback and correction gracefully
15+
16+
## Unacceptable Behavior
17+
18+
The following behaviors are not tolerated:
19+
- Harassment, discrimination, or hostility of any kind
20+
- Personal attacks, insults, or derogatory comments
21+
- Trolling, deliberate disruption, or bad-faith argumentation
22+
- Publishing private information without consent
23+
- Persistent unconstructive or disrespectful behavior
24+
25+
## Scope
26+
27+
This Code of Conduct applies to all project spaces, including issues, pull requests, code reviews, discussions, and any other project-related communication.
28+
29+
## Enforcement
30+
31+
Project maintainers are responsible for enforcing this Code of Conduct. Actions taken in response to violations may include warnings, content removal, temporary restrictions, or permanent bans, depending on severity.
32+
33+
## Reporting
34+
35+
If you experience or witness behavior that violates this Code of Conduct, report it privately to the project maintainer.
36+
37+
## Attribution
38+
39+
This Code of Conduct is inspired by established open-source community standards.
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
---
2+
name: Bug report
3+
about: Report a reproducible bug
4+
labels: bug
5+
---
6+
7+
## Description
8+
Clear and concise description of the bug.
9+
10+
## Reproduction
11+
Steps to reproduce the behavior:
12+
1.
13+
2.
14+
3.
15+
16+
## Expected behavior
17+
What you expected to happen.
18+
19+
## Actual behavior
20+
What actually happened.
21+
22+
## Environment
23+
- Go version:
24+
- OS/Arch:
25+
- Library version or commit:
26+
27+
## Additional context
28+
Logs, stack traces, or screenshots if applicable.
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
---
2+
name: Feature request
3+
about: Suggest an enhancement or new feature
4+
labels: enhancement
5+
---
6+
7+
## Summary
8+
Concise description of the proposed feature.
9+
10+
## Motivation
11+
Why this feature is needed and what problem it solves.
12+
13+
## Proposed solution
14+
High-level description of the desired behavior or API.
15+
16+
## Alternatives considered
17+
Other approaches or workarounds, if any.
18+
19+
## Additional context
20+
Relevant examples, references, or prior art.

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
# Pull Request
2+
3+
## Summary
4+
5+
Briefly describe what this change does and why it is needed.
6+
7+
## Type of Change
8+
9+
- [ ] Bug fix
10+
- [ ] Performance improvement
11+
- [ ] Documentation update
12+
- [ ] Test improvement
13+
- [ ] New feature (backward compatible)
14+
- [ ] Breaking change
15+
16+
## Details
17+
18+
Explain the change at a technical level if not obvious from the diff.
19+
Include relevant context, constraints, or trade-offs.
20+
21+
## Tests
22+
23+
- [ ] Existing tests pass (`go test ./...`)
24+
- [ ] New tests added or existing tests updated (if applicable)
25+
26+
Describe how this change is tested or why tests are not required.
27+
28+
## API Impact
29+
30+
- [ ] No public API changes
31+
- [ ] Backward-compatible API change
32+
- [ ] Breaking API change (justified and documented)
33+
34+
## Checklist
35+
36+
- [ ] Code follows project standards and idiomatic Go
37+
- [ ] `golangci-lint` passes
38+
- [ ] Public APIs are documented where applicable
39+
- [ ] Commit history is focused (one logical change per commit)
40+
41+
## Related Issues
42+
43+
Link any relevant issues or discussions.

.github/SECURITY.md

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# Security Policy
2+
3+
## Reporting a Vulnerability
4+
5+
If you discover a security vulnerability, do **not** open a public issue or pull request.
6+
7+
Instead, report it **privately** by contacting the project maintainer with:
8+
- A clear description of the issue
9+
- Steps to reproduce, if applicable
10+
- Potential impact and affected versions
11+
12+
You may use encrypted communication if preferred.
13+
14+
## Scope
15+
16+
This policy applies to:
17+
- Public APIs and exported behavior
18+
- Validation logic, safety guarantees, and concurrency controls
19+
- Middleware, adapters, and reflection helpers
20+
21+
Issues caused by misuse outside documented guarantees are generally out of scope.
22+
23+
## Disclosure Process
24+
25+
Reported vulnerabilities will be reviewed and triaged as soon as possible.
26+
If confirmed, a fix will be developed and released. Public disclosure may occur after a fix is available.
27+
28+
## Supported Versions
29+
30+
Only the latest released version is supported with security updates unless stated otherwise.
31+
32+
## Responsible Disclosure
33+
34+
Please allow reasonable time for investigation and remediation before public disclosure.

CONTRIBUTING.md

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
# Contributing
2+
3+
Hello! Thank you for showing interest in my project.
4+
5+
This document defines the standard contribution rules used across my Go projects. Individual repositories may add project-specific requirements.
6+
7+
8+
## Scope
9+
10+
Contributions may include bug fixes, performance improvements, documentation updates, tests, or API extensions consistent with existing design. Significant or breaking changes should be discussed in an issue first.
11+
12+
13+
## Code Standards
14+
15+
- Go version must match `go.mod`
16+
- Code must be formatted with `gofmt`
17+
- `go vet` must pass
18+
- `golangci-lint` must pass using the repository’s `.golangci.yml`
19+
- Public APIs must have clear, idiomatic Go doc comments
20+
- Avoid new dependencies unless strictly necessary
21+
- Keep changes minimal and focused
22+
23+
24+
## Tests
25+
26+
- All changes must include appropriate tests
27+
- Existing tests must pass:
28+
```sh
29+
go test ./...
30+
```
31+
32+
- New behavior should include edge-case and failure-path coverage
33+
34+
35+
## Commits
36+
37+
- Each commit must do exactly one logical thing
38+
- Do not mix refactors, formatting, and behavior changes in a single commit
39+
- Commit messages should be clear and imperative
40+
41+
42+
## Pull Requests
43+
44+
- Clearly describe the problem and the change
45+
- Reference relevant issues if applicable
46+
- Ensure the branch is up to date with `main`
47+
- Do not include generated files unless required
48+
49+
50+
## API Stability
51+
52+
- Public APIs should remain backward compatible when possible
53+
- Breaking changes require clear justification and documentation
54+
- `internal/` packages are not considered stable
55+
56+
57+
## License
58+
59+
- By contributing, you agree that your contributions are licensed under the same license as the project.
60+
61+
```
62+
Copyright 2025 Emin Salih Açıkgöz
63+
64+
SPDX-License-Identifier: MIT
65+
```

0 commit comments

Comments
 (0)