Contributing
Contributing to CMUHousing
Thank you for your interest in contributing to CMUHousing! This guide will help you get started.
Setup Codeberg
ScottyLabs developers must follow this guide to setup their codeberg in order to commit. CMUHousing developers also should add themselves to the cmuhousing team using these instructions. This allows your commits to be verified and signed.
How to Contribute
-
Fork the repository or create a new branch if you have write access
-
Create a new branch from
mainwith a descriptive name:Terminal window git checkout -b your-feature-name# orgit checkout -b bug-description -
Make your changes following the code style and conventions
-
Test your changes locally by running the project. See README.md for more instructions on running the project.
-
Commit using conventional commits (see below)
Terminal window git add .# thengit commit -m "Your commit message" -
Push to your fork or branch
Terminal window # if first branch pushgit push --set-upstream origin your-branch-name# otherwisegit push -
Open a Pull Request with a clear description of your changes. You can do this by going to the link provided in the push terminal response or by visiting your branch on GitHub.
Conventional Commits
This project follows Conventional Commits.
Examples:
feat: add course search by instructorfix: resolve dining hall location formatting issuedocs: update README installation stepsrefactor: simplify embed pagination logicchore: update dependencies to latest versionsstyle: format code with biome
Code Editor Setup
We recommend using VSCode, and the following setup guide will assume you are using VSCode.
Recommended VSCode extensions:
- VSCode has builtin TypeScript language support
- Dependi
- Oxc
- Typescript (Native Preview)
- Rust Analyzer
- GitLens
- Auto Close Tag
You will also need git installed.
Local Development
Prerequisites: devenv and direnv.
cd housingdirenv allowdevenv up # starts the frontend dev server on port 3000If secretspec complains about the vault provider locally, use:
SECRETSPEC_PROVIDER=dotenv://.env devenv shellBefore Submitting
Before you commit and open a pull request, make sure to:
- Run
npm run lintinapps/frontendand fix any errors/warnings - Run
npm run formatfrom the repo root to format your code - Test locally with your changes (
devenv upornpm run devinapps/frontend) - Ensure your commits follow conventional commit format
- Update documentation if you added/changed features
Pull Request Guidelines
- Keep PRs focused - One feature or fix per pull request
- Write clear descriptions - Explain what changed and why
- Reference related issues - Use “Fixes #123” or “Closes #456” if applicable
- Be responsive - Address review feedback promptly
Project Priorities & Planning
To understand current priorities, roadmap, and ongoing work:
- Visit the CMUHousing Development project
- Pick an issue from the board and assign it to yourself.
- Use Priority and Size labels to choose based on what you can handle in a timely fashion.
- If you cannot access the board, ask a maintainer to add you to the ScottyLabs organization.
Need Help?
If you have questions or need help:
- Check existing issues and pull requests for similar questions
- Check resources below for help on issue subject
- Reach out to leadership with questions
Project Resources
Points of Contact
- Project Lead: Nikhil (@ecstaticpilot)
- Advisors: Max (@tentype) and John (@gostmeaper)
- Outreach/ResEd Contact: John (@gostmeaper)
- Senate Contact: Sanjeev (@blender1778)
- DevOps: Ryan (@thesuperrl)
Remember to follow conventional committing guidelines while contributing!