Skip to content

Latest commit

 

History

History
82 lines (57 loc) · 3.84 KB

File metadata and controls

82 lines (57 loc) · 3.84 KB

AGENTS.md

This file provides guidance for AI agents working on the compilersoft.es project.

Project Overview

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/

Tech Stack

  • HTML5 — 46 hand-authored pages (bilingual: Spanish root /, English under /en/)
  • CSS/LESSpublic/st/css/compiler.less (source) → compiler.csscompiler.min.css. Uses Bootstrap 3.3.5 (CDN) and Font Awesome 4.7.0 (CDN)
  • JavaScriptpublic/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)

Key Directories

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)

Build & Development

Local dev server

make run           # nginx:alpine on port 8000 (auto-starts OrbStack if needed)
make run PORT=3000 # custom port
make down          # stop container

CSS (LESS)

LESS 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

JS minification is done via PhpStorm file watchers (UglifyJS). Source: public/st/js/compiler.jscompiler.min.js.

Deployment

SFTP from PhpStorm to the production server. No CI/CD pipeline is active.

Conventions

  • 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 includes hreflang alternate 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 in st/img2x/. CSS uses @media (-webkit-min-device-pixel-ratio: 2) queries. HTML uses <picture> with <source> for WebP.
  • Image optimization — Use loading="lazy" and decoding="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.

Linting & Testing

No linter, no test framework, no CI pipeline. There is no npm run lint, npm run test, or equivalent command.

Git Remotes

  • GitHub: compilersoftware/website
  • GitLab: compilersoftware/compilersoft.es

Files to Update When Changing Shared UI

When modifying the navbar, footer, or any shared HTML block, you must update:

  • All .html files in public/ (Spanish)
  • All .html files in public/en/ (English)
  • public/404.html and public/50x.html (error pages)