aboutsummaryrefslogtreecommitdiff
path: root/CLAUDE.md
diff options
context:
space:
mode:
authorNatasha Moongrave <natasha@256phi.eu>2026-03-27 22:57:30 +0100
committerNatasha Moongrave <natasha@256phi.eu>2026-03-27 22:57:30 +0100
commitd6d3c40ae367eac45dd232b5fdd36f81cc528344 (patch)
tree45db5959c1778ac5c351c4b79d47f393fd32d74a /CLAUDE.md
parent03b90b33fca61601849af56d2b6f3b39ef846b6f (diff)
Added CLAUDE.md for claude.ai instructions
Diffstat (limited to 'CLAUDE.md')
-rw-r--r--CLAUDE.md64
1 files changed, 64 insertions, 0 deletions
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`