Contributing to CMU Housing
Thank you for your interest in contributing to CMU Housing! This guide will help you get started.
Setup
Developers should add themselves to the cmu-housing team in governance following the instructions in its README. This gives you access to secrets and permission to create branches on the repo.
How to Contribute
-
Create a new branch from latest
mainwith a descriptive name:git fetch origin main git switch main git reset --hard origin/main git checkout -b feat/your-feature # or git checkout -b fix/the-bug -
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)
git add . # then git commit -m "Your commit message" -
Push to your fork or branch
# if first branch push git push --set-upstream origin your-branch-name # otherwise git 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 the repo’s homepage on Codeberg.
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 VS Code, and the following setup guide will assume you are using VS Code.
Recommended VS Code extensions:
- VS Code 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.
Start the shared infrastructure (postgres, ricochet):
devenv up
Frontend, in a separate terminal:
cd apps/frontend
deno task dev
Backend, in a separate terminal inside the devenv shell:
cd apps/backend
PORT=3001 deno task dev
Before Submitting
Before you commit and open a pull request, make sure to:
- Test locally with your changes (
devenv upand thendeno task devinapps/frontend) - 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 CMU Housing 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!