Skip to content

Development (for Maintainers)

Samuel Chan edited this page Feb 27, 2023 · 2 revisions

Running locally

Supertype Collective is built with Next.js and Tailwind CSS (along with DaisyUI). It uses yarn wherever it can for package management.

Start the development server.

npm run dev
# or
yarn dev

Use yarn build to ensure that your build succeed without errors or warnings before sending in a Pull Request.

The home page of the site is edited by modifying pages/index.js.

API routes can be accessed on http://localhost:3000/api/hello. This endpoint can be edited in pages/api/hello.js.

The pages/api directory is mapped to /api/*. Files in this directory are treated as API routes instead of React pages.

This project uses next/font to automatically optimize and load Inter, a custom Google Font.

Improving Supertype Collective as a code contributor

We welcome contributions from all members of the Collective. If you have an idea for a new feature or a bug fix, please open an issue first to discuss it with the team. If you have a fix for an existing issue, please open a PR with the issue number in the title.

Use dev- as the prefix for your branch name if you are working on a new feature. Use fix- as the prefix for your branch name if you are working on a bug fix. These pull requests will be assumed to contain changes to the codebase, and will be reviewed by the team. Do not use these pull requests to make changes to your profile (submit a separate PR with profile- instead).

What's urgently needed?

  1. Writing unit tests for the existing codebase. You should be familiar with the Next.js documentation on this subject. Open a PR with the test- prefix for your branch name.
  2. More icons for the IconRow component. You can find the list of icons in the public/techicons directory. We currently have 53 sets of icons, each set being a full black (<icon_name>.png) and a full white (<icon_name>_inv.png variant).
    • Icons should be 50x50 pixels, in PNG, and ideally under 500 bytes (maximum 5kb). It should be either full-white, or full-black, and follow the minimalistic style of the existing icons.
  3. Improve the developer experience. We are looking for contributors who can help us improve the developer experience for new contributors. This includes improving the documentation (this Wiki that you're reading), improving the codebase, and improving the onboarding process.