# Performance West — Development Guidelines ## Deployment Rules - **NEVER** edit files in `/tmp/` — always edit in this project directory - **NEVER** scp individual files to dev/prod — always commit and deploy via git - After editing any file, commit it: `git add && git commit -m "description"` - All source code lives in this repo and is deployed via `git pull` on the server ### Deploy to dev ```bash ./scripts/deploy.sh dev ``` ### Deploy to prod ```bash ./scripts/deploy.sh prod ``` ## Git Server - **URL**: https://git.performancewest.net - **Repo**: performancewest/new-site - **SSH clone**: `git clone ssh://git@git.performancewest.net:2222/performancewest/new-site.git` ## Infrastructure - **Prod server**: `deploy@207.174.124.71:22022` → `/opt/performancewest/` - **Dev server**: same host → `/opt/performancewest-dev/` - **HestiaCP**: `root@cp.carrierone.com:22022` (DNS, email provisioning) - **Docker Compose**: all services run in containers (API, site, workers, postgres, etc.) ## Project Structure - `api/` — Express.js API (TypeScript) - `site/` — Astro static site (pages, components, layouts) - `scripts/` — Python workers, document generators, scrapers - `infra/` — Ansible playbooks, nginx configs - `docs/` — Product documentation ## Site Pages Site source files live in `site/src/pages/`. The site uses: - Layout: `site/src/layouts/Base.astro` - Components: `site/src/components/` - Tailwind CSS with `pw-` custom color palette - Inline `