From d6d3c40ae367eac45dd232b5fdd36f81cc528344 Mon Sep 17 00:00:00 2001 From: Natasha Moongrave Date: Fri, 27 Mar 2026 22:57:30 +0100 Subject: Added CLAUDE.md for claude.ai instructions --- CLAUDE.md | 64 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 CLAUDE.md (limited to 'CLAUDE.md') diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000..c62d16e --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,64 @@ +# CLAUDE.md + +This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository. + +## Project Overview + +Personal landing page website for 256phi.eu - a self-hosted portfolio/hub with blog, guestbook, art gallery, music recommendations, and contact pages. Features a synthwave/retro terminal aesthetic with an animated 3D WebGL background. + +## Tech Stack + +- **Frontend**: HTML5, CSS3, JavaScript ES6 modules +- **3D Graphics**: Three.js v0.160.0 (CDN import) +- **Backend**: PHP 8.4 with Parsedown for markdown parsing +- **Web Server**: Caddy with PHP-FPM +- **Data Storage**: JSON file (guestbook entries) + +## Development + +No build system - files are served directly by Caddy. No npm, no bundler. + +**Local development requires:** +- Caddy web server +- PHP 8.4 with PHP-FPM +- Site root configured at `/var/www/html/src` (or adjust Caddyfile) + +## Architecture + +``` +src/ +├── index.html # Landing page +├── Background/ # Three.js 3D scene (main.js imports sun.js, mountains.js) +├── Style/style.css # Global synthwave styling +├── Pages/ +│ ├── blog/ +│ │ ├── blog.php # Renders post list or individual post +│ │ ├── posts/ # Markdown files: YYYY-MM-DD-slug.md +│ │ └── Parsedown.php # Markdown parser library +│ ├── guestbook/ +│ │ ├── guestbook.php # Form + JSON CRUD +│ │ └── guestbook.json # Persistent storage +│ ├── art/portfolio.html # Gallery with lightbox +│ ├── commissions/ +│ │ └── commissions.php # Commission info + email form +│ ├── contact.html +│ └── music.html +└── Assets/art/ # Art portfolio images +``` + +## URL Routing (Caddyfile) + +| URL | File | +|-----|------| +| `/home` | `index.html` | +| `/blog` | `Pages/blog/blog.php` | +| `/blog/{slug}` | `Pages/blog/blog.php?post={slug}` | +| `/guestbook` | `Pages/guestbook/guestbook.php` | +| `/portfolio` | `Pages/art/portfolio.html` | +| `/commissions` | `Pages/commissions/commissions.php` | +| `/contact` | `Pages/contact.html` | +| `/music` | `Pages/music.html` | + +## Adding Blog Posts + +Create a markdown file in `src/Pages/blog/posts/` with naming convention: `YYYY-MM-DD-slug.md` -- cgit v1.2.3