aboutsummaryrefslogtreecommitdiffstats
path: root/AGENTS.md
diff options
context:
space:
mode:
Diffstat (limited to 'AGENTS.md')
-rw-r--r--AGENTS.md14
1 files changed, 8 insertions, 6 deletions
diff --git a/AGENTS.md b/AGENTS.md
index a880214..9c45974 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -14,12 +14,14 @@ table and deployment notes.
## Hard constraints (from the product owner)
-- **No JavaScript required.** Pages must work with JS disabled, on old
- browsers and on phones. Forms only; destructive actions use a GET confirm
- page followed by a POST. Tiny progressive enhancements are OK if the
- page works without them (see `posts.html` filter `<noscript>` button).
-- Server-rendered `html/template` only. No frontend build step, no
- framework, no CDN assets.
+- **Keep JavaScript light.** Pages must work on old PCs/browsers and on
+ phones, so don't rely on JS for core functionality: server-rendered
+ forms do the work, and JS is for small conveniences (auto-submit a
+ filter, select-on-click, etc.). Plain inline scripts are fine; no
+ frameworks, no build step, no heavy libraries. If a feature genuinely
+ needs JS, keep it small and give it a sensible fallback where cheap
+ (e.g. the `<noscript>` button in `posts.html`).
+- Server-rendered `html/template`; no SPA, no frontend toolchain.
- Postgres holds **everything**, including images (`images.data bytea`).
- Posts are Markdown (goldmark → bluemonday). No WYSIWYG.
- Changes are live immediately — there is no draft/preview system. The UX