Thank you for considering contributing to this project! To ensure smooth collaboration, please follow these guidelines when creating or addressing GitHub issues.
If you encounter a bug, please create a new issue using the Bug Report template:
- Navigate to the Issues tab.
- Click New Issue → Select Bug Report.
- Provide the following details:
- Description: A clear explanation of the issue.
- Steps to Reproduce: How to reproduce the bug.
- Expected vs. Actual Behavior.
- Screenshots/Logs (if applicable).
- Environment details (OS, version, dependencies, etc.).
- Submit the issue and assign appropriate labels (
bug,high priority, etc.).
To suggest a new feature:
- Click New Issue → Select Feature Request.
- Provide:
- Problem Statement: What problem does this feature solve?
- Proposed Solution: Your idea for implementation.
- Potential Alternatives (if any).
- Additional Context (mockups, references, etc.).
- Assign relevant labels (
enhancement,good first issue, etc.).
If you'd like to work on an issue:
-
Check Open Issues: Look for issues labeled "help wanted" or "good first issue".
-
Comment on the Issue: Mention that you're taking it (e.g., "I'd like to work on this").
-
Fork the Repository & Clone it:
git clone https://github.com/ametow/xpos.git
-
Create a Branch:
git checkout -b feature-branch-name
-
Commit & Push:
git commit -m "Describe changes" git push -u origin feature-branch-name -
Open a Pull Request:
- Navigate to the repository on GitHub.
- Click New Pull Request.
- Select your branch and submit it for review.
| Label | Description |
|---|---|
bug |
A confirmed bug in the codebase. |
enhancement |
A request for a new feature or improvement. |
help wanted |
Issues that need contributions. |
good first issue |
Beginner-friendly issues to get started with. |
in progress |
Someone is actively working on this. |
duplicate |
The issue already exists. |
When submitting a PR, please follow these guidelines to ensure smooth review and integration:
-
Follow the Branch Naming Convention:
feature/feature-name(for new features)bugfix/bug-description(for bug fixes)hotfix/urgent-fix(for critical fixes)
-
Keep PRs Focused & Small:
- Solve only one issue per PR.
- If the PR grows too large, consider breaking it down.
-
Write Clear Commit Messages:
- Use present-tense: "Fix memory leak in API"
- Keep it under 50 characters for the first line.
- Add details if necessary in a second paragraph.
-
Ensure Code Quality:
- Run tests before submitting (
make test,go test ./..., etc.). - Follow the project’s coding standards.
- Check for linting errors (
golangci-lint run,eslint,prettier, etc.).
- Run tests before submitting (
-
Provide a Descriptive PR Title & Summary:
- Clearly state what the PR does and why it’s needed.
- Reference related issues (
Closes #123).
-
Request a Review:
- Assign a reviewer if applicable.
- Address all feedback before merging.
-
Check PR Labels & Status
Label Description needs reviewAwaiting review from maintainers. changes requestedRequires updates before merging. ready to mergeApproved and ready for deployment.
- Be respectful and constructive.
- Keep discussions relevant and on-topic.
- Report any abusive behavior.