Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

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

  1. Create a new branch from latest main with 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
    
  2. Make your changes following the code style and conventions

  3. Test your changes locally by running the project. See README.md for more instructions on running the project.

  4. Commit using conventional commits (see below)

    git add .
    # then
    git commit -m "Your commit message"
    
  5. Push to your fork or branch

    # if first branch push
    git push --set-upstream origin your-branch-name
    
    # otherwise
    git push
    
  6. 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 instructor
  • fix: resolve dining hall location formatting issue
  • docs: update README installation steps
  • refactor: simplify embed pagination logic
  • chore: update dependencies to latest versions
  • style: 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:

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 up and then deno task dev in apps/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!