First off — thank you for taking the time to contribute! 🎉
SchoolMod is a community-driven project and every contribution, no matter how small, makes a difference. Whether you're fixing a typo, reporting a bug, or building out a whole new integration, you're helping make school tools better for everyone.
- Code of Conduct
- How Can I Contribute?
- Development Setup
- Pull Request Guidelines
- Style Guidelines
- Project Structure
By participating in this project, you agree to keep things respectful and constructive. We're all here to build something cool together.
- Be kind and inclusive
- Welcome newcomers and help them get started
- Accept constructive feedback gracefully
- Focus on what's best for the community
Found something broken? Please open an issue and include:
- A clear title describing the problem
- Steps to reproduce the bug
- Expected vs actual behaviour
- Your browser and OS
- Screenshots or console errors if applicable
Please check existing issues first to avoid duplicates.
Have an idea for a new feature or platform integration? Open a feature request and tell us:
- What platform or area it relates to
- What problem it solves
- Any examples or mockups if you have them
Ready to write some code? Great! Here's the general flow:
- Check the open issues for something to work on, or open one yourself
- Comment on the issue to let others know you're working on it
- Fork the repo and create your branch (see below)
- Write your code and test it
- Submit a Pull Request
# 1. Fork the repository on GitHub, then clone your fork
git clone https://github.com/YOUR_USERNAME/SchoolMod.git
# 2. Navigate into the project
cd SchoolMod
# 3. Create a new branch for your work
git checkout -b feature/your-feature-name
# or for a bug fix:
git checkout -b fix/your-bug-nameFull dev environment instructions will be added here as the project grows.
Before submitting a PR, please make sure:
- Your branch is up to date with
main - Your code follows the style guidelines below
- You've tested your changes in a supported browser
- Your PR has a clear title and description explaining what and why
- You've linked any related issues (e.g.
Closes #42)
Keep PRs focused. One feature or fix per PR makes reviews faster and easier. Large, unrelated changes will be asked to be split up.
- Use clear, descriptive variable and function names
- Comment your code where the logic isn't immediately obvious
- Keep functions small and single-purpose
- Avoid committing commented-out code
- Use consistent indentation (2 spaces preferred)
SchoolMod/
├── src/
│ ├── core/ # Core injection and utility framework
│ └── integrations/ # Per-platform enhancement modules
│ ├── ep/ # Education Perfect
│ ├── mathspace/ # Mathspace
│ ├── blooket/ # Blooket
│ ├── kahoot/ # Kahoot
│ └── seqta/ # Seqta
├── docs/ # Documentation
├── CONTRIBUTING.md # This file
├── LICENSE # MIT License
└── README.md # Project overview
Note: This structure may evolve as the project develops.
Every contribution helps. Even starring the repo or sharing it with a friend makes SchoolMod reach more people. We appreciate you! ⭐