|
| 1 | +# CLAUDE.md |
| 2 | + |
| 3 | +## Project Overview |
| 4 | + |
| 5 | +Myanmar Software Engineers (MMSWE) — a community platform showcasing Myanmar software engineers with profile listings and blog functionality. Static site deployed to GitHub Pages at mmswe.com. |
| 6 | + |
| 7 | +## Tech Stack |
| 8 | + |
| 9 | +- **Framework**: Next.js 13.5.4 (App Router, TypeScript, static export) |
| 10 | +- **Package Manager**: Bun (primary) |
| 11 | +- **Styling**: Tailwind CSS + DaisyUI + Sass |
| 12 | +- **Content**: Contentlayer with MDX (profiles and blogs) |
| 13 | +- **Animation**: Framer Motion, Three.js / React Three Fiber |
| 14 | +- **Path alias**: `@/*` → `./src/*` |
| 15 | + |
| 16 | +## Commands |
| 17 | + |
| 18 | +```bash |
| 19 | +bun install # Install dependencies |
| 20 | +bun dev # Dev server |
| 21 | +bun run build # Build static site (output: ./out) |
| 22 | +bun run serve # Serve static build locally |
| 23 | +bun run lint # ESLint |
| 24 | +bun run content:build # Build contentlayer content |
| 25 | +bun run commit # Interactive gitmoji commit helper |
| 26 | +``` |
| 27 | + |
| 28 | +## Project Structure |
| 29 | + |
| 30 | +``` |
| 31 | +src/ |
| 32 | + app/ # Next.js App Router pages (blog, profile, contact-us) |
| 33 | + components/ # Reusable React components (Animate, Common, Profile, Ui) |
| 34 | + config/ # App configuration |
| 35 | + data/ # Static data (animation variants, icon list) |
| 36 | + hooks/ # Custom React hooks |
| 37 | + styles/ # Global styles (SCSS) |
| 38 | + utils/ # Utilities (profileHelper.ts for filtering/search) |
| 39 | +content/ |
| 40 | + profile/ # Developer profiles (.mdx files) |
| 41 | + blog/ # Blog posts (.mdx files) |
| 42 | +``` |
| 43 | + |
| 44 | +## Content Schemas |
| 45 | + |
| 46 | +**Profile** (`content/profile/*.mdx`): |
| 47 | +```yaml |
| 48 | +name: string (required) |
| 49 | +description: string |
| 50 | +tags: string[] # Technology tags |
| 51 | +image: string # GitHub avatar URL |
| 52 | +``` |
| 53 | +
|
| 54 | +**Blog** (`content/blog/*.mdx`): |
| 55 | +```yaml |
| 56 | +title: string (required) |
| 57 | +description: string |
| 58 | +date: date (required) |
| 59 | +published: boolean (default: true) |
| 60 | +``` |
| 61 | + |
| 62 | +## Commit Convention |
| 63 | + |
| 64 | +Uses **gitmoji** commits enforced by commitlint + Husky. Format: `:emoji: type(scope): message` |
| 65 | + |
| 66 | +Key types: |
| 67 | +- `:fire: build(profile): add <name> profile` — new profiles |
| 68 | +- `:beers: build(blog): add <name> blog` — new blogs |
| 69 | +- `:sparkles: feat: <description>` — new features |
| 70 | +- `:bug: fix: <description>` — bug fixes |
| 71 | +- `:lipstick: style: <description>` — UI/UX changes |
| 72 | +- `:recycle: refactor: <description>` — refactoring |
| 73 | + |
| 74 | +## CI/CD |
| 75 | + |
| 76 | +GitHub Actions (`.github/workflows/build.yml`): on push/PR to `main`, installs with Bun, builds, deploys to GitHub Pages. |
0 commit comments