This file provides guidance for AI agents working on the compilersoft.es project.
Static website (HTML/CSS/JS) for Compiler Software, a retro game development group focused on ZX Spectrum and other 8-bit platforms. No framework, no bundler, no package manager. Every page is a standalone HTML file with duplicated boilerplate (navbar, footer, meta tags).
Live URL: https://compilersoft.es/
- HTML5 — 46 hand-authored pages (bilingual: Spanish root
/, English under/en/) - CSS/LESS —
public/st/css/compiler.less(source) →compiler.css→compiler.min.css. Uses Bootstrap 3.3.5 (CDN) and Font Awesome 4.7.0 (CDN) - JavaScript —
public/st/js/libs.min.js(jQuery + Bootstrap bundled),public/st/js/compiler.min.js(custom: modal handling, scroll, social sharing), JSSpeccy emulator - Web Fonts — Self-hosted Roboto (body) and Audiowide (headings) via woff2
- Web server — nginx (production and Docker dev server)
public/ — Website root served by nginx
public/en/ — English translations
public/st/css/ — LESS source and compiled CSS
public/st/js/ — JavaScript files
public/st/fonts/ — Self-hosted web fonts
public/st/img/ — Standard resolution images
public/st/img2x/ — Retina @2x images
public/st/files/ — Downloadable game files, sources, covers, maps
public/EstarGuars/ — Embedded HTML5 game
assets/ — Source artwork (.aseprite, .psd) — not served
nginx/ — nginx redirect config (legacy PHP URL migration)
make run # nginx:alpine on port 8000 (auto-starts OrbStack if needed)
make run PORT=3000 # custom port
make down # stop containerLESS compilation is done via PhpStorm file watchers (not CLI). Source file: public/st/css/compiler.less. After editing, compile to compiler.css and compiler.min.css.
JS minification is done via PhpStorm file watchers (UglifyJS). Source: public/st/js/compiler.js → compiler.min.js.
SFTP from PhpStorm to the production server. No CI/CD pipeline is active.
- No build tools in the repo — LESS/JS compilation relies on PhpStorm file watchers. There is no npm, no webpack, no CLI build step.
- Bilingual pages — Spanish at root (
/spectrum-sokoban.html), English under/en/(/en/spectrum-sokoban.html). Every page includeshreflangalternate links. - Game pages follow a template — Title with year, description, cover art, "Play online" button (JSSpeccy modal), screenshots, download links (game files + source + cover art), credits, social sharing.
- Dual-resolution images — Standard in
st/img/, retina @2x inst/img2x/. CSS uses@media (-webkit-min-device-pixel-ratio: 2)queries. HTML uses<picture>with<source>for WebP. - Image optimization — Use
loading="lazy"anddecoding="async"on images. - Cache busting — Query string versioning on CSS/JS (e.g.,
?20240316). - Copy-paste HTML — Each page duplicates navbar and footer. When modifying shared elements, update ALL HTML files (both Spanish and English).
- No templating — Changes to shared UI (navbar, footer, meta tags) must be applied manually to every page.
No linter, no test framework, no CI pipeline. There is no npm run lint, npm run test, or equivalent command.
- GitHub:
compilersoftware/website - GitLab:
compilersoftware/compilersoft.es
When modifying the navbar, footer, or any shared HTML block, you must update:
- All
.htmlfiles inpublic/(Spanish) - All
.htmlfiles inpublic/en/(English) public/404.htmlandpublic/50x.html(error pages)