Thank you for showing an interest in contributing to GNOME-Nepal! All kinds of contributions are valuable to us. In this guide, we will cover how you can quickly onboard and make your first contribution.
- Code of Conduct
- How to Contribute
- Getting Started
- Development Workflow
- Submitting Changes
- Reporting Issues
- Style Guide
- Code Reviews
- License
Please read and adhere to our Code of Conduct. By participating, you agree to abide by its terms.
You can contribute in several ways:
- Reporting bugs
- Suggesting features
- Suggesting Enhancements and improvements
- Writing or improving documentation
- Submitting bug fixes or enhancements
-
Fork the repository: Click here to fork the repository
-
Clone the forked repository:
git clone https://github.com/GNOME-Nepal/site-server.git cd site-server
-
Setup Virtual Environment
Set up environment variables .env by copying the env.example file and updating its entries to match your local settings.
cp env.example .env
-
Set up and source python virtual environment
python3 -m venv .venv source ./.venv/bin/activate
-
Install requirements
pip install -r requirements.txt
-
Install Pre-commit Hooks
pre-commit install
-
Create a branch for your changes:
git checkout -b your-branch-name
-
Keep your fork up to date: You can sync the fork using Github's UI
-
Make your changes: Implement your changes in the relevant files.
-
Test your changes: Ensure your changes work as intended and do not introduce new issues. Make sure that the Docker image thus created is runnable and doesn't cause further issues during build or in production.
-
Lint your changes: Inside the virtual environment, use the following commands
pre-commit run --all-files
Please note that our workflow will ignore your changes if it doesn't run or if linting is failing. If you need any help with that, feel free to create a PR and ask the help from maintainer.
-
Commit your changes:
git add . git commit -m "Description of the changes"
-
Push your changes:
git push origin your-branch-name
-
Create a Pull Request: Go to the repository on GitHub and click the "New Pull Request" button. Follow the prompts to submit your pull request.
-
Describe your changes: Provide a detailed description of your changes, including the motivation behind them and any relevant issue numbers.
-
Ensure all checks pass: Make sure your pull request passes all automated checks and reviews.
If you encounter any issues, please report them using the Issue Tracker. When reporting an issue, please include:
- A clear and descriptive title
- A detailed description of the problem
- Steps to reproduce the issue
- Any relevant logs or screenshots
Please follow the project's style guide to ensure consistency. This includes code formatting, naming conventions, and documentation standards. Refer to the Style Guide for more information.
All submissions, including pull requests, are reviewed. We aim to provide feedback within a reasonable timeframe. Contributions that do not align with the project's goals or guidelines may be rejected.
By contributing, you agree that your contributions will be licensed under the project's LICENSE.