# Hands-on · Rules A tiny, zero-dependency demo showing how rule sources reshape the same prompt. ## Run Open `index.html` directly. No build, no server, no `npm install`. ## What it shows - Five rule sources, taken from a real monorepo (`netcracker/interview`): - `AGENTS.md` — repo-wide instruction file. - `.agents/skills/gate-discipline/SKILL.md` — skill body loaded on demand. - `.husky/pre-commit` — git hook that runs other enforcers. - `scripts/check-ui-contract.mjs` — custom CLI enforcer (ratchet). - `commitlint.config.cjs` — commit-msg linter. - Each rule has an on/off switch. Toggling a rule prepends its body to the **ruled** prompt. - EN ↔ PT toggle keeps both languages useful. - "Copy ruled prompt" copies the current ruled-prompt text to clipboard. - Responsive on mobile, Full HD, and 4K (one column under 720 px). ## Mirror of `/hands-on/starter` Same visual system (`--paper`, `--ink`, `--blue`, `--gold`), same vanilla JS pattern, same single-file layout. Drop-in alongside the starter page under `hands-on/rules/`. ## Token budget Page weight: ~5 KB total, no framework, no fetch.