Files
signage/AGENTS.md
2026-05-10 13:49:05 +02:00

1.4 KiB

CANCOM Simple Signage — Agent Guide

Start

pip install -r requirements.txt
python app.py
docker compose up -d

python app.py serves on http://localhost:5005. app.py runs Flask with debug=True, host="0.0.0.0", and port=5005.

Source Of Truth

  • Single Flask app in app.py; there is no database.
  • Persistent state is config.json plus files under media/<screen>/.
  • README.md is stale on the port number; trust app.py.
  • Existing repo instructions in this file are the main local guidance; there is no opencode.json or workflow config in this repo.

Behavior To Preserve

  • GET /player/<screen> renders the playlist and auto-reloads from /playlist/<screen>/hash.
  • GET /admin requires login; config.json.admin holds the credentials.
  • URL playlist items are stored as dicts like {"url": "https://...", "zoom": 0.8} and the zoom value must survive save/reorder flows.
  • .html items in media/ are rendered inline as content, not in an iframe.
  • config.priority.enabled makes the priority playlist show on every screen.
  • POST /api/customer generates welcome.html and inserts it at the front of the lobby playlist.

Repo Quirks

  • media/ and media file extensions are gitignored.
  • The app has no configured tests, lint, typecheck, formatter, or CI.
  • Hardcoded secrets exist in tracked files; do not commit new secrets or reshuffle them casually.