🤖 context

This commit is contained in:
mi
2025-11-18 14:25:29 +10:00
parent 2e136b5625
commit 2cf7aa2575

63
CLAUDE.md Normal file
View File

@@ -0,0 +1,63 @@
# CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
## Project Overview
This is a static website project ("Puercito Fiction" / "Hola") deployed using nginx in a Docker container. The site is automatically deployed to a VM via Gitea Actions when changes are pushed to the main branch.
## Architecture
- **Static Site**: HTML/CSS files located in `site/` directory
- **Web Server**: nginx Alpine container serving static files
- **Deployment**: Docker Compose orchestration with automated CI/CD via Gitea Actions
- **nginx Configuration**: Custom config in `nginx.conf` with gzip compression, security headers, static asset caching, and SPA fallback routing
## Development Commands
### Local Development
```bash
# Build and run the Docker container locally
docker-compose up -d --build
# View logs
docker-compose logs -f
# Stop the container
docker-compose down
# Access the site
# http://localhost:8080
```
### Testing Changes
After making changes to files in `site/`, rebuild and restart:
```bash
docker-compose down && docker-compose up -d --build
```
### Deployment
Deployment is automatic on push to main branch via `.gitea/workflows/deploy.yml`. The workflow:
1. Checks out code on VM
2. Pulls latest changes
3. Rebuilds and restarts containers via `docker-compose`
Manual deployment requires SSH access to the VM with credentials stored in Gitea secrets.
## File Structure
- `site/` - Static website files (HTML, CSS)
- `nginx.conf` - nginx server configuration
- `Dockerfile` - Container image definition (nginx:alpine base)
- `docker-compose.yml` - Container orchestration config
- `.gitea/workflows/deploy.yml` - CI/CD pipeline configuration
## Important Notes
- The site runs on port 8080 locally (mapped from container port 80)
- nginx config includes SPA fallback routing (`try_files $uri $uri/ /index.html`)
- Static assets are cached for 1 year with immutable cache control
- Health checks monitor nginx availability every 30 seconds