# Contribution Guide ## Things to get familiar with - pnpm - package manager & monorepo - React - Front-end framework - Svelte - Front-end framework - SvelteKit - Svelte meta-framework ## Project Structure - `apps` - `main` - https://developomp.com - `blog` - https://blog.developomp.com - `portfolio` - https://portfolio.developomp.com - `packages` - shared stuff used across different packages - `content` - Shared content - `eslint-config` - ESLint configuration files - `tailwind-config` -tailwind configuration with pomp-specific extensions ## Setting Up > **If you are a Windows user:** > > - Do **NOT** use the Command Prompt (cmd) > - Do **NOT** use Windows PowerShell > - Run these commands from PowerShell or a Linux terminal such as WSL or Git Bash > > PowerShell and Windows PowerShell are [different applications](https://learn.microsoft.com/en-us/powershell/scripting/whats-new/differences-from-windows-powershell?view=powershell-7.3). 1. Clone this git repository 2. Install the following - [NodeJS](https://nodejs.org) - [pnpm](https://pnpm.io/installation) 3. Install Dependencies ``` pnpm install ``` 4. Run whatever command you need either in project root or in individual packages - `pnpm build` - Build all apps and packages - `pnpm dev` - Run all apps and packages locally - blog - http://localhost:3000 - main - http://localhost:5173 - portfolio - http://localhost:5174 - `pnpm lint` - Lint all apps and packages - `pnpm clean` - Remove all auto-generated content such as `node_modules` and `dist`. ## Testing 1. Build site ``` pnpm build ``` 2. Run E2E Tests ``` pnpm test:e2e ``` 3. Benchmark deployed sites using the following services: - https://seoptimer.com - https://gtmetrix.com