mirror of
https://github.com/Memo-2023/mana-monorepo.git
synced 2026-05-17 09:59:40 +02:00
- 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>
124 lines
3.3 KiB
Markdown
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
|