mirror of
https://github.com/Memo-2023/mana-monorepo.git
synced 2026-05-14 16:41:08 +02:00
Applied formatting to 1487+ files using pnpm format:write - TypeScript/JavaScript files - Svelte components - Astro pages - JSON configs - Markdown docs 13 files still need manual review (Astro JSX comments)
3.3 KiB
3.3 KiB
CLAUDE.md - BaunTown
This file provides guidance to Claude Code when working with the BaunTown project.
Project Overview
BaunTown is a community website for developers and creators with:
- Multilingual support (DE, EN, IT)
- Payment integration (Stripe, PayPal)
- Content collections for news, projects, tutorials, etc.
- Netlify deployment with serverless functions
Architecture
apps/bauntown/
├── apps/
│ └── landing/ # Astro landing page
│ ├── netlify/ # Serverless functions
│ ├── public/ # Static assets
│ ├── src/ # Source code
│ ├── astro.config.mjs
│ ├── netlify.toml
│ └── package.json # @bauntown/landing
├── packages/ # For future shared packages
├── readme/ # Documentation
├── package.json # Root orchestrator
└── CLAUDE.md # This file
Quick Start
Development
# From monorepo root
pnpm install
# Start BaunTown landing page
pnpm bauntown:dev
# Or directly
pnpm dev:bauntown:landing
Build
# Build for production
pnpm --filter @bauntown/landing build
# Preview production build
pnpm --filter @bauntown/landing preview
Environment Variables
Create apps/bauntown/apps/landing/.env:
STRIPE_SECRET_KEY=sk_...
STRIPE_WEBHOOK_SECRET=whsec_...
GOOGLE_SHEETS_CREDENTIALS=...
PUBLIC_STRIPE_KEY=pk_...
Technology Stack
| Component | Technology |
|---|---|
| Framework | Astro 5.x |
| Styling | CSS/Tailwind |
| i18n | astro-i18n-aut (DE, EN, IT) |
| Payments | Stripe, PayPal |
| Analytics | Plausible (via Partytown) |
| APIs | Google Sheets/Docs |
| Deployment | Netlify (SSR + Functions) |
Content Collections
BaunTown uses Astro Content Collections:
| Collection | Purpose |
|---|---|
| tools | Design, Development, Productivity tools |
| news | AI, Web, Design, Community news |
| models | AI models (Text, Image) |
| projects | Web, Mobile, Desktop projects |
| tutorials | Courses (UI/UX, Business, Marketing) |
| missions | Community challenges |
| vision | Long-term vision items |
| join | Join page content |
| members | Team members |
Code Style Guidelines
- TypeScript: Strict mode (extends "astro/tsconfigs/strict")
- Components: Use
.astrofiles, keep small and focused - Naming: PascalCase for components, camelCase for variables
- Formatting: 2 spaces indentation
- Imports: Group by type (Astro, npm, local)
URL Structure (i18n)
/de/ # German (default)
/en/ # English
/it/ # Italian
Deployment
Deployed via Netlify with @astrojs/netlify adapter:
- Static pages pre-rendered
- Dynamic routes use Netlify Functions
- Configuration in
netlify.toml
Related Documentation
STRIPE-INTEGRATION-README.md- Payment setup guidereadme/PlausibleCustomEventsReadMe.md- Analytics setupreadme/PossibleNextSteps.md- Future roadmap