Thank you for your interest in contributing to NexusGate! We're excited to have you join our community. This document outlines the process for contributing to the project and how to get started.
- Contributing to NexusGate
By participating in this project, you agree to abide by our Code of Conduct. Please be respectful and constructive in your interactions with other contributors.
Before you begin, make sure you have:
- A GitHub account
- Git installed on your local machine
- Familiarity with basic Git commands
- Docker (for testing your changes)
Start by forking the NexusGate repository to your own GitHub account.
git clone https://github.com/YOUR-USERNAME/nexusgate.git
cd nexusgategit remote add upstream https://github.com/geektechx/nexusgate.gitCreate a branch for your feature or bugfix:
git checkout -b feature/your-feature-name
# or
git checkout -b fix/your-bugfix-nameFollow these steps to set up your local development environment:
# Install dependenices
bun install
# For backend (you may also to setup a database for testing)
bun run dev
# For frontend
bun run start- Find an Issue: Look for open issues or create a new one describing the feature or bug you want to work on.
- Comment on the Issue: Let others know you're working on it.
- Make Changes: Implement your feature or fix the bug.
- Test Your Changes: Ensure your changes work as expected and don't break existing functionality.
- Commit Your Changes: Follow the commit message guidelines.
- Push to Your Fork: Push your changes to your forked repository.
- Create a Pull Request: Submit a PR from your branch to the main NexusGate repository.
When submitting a pull request:
- Ensure your PR addresses a specific issue. If no issue exists, create one first.
- Provide a clear and detailed description of the changes.
- Include screenshots or GIFs for UI changes.
- Include tests for new features or bug fixes.
- Make sure all tests pass.
- Update documentation if necessary.
We follow the Conventional Commits specification for commit messages:
<type>(<scope>): <subject>
Examples:
feat(dashboard): add new analytics chartfix(api): resolve token counting issuedocs(readme): update installation instructionsrefactor(backend): improve error handling
- Follow the existing code style and conventions in the project.
- Write clear, commented, and maintainable code.
- Keep functions small and focused on a single task.
- Write meaningful variable and function names.
- Document public API methods and components.
- Write tests for new features and bug fixes.
- Run the existing test suite to ensure your changes don't break existing functionality.
- For frontend changes, test across different browsers and screen sizes.
- Update documentation when adding or changing features.
- Clear and concise documentation helps others understand and use your contributions.
Join our community channels to get help, share ideas, and connect with other contributors:
- GitHub Issues: For bug reports and feature requests
- GitHub Discussions: For general questions and discussions
All contributors will be recognized in our README and Contributors list. Your contributions are greatly appreciated and help make NexusGate better for everyone!
Thank you for contributing to NexusGate! We're excited to see what you'll build with us.