Thank you for your interest in contributing to Knight Hacks! We are always looking for new contributors to help us improve our projects and make Knight Hacks an even greater experience for everyone!
Please take a moment to review this document in order to make the contribution process easy and effective for everyone involved!
If you need any help or have any questions, please contact Mirage on the Knight Hacks Discord server!
This repository is a monorepo.
- We use pnpm and
workspacesfor development. - We use Turborepo as our build system.
- We use Cloudflare for hosting.
- We use Prettier for code formatting.
- We use ESLint for linting.
- We use Turso for our database.
- We use Clerk for authentication.
This repository is structured as follows:
apps
├── admin
├── club
└── 2024
packages
├── api
├── db
├── consts
├── ui
└── validators
tooling
├── eslint
├── github
├── prettier
├── tailwind
└── typescript
| Path | Description |
|---|---|
apps/admin |
React admin dashboard |
apps/club |
Knight Hacks club website |
apps/2024 |
Fall 2024 hackathon website |
packages/api |
Knight Hacks API |
packages/db |
Database schema and configuration |
packages/consts |
Constant values |
packages/ui |
Knight Hacks' design system |
packages/validators |
ZOD schema validators |
tooling/eslint |
Eslint configuration files |
tooling/github |
GitHub Actions scripts |
tooling/prettier |
Prettier configuration files |
tooling/tailwind |
Shared Tailwind configuration file |
tooling/typescript |
TypeScript configuration files |
git clone https://github.com/KnightHacks/knighthacks.gitcd knighthacksgit checkout -b <project-name>/<branch-name>pnpm installYou can use the pnpm dev --filter=<WORKSPACE> or pnpm dev -F <WORKSPACE> to run a particular workspace.
To run the admin dashboard:
pnpm --filter=admin devTo run the api:
pnpm --filter=api devAll lowercase with no period at the end. Use present tense. Something like the following is good:
git commit -m "add new feature"