First off, thank you for considering contributing to CosmoBot! Your time and efforts are greatly appreciated. This guide will help you get started with contributing to the project.
By participating in this project, you agree to abide by the Code of Conduct. Please be respectful and considerate to others in all interactions.
If you find a bug, please open an issue on GitHub. Include as much detail as possible:
- A clear and descriptive title.
- Steps to reproduce the issue.
- Any relevant log output or screenshots.
- The version of CosmoBot and your environment setup (e.g., Python version, Discord.py version).
We welcome feature requests! If you have an idea for improving CosmoBot, please open an issue on GitHub and:
- Explain the problem your feature would solve.
- Describe the proposed solution.
- Mention any alternatives you've considered.
We welcome contributions from everyone, whether you're fixing a bug or adding a new feature. Please ensure that your code follows our Style Guidelines.
-
Fork the repository to your GitHub account.
-
Clone your fork to your local machine:
git clone https://github.com/YOUR-USERNAME/CosmoBot.git
pdm install requirements.txt
Create a .env
file in the root of the project and add your Discord bot token and other necessary configurations.
DISCORD_BOT_TOKEN=your_discord_bot_token_here
python main.py
git checkout -b feature/your-feature-name
git commit -m "Add feature: Your feature description"
git push origin feature/your-feature-name
- Code Style: Follow PEP 8 for Python code.
- Docstrings: Use Google Style Docstrings.
- Commit Messages: Write clear and concise commit messages. Use the present tense ("Add feature" not "Added feature").
- Ensure your branch is up-to-date with the
main
branch. - Submit a detailed Pull Request on GitHub, describing your changes.
- A project maintainer will review your PR. Please be patient and responsive to feedback.
- Once approved, your PR will be merged into the
main
branch.
By contributing to CosmoBot, you agree that your contributions will be licensed under the AGPL-3.0 License.