diff --git a/.coderabbit.yaml b/.coderabbit.yaml index 126537c..7f7397f 100644 --- a/.coderabbit.yaml +++ b/.coderabbit.yaml @@ -67,7 +67,6 @@ knowledge_base: enabled: true file_patterns: - "**/CLAUDE.md" - - "**/.cursorrules" # Web search for additional context (library docs, etc.) web_search: diff --git a/.cursor/rules/codeswhat-project.mdc b/.cursor/rules/codeswhat-project.mdc deleted file mode 100644 index 5f069e2..0000000 --- a/.cursor/rules/codeswhat-project.mdc +++ /dev/null @@ -1,71 +0,0 @@ ---- -description: CodesWhat - Software consultancy website development rules -alwaysApply: true ---- - -# CodesWhat Project Rules - -## Project Context -Building CodesWhat (codeswhat-website) - a modern software consultancy landing page. -- Next.js 15.4.0 App Router, TypeScript strict, Tailwind CSS v4 -- Vercel deployment with `frontend/` as root directory -- EmailOctopus for subscriptions, Sonner for toasts - -## Development Workflow -- Use `./start.sh` for dev server (auto-restarts, port management) -- Run `npm run check:all` before committing -- Frontend directory is the Vercel root - -## Git Commit Standards -**MANDATORY**: All commits must include emojis. - -Format: ` : ` - -Common types: -- ๐Ÿ› fix - ๐ŸŽจ style - โœจ feat - ๐Ÿ”ง config - ๐Ÿ“ docs -- ๐Ÿ”„ refactor - ๐Ÿ“ฆ deps - ๐Ÿงช test - ๐Ÿš€ deploy - ๐Ÿ—‘๏ธ remove - -Multi-change commits use emoji bullets: -``` -๐ŸŽจ style: Improve dark mode visibility - -- ๐Ÿ› fix: Toast notification positioning -- ๐ŸŽจ style: Updated color contrast -- ๐Ÿงน cleanup: Removed unused styles -``` - -## Component Patterns -- Server Components by default -- Client Components only for interactivity -- Use shadcn/ui components: `npx shadcn@canary add [component]` - -## Styling Rules -- Tailwind classes only, no inline styles -- Dark mode: use `dark:` prefix -- Toast backgrounds must be solid (no transparency) -- Background pattern uses `fixed` positioning - -## API Implementation -```typescript -// Rate limiting example -const limiter = rateLimit({ max: 5, windowMs: 60000 }) - -// Always validate and sanitize -const email = formData.get('email')?.toString().toLowerCase().trim() -``` - -## Environment Variables -Public: `NEXT_PUBLIC_SITE_URL`, `NEXT_PUBLIC_SITE_NAME` -Private: `EMAILOCTOPUS_API_KEY`, `EMAILOCTOPUS_LIST_ID` - -## Key Features -- Email subscription: 5 req/min rate limit -- Toast notifications: bottom-right, 5s duration, hover to pause -- Dark mode: logo inverts colors -- SEO: robots.ts, sitemap.ts, JSON-LD on homepage - -## Pre-deployment -1. `npm run check:all` -2. Test email subscription -3. Verify dark mode -4. Check mobile responsive diff --git a/README.md b/README.md new file mode 100644 index 0000000..73ff981 --- /dev/null +++ b/README.md @@ -0,0 +1,30 @@ +# CodesWhat website + +Private source for the public CodesWhat org site at codeswhat.com. The +Next.js app lives in `frontend/`; everything deployable is under that +directory. + +## What this repo is (and isn't) + +This is permanently private infrastructure, not a community project. That's +why there's no LICENSE, CONTRIBUTING, SECURITY policy, or CODEOWNERS here: +the site's source isn't published, only the rendered site is. The tier +decision and rationale live in the private ops repo +(`decisions/repository-tiers.md`). + +## Working here + +- Flow: feature branches PR into `dev`, then `dev` promotes to `main`. +- CI: `website.yml` runs the website contract checks. +- Deploys: Vercel, but git-integration deploys are broken for this repo (a + private repo in a GitHub org can't deploy on the Hobby plan). Production + deploys happen from a local checkout with + `npx vercel deploy --prod --scope codeswhat`. +- Analytics: PostHog via the shared "CodesWhat Public Websites" project, + proxied through `e.codeswhat.com`, cookieless. + +## More docs + +- `docs/README.md` - development guide +- `frontend/README-VERCEL.md` - deploy specifics +- `ROADMAP.md` - planned sections and site direction diff --git a/docs/README.md b/docs/README.md index 316fa13..f32f375 100644 --- a/docs/README.md +++ b/docs/README.md @@ -16,5 +16,4 @@ npm run dev # Start development server ``` ### Other Documentation -- **Cursor Rules**: See `.cursorrules` in the project root - **Future Plans**: See `FUTURE_SECTIONS.md` in the project root \ No newline at end of file