-
Install pnpm
npm install -g pnpm
-
Clone this repository
gh clone TimBuilding/sd-solutions # or git clone git@github.com:TimBuilding/sd-solutions.git -
Use
cdto change into the app's directorycd sd-solutions -
Install the dependencies
pnpm install
-
Run supabase locally
npx supabase start
-
Rename
.env.local.exampleto.env.localand update the following:NEXT_PUBLIC_SUPABASE_URL=[INSERT SUPABASE PROJECT URL] NEXT_PUBLIC_SUPABASE_ANON_KEY=[INSERT SUPABASE PROJECT API ANON KEY]Both
NEXT_PUBLIC_SUPABASE_URLandNEXT_PUBLIC_SUPABASE_ANON_KEYcan be found in your Supabase project's API settings -
You can now run the Next.js local development server:
pnpm run dev
The server should now be running on localhost:3000.
Check out the docs for Local Development to also run Supabase locally.
- Node.js >= 18.17.0
- pnpm 8
pnpm dev— Starts the application in development mode athttp://localhost:3000.pnpm build— Creates an optimized production build of your application.pnpm start— Starts the application in production mode.pnpm type-check— Validate code using TypeScript compiler.pnpm lint— Runs ESLint for all files in thesrcdirectory.pnpm format-check— Runs Prettier and checks if any files have formatting issues.pnpm format— Runs Prettier and formats files.pnpm test— Runs all the jest tests in the project.pnpm test:ci— Runs all the jest tests in the project, Jest will assume it is running in a CI environment.pnpm analyze— Builds the project and opens the bundle analyzer.
TypeScript is pre-configured with custom path mappings. To import components or files, use the @ prefix.
import { Button } from '@/components/ui/Button'
// To import images or other files from the public folder
import avatar from '@/public/avatar.png'-
Get the latest changes from the remote repository
gt sync
-
Develop your feature or fix a bug
-
Save/commit your changes
gt create -am "feat: add new feature"-aflag stages all changes and-mflag adds a commit message -
Push your changes to the remote repository and create a pull request
gt submit
-
Confirm the pull request on Graphite
-
Rinse and repeat