Getting Started

Why read docs when you can just read the code?

Something needs fixing? Want to add a new feature?

Creating an issue documents changes to incorporate and lets everyone know what you're working on.

Here's an example of a well-documented issue.


Using a terminal user interface (TUI) Git porcelain is highly encouraged to manage your commits, branches, staging areas, stashes, and much more. These are common occurences as we do Trunk-Based Development.

It's also significantly easier to resolve merge conflicts, cherry-pick commits between branches, squash them, amend a few commits back, checkout a specific commit, stage in hunks, etc.

You'll be able to unlock the full power of Git without having to memorize all the commands.

Lazygit is included in the Nix shell. Run lazygit to use it.

Learn the Fork and Pull Model

The Fork and Pull Model is used to merge external contributions into the project.

Our codebase is constantly changing and evolving. Keep your fork up-to-date with the main repository with gh repo sync cuhacking/2025.

See Knowledge Base - Learn Git and for resources.

Check Project Status

See what we're up to on the project board linked in the navbar.

Pick an Issue

Comment on an issue on the project board that you're interested in to be assigned, or create one for yourself.

Alternatively, you can also look at the open issues and see if there's anything that you can help with which interests you.

Make sure to let us know that you're interested in working on an issue by commenting on it.

Create a Branch

Branch from main with the following name format:

yourname/<issue-type>/<issue-number>-<issue-name-kebab-cased>.

Your branch must be named the same as the issue, without the scopes.

For example, the branch for issue #1 titled 'feat(portal): add login page' would be:

johndoe/feat/1-add-login-page.

See Conventional Branch to learn more.

Commit Changes with Conventional Commits spec

See Conventional Commits to learn more.

Create Draft PR

Mark Draft PR Ready for Review

Implement Feedback

Volunteer meetings 📆

Meet the team, learn about the project, get the latest updates, and ask any questions you may have regarding cuHacking at our meetings. View our calendar.

Don't forget to join the community server as well.

On this page

Made with 💚 for Hackers by Hackers