- Install Node 16 LTS
- Install Git
- If you are not comfortable with the Git command line tool, you may use GitHub Desktop (https://desktop.github.com/). Take a look at https://acmcsuf.com/1st/ if this is your first time contributing to an open source project.
- Create a fork of acmcsuf.com, similar to https://github.com/jaasonw/acmcsuf.com
- Create an access token
- Follow these instructions to add it to your dev environment
- Create a local clone of your FORKED repository
- Open a terminal inside your local clone and run
npm i
to install the required dependencies (We use svelte for much of the codebase along with Typescript and some utility libraries) - Run
npm start
(ornpm run dev
) to boot up the local development server and navigate tolocalhost:5173
in your web browser and you should have a local copy of the website
- Create a new branch, DO NOT work directly off the main branch
- Open
src/routes/+page.svelte
, this is the root of the website, in other words, the front page when you visit the website - Go ahead and change the title of the website to anything you want and head over to
src/routes/hero.svelte
and change the text of the header - Whenever applicable (it’s not in this case), write unit tests for any new functions or components you create
- Once you’re satisfied your changes, you MUST use
npm run all
to run all tests, lints, and formatting necessary for a release build, otherwise the automated build test will fail - Commit and push your changes
- Once you’re ready to submit your changes for review, head back over to the main repository and click on Pull Requests → New pull request
- Your pull request should contain
- A clear and descriptive title (Please do not use “Fixed #123”)
- A clear description that describes, in detail, what you changed and how
- A link to the issue that you resolved (if applicable)
- Any screenshots if your change affects something visible on the website or that you believe would help the reviewer understand your changes
- Examples of good PRs
- Examples of bad PRs
- Request a code review from someone by first contacting them and then assigning them to your PR using the “Reviewers” panel
- Address any feedback from your reviewers if applicable
- Once your changes have been approved, you have permission to merge your changes, and your changes should be merged with a SQUASH and NOT a merge commit
If you aren’t already familiar with Svelte, you should go through the official Svelte tutorial as much of the codebase uses it
Once you’re ready to start, you may either assign yourself to an issue or ask for an issue to be assigned to you. I’d recommend starting with issues tagged “Good First Issue”
For a more in depth overview of the codebase, check out CONTRIBUTING.md and ARCHITECTURE.md