Files
anvil-hosting/CLAUDE.md

75 lines
2.4 KiB
Markdown

# CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
## Project Overview
Static HTML marketing website for Anvil Hosting services, deployed on Cloudflare Pages.
- **URL**: https://hosting.inouter.com
- **Language**: Korean (한글)
## Deployment
```bash
wrangler pages deploy . --project-name anvil-hosting
```
No build step required - deploy directly.
## Architecture
Multi-file static website with serverless API proxy:
- `index.html` - 메인 랜딩 페이지 (~1000줄)
- `style.css` - Tailwind CSS 빌드 결과
- `fonts.css` - 시스템 폰트 정의
- `app.js` - Alpine.js 앱 로직 (Server Launcher, Pricing Table 등)
- `terms.html`, `privacy.html`, `sla.html` - 법적 페이지
- `functions/` - Cloudflare Pages Functions (API proxy)
### API Endpoints (Pages Functions)
| Method | Path | Description |
|--------|------|-------------|
| GET | `/api/health` | Health check |
| GET | `/api/instances` | Query VM instances |
| POST | `/api/recommend` | Tech stack recommendations |
**Proxy Target**: https://cloud-instances-api.kappa-d8e.workers.dev
### Tech Stack
- Tailwind CSS v4 (로컬 빌드, `style.css`)
- Alpine.js 3.14.3 (CDN with SRI)
- 시스템 폰트 (-apple-system, Apple SD Gothic Neo, Malgun Gothic)
### Design System
- 다크 테마 (배경: #0a0f1a, dark-800/900)
- 글래스모피즘 효과 (glass-card, glass-panel)
- 메시 그라디언트 배경 (brand-500, purple-500)
- Color palette: brand-* (sky blue 계열), purple, green, red
### Page Sections
Navigation → Hero (Telegram Bot Demo) → Features (`#features`) → Automation (`#automation`) → Infrastructure → Domain (`#domain`) → Pricing (`#pricing`) → Footer
### Key Components
- **Server Launcher Modal**: Alpine.js 기반 서버 생성 마법사
- **Pricing Table**: 리전별 (Global/Seoul) 동적 요금표
- **Telegram Bot Demo**: Hero 섹션 대화형 데모
## External Integrations
- **Telegram Bot**: @AnvilForgeBot (서버 생성, 도메인 등록)
- **Worker API**: cloud-instances-api (VM pricing aggregator)
- **Credentials**: Stored in Vault at https://hcv.inouter.com
- **Registrant Info Source**: npm-linode-1 server (`/home/admin/namecheap_api/.env`)
## Environment Configuration
### Secrets (set via Cloudflare Dashboard or CLI)
```bash
wrangler pages secret put WORKER_API_KEY
```
### Variables (wrangler.toml)
- `WORKER_API_URL` - Worker API base URL