managarten/apps/bauntown/CLAUDE.md
Wuesteon d36b321d9d style: auto-format codebase with Prettier
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)
2025-11-27 18:33:16 +01:00

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 .astro files, 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
  • STRIPE-INTEGRATION-README.md - Payment setup guide
  • readme/PlausibleCustomEventsReadMe.md - Analytics setup
  • readme/PossibleNextSteps.md - Future roadmap