Files
rushg.me/AGENTS.md
2025-12-28 12:30:20 -08:00

3.2 KiB

AGENTS.md for C:\Users\Rushabh\projects\rushg.me

## Project Summary - Static portfolio site served by Apache (php:8.2-apache image). - No build step; the main entry point is the minified `index.html`. - Legacy content includes Unity Web Player demos and PHP utilities.

Repository Structure (Top-Level)

  • index.html: primary page served in production (minified).
  • index_full.html: unminified reference copy of the home page.
  • css/, js/, img/, fonts/, font-awesome/: static assets.
  • less/: legacy stylesheet sources (not part of a build pipeline here).
  • mail/: PHP mail handler (uses mail() in PHP; see Docker for SMTP setup).
  • TreasureHunt/: legacy PHP game/demo assets and endpoints.
  • sitemap.xml, 404.html, CNAME: SEO and domain metadata.

Frontend / JS / CSS Guidance

  • Stack: jQuery 1.11.x, Bootstrap, Font Awesome, custom CSS in css/.
  • No bundler, no transpiler, no NPM build step.
  • Keep edits minimal and avoid reformatting minified files.
  • If large edits are needed, update index_full.html and then apply equivalent changes to index.html.
  • Avoid adding new frameworks or build tooling unless explicitly requested.
  • Prefer existing typography and theme files; this site is intentionally legacy.

Unity / Gaming Content

  • Unity Web Player page: UnityWebPlay.html (legacy, do not modernize unless asked).
  • Demo links use query params (example: /UnityWebPlay.html?path=demos/webplayer/AU).
  • Asset folders: img/JPGs, img/JPGs-low, img/GIFs, etc.
  • Treat legacy gaming content as static; do not alter URLs or directory layout without a request.

Docker (Local Build/Run)

  • Dockerfile uses php:8.2-apache.
  • Logs are configured to stdout (CustomLog/ErrorLog redirected to stdout/stderr).
  • Entry point writes /etc/msmtprc when SMTP env vars are present.
  • SMTP env vars: SMTP_HOST, SMTP_PORT, SMTP_FROM, SMTP_USER, SMTP_PASSWORD, SMTP_TLS.
  • Example build/run:
    • docker build -t rushg-portfolio .
    • docker run --rm -p 8080:80 rushg-portfolio

TrueNAS Scale Deployment (Production)

  • App name: rushg-me (TrueNAS "iX App" custom app).
  • Container image: rushabhtechie/rushg-portfolio:latest.
  • Container port: 80.
  • Host port: 9092 and MUST be published (not merely exposed).
  • TrueNAS config path (reference only): /mnt/.ix-apps/app_configs/rushg-me/versions/1.2.17/.
  • Apply config changes via middlewared to keep UI in sync:
    • Read config: midclt call app.config rushg-me
    • Update config: midclt call app.update rushg-me '{"values":{...}}'
    • Redeploy: midclt call app.redeploy rushg-me
  • Do NOT modify or restart the reverse proxy container.
  • Diagnostics (read-only):
    • Verify container health: curl -I http://192.168.1.2:9092/
    • Compare content with index.html (SHA256 should match).

Reverse Proxy (NPM) Constraints

  • Nginx Proxy Manager (NPM) handles TLS and Host routing.
  • Do not change, stop, or restart NPM.
  • Only inspect logs if needed:
    • proxy-host-13_access.log for rushg.me (read-only).

Safety / Editing Rules

  • Preserve legacy HTML/JS style and file layout.
  • Avoid large formatting changes to minified files.
  • Keep edits ASCII unless the file already uses non-ASCII.
  • Do not alter other containers or the reverse proxy.