You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: .github/CONTRIBUTING.md
+28-10
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@
2
2
3
3
Thank you for taking the time to contribute!
4
4
5
-
Any contributions to this project are always welcome and encouraged, regardless of programming expertise. If you're not sure where to start or how to contribute, you can refer to [these articles](https://contributing.md/) which may give you some useful pointers and insights.
5
+
Any contributions to this project are welcome and encouraged, regardless of programming expertise. If you're not sure where to start or how to contribute, you can refer to [these articles](https://contributing.md/) which may give you some useful pointers and insights.
6
6
7
7
Before you jump the gun, we ask that you first and foremost check the following feeds to see if your issue has already been addressed. That way, you'll have a greater possibility of finding a solution to your issue if it is already resolved or any further developments/context related to your issue from other maintainers or collaborators.
8
8
@@ -18,17 +18,35 @@ This project is bootstrapped with a modified [Vite](https://vitejs.dev/) + [Reac
18
18
### Prerequisites
19
19
20
20
-[Node.js](https://nodejs.dev/en/learn/) (LTS is recommended)
21
+
-[Visual Studio Code](https://code.visualstudio.com/docs/sourcecontrol/overview#_branches-and-tags)
21
22
22
23
### Project Setup
23
24
24
-
1.[Install Node.js](https://nodejs.dev/en/learn/how-to-install-nodejs/) in your workspace if you haven't already.
25
-
2. Open a new terminal and run `yarn install` and `yarn prepare`. This will install all necessary dependencies and run supplementary code generation processes.
26
-
3. Make your changes! You can run `yarn dev` at anytime to start a local development server or `yarn build` and `yarn preview` to build a local production server and preview your changes.
27
-
4. Before you commit your changes, make sure to run `yarn test` at least once to ensure all unit tests are passing, and check for any underlying errors or vulnerabilities that could make your code unsafe to run in production.
28
-
5. Once you're ready, you can submit a new pull request and await feedback.
25
+
1. Install [Node.js](https://nodejs.dev/en/learn/how-to-install-nodejs/) and [Visual Studio Code](https://code.visualstudio.com/Download) if you haven't already.
26
+
2.[Create a new fork](https://guides.github.com/activities/forking/) of the repository and [clone it](https://code.visualstudio.com/docs/sourcecontrol/overview#_cloning-a-repository) to your local machine.
27
+
3.[Create a new dedicated branch](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-and-deleting-branches-within-your-repository#creating-a-branch) and sync it to your workspace.
28
+
4. If you're using Visual Studio Code, install the recommended workspace extensions (VSC should prompt you to do so). This will enable useful workspace integrations that are compatible with the codebase.
29
+
5. Open a new terminal in your cloned directory and run `yarn install`. This will install all necessary dependencies and run any supplementary code generation processes.
30
+
6. Make your changes! You can run `yarn dev` to start a local development environment or `yarn build` + `yarn preview` for a production environment.
31
+
- If you're running a local development environment, run `yarn prepare` once beforehand to run all necessary codegen workflows for the server.
32
+
7. Once the server is running, you can open the `localhost` link that appears in console to preview your changes on your local machine.
29
33
30
-
###Other Specifications
34
+
#### Git Hooks
31
35
32
-
-[PandaCSS](https://panda-css.com/) is used as the primary styling engine. After running `yarn prepare` or making changes to the `panda.config.ts` file at runtime, the engine will autogenerate the contents of `src/styles` for use throughout the project.
33
-
- Similarly, routing is provided by [Generouted](https://github.com/oedotme/generouted), and will autogenerate the contents of the `src/router.ts` file at runtime.
34
-
- ESLint and Prettier will automatically reformat your code when staging new commits to enforce a consistent coding style. If this does not work for some reason, you can run `yarn lint --fix` and `yarn format --write` respectively to manually run the linter/formatter on your code.
36
+
Pre-commit hooks are configured via [lefthook](https://github.com/evilmartians/lefthook) to run workflows before making commits to the repository.
37
+
38
+
**These hooks are not enabled by default**, but you can run `yarn lefthook install` to enable them for your workspace.
39
+
40
+
### Submitting a Pull Request
41
+
42
+
If you think you're ready to make a pull request, be sure to run through the following checklist to ensure your code is production-ready:
43
+
44
+
-[ ] If you did not activate the available git hooks for your workspace, you can run the following command to manually run the linter/formatter on select files: `yarn check --write {files}`.
45
+
-[ ] Always run `yarn test` at least once to ensure all unit tests are passing.
46
+
-[ ] Make a production build for your application (`yarn build && yarn preview`) and ensure no critical errors are present or noticeable.
47
+
48
+
## Technologies
49
+
50
+
-[Biome](https://biomejs.dev/) is used for all linting and formatting concerns. The configured git hooks should run the linting and formatting workflows automatically on pre-commit, but you can also run `yarn biome -h` to run any additional commands as needed.
51
+
-[PandaCSS](https://panda-css.com/) is used as the primary styling engine. After running `yarn prepare` or making changes to the `panda.config.ts` file at runtime, the engine will autogenerate the contents of `./styled-system` for use throughout the project.
52
+
- Similarly, routing is provided by [Generouted](https://github.com/oedotme/generouted) and will autogenerate the contents of the `src/router.ts` file at runtime.
0 commit comments