managarten/apps/bauntown/CLAUDE.md
Till JS 928d88aabd feat(bauntown): restore from archive, register in monorepo
- Move from apps-archived/ to apps/ (last archived app)
- Fix root package.json name to @manacore/bauntown
- Add to root CLAUDE.md project table
- Astro landing page with i18n (DE/EN/IT), Stripe, Netlify preserved

apps-archived/ is now empty — all 5 apps restored:
uload, news, wisekeep, reader, bauntown

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 01:02:21 +02:00

124 lines
3.3 KiB
Markdown

# 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
```bash
# From monorepo root
pnpm install
# Start BaunTown landing page
pnpm bauntown:dev
# Or directly
pnpm dev:bauntown:landing
```
### Build
```bash
# Build for production
pnpm --filter @bauntown/landing build
# Preview production build
pnpm --filter @bauntown/landing preview
```
## Environment Variables
Create `apps/bauntown/apps/landing/.env`:
```bash
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`
## Related Documentation
- `STRIPE-INTEGRATION-README.md` - Payment setup guide
- `readme/PlausibleCustomEventsReadMe.md` - Analytics setup
- `readme/PossibleNextSteps.md` - Future roadmap