Imported from minchenlee/rmdv (
site/AGENTS.md). Install upstream withnpx skills add minchenlee/rmdv --skill site. Copyright stays with the author.
Landing-site guidance
Scope
Applies to site/**.
Purpose
Owns the static rmdv landing site, its accessibility/SEO content, browser enhancements, screenshots, fonts, and Cloudflare Workers static-asset payload. It is separate from the Rust application and has no Cargo build boundary.
Start here
index.html— page structure, metadata, JSON-LD, and inline bootstrapapp.js— keyboard layer, theme, command palette, and progressive release linksstyle.css— layout, responsive behavior, and visual system_headers— CSP, security headers, and cache policy../wrangler.jsonc—./siteasset directory and custom domain../.github/workflows/deploy-site.yml— manual-only deployment workflow
Architecture and boundaries
- This is a static asset tree:
wrangler.jsoncpublishessite/directly; the Rust package does not build or bundle these files. index.htmlowns content and document semantics,style.cssowns visual presentation, andapp.js/ghost.jsprovide progressive browser behavior. Keep the page usable with the static HTML when JavaScript enhancement fails._headersis part of the deployment contract. The Content-Security-Policy hashes cover the inline scripts inindex.html; changing an inline script requires updating the matching hash deliberately.- The deploy workflow is
workflow_dispatchonly. Do not imply that a local site edit is live until an explicit deployment and live check has happened.
Commands
- There is no site build command; review static changes against the files above and
git diff --check. node site/check-shortcuts.mjs— verify the static app-shortcut reference against the native bindings insrc/app.rsand guard its non-interactive boundary.wrangler deploy— the deployment command configured by the repository's manual workflow; run only when publishing is explicitly in scope.
Local deployment runtime
- Wrangler 4 requires Node 22 or newer. Before any local deploy, load NVM and
select Node 22 explicitly:
source ~/.nvm/nvm.sh && nvm use 22. - Verify
node --versionandnpx wrangler whoamibeforenpx wrangler deploy. - Use the authenticated local Wrangler path for owner-approved production
deployments, then verify the live homepage and
llms.txtseparately.
Editing constraints
- Keep canonical URLs, metadata, JSON-LD, Open Graph/Twitter content, visible
copy,
llms.txt,robots.txt, andsitemap.xmlconsistent when product claims or navigation change. - Preserve keyboard access, focus restoration, reduced-motion behavior, semantic controls, and the CSP/security headers when editing interactions.
- Keep screenshots, fonts, and other binary assets under
site/assets/; do not replace them with remote dependencies without an explicit product decision. - Deployment is separate from editing. Do not modify workflow triggers or claim a Cloudflare release as part of a local documentation or code change.
Verification
- Inspect the changed HTML, CSS, JS, metadata, and headers together.
- Run
git diff --check. - If deployment is requested, use the manual workflow/Wrangler path and verify the live domain separately.