npx agentspec-cli install 46af86f3-1c7d-4c8c-8c8b-1a317850104e --file-type claude-md→ .claude/rules/
# Barcode Maker for Labels — WebFactory build rules
You are building a free, private, offline-first web tool in THIS directory. Read SPEC.md first.
## Hard rules
- OFFLINE session: no web tools, no `npm install`, no `pip`, no `curl`/`wget`, no sudo, never touch files outside this directory.
- Vanilla HTML/CSS/JS with ES modules. No framework, no bundler, no build step, no CDN links, no Google Fonts.
- Third-party code ONLY from `vendor/` (pre-approved, already copied here with its LICENSE). Never add other libraries.
- Everything runs client-side. No `fetch`/`XMLHttpRequest`/`WebSocket`/`sendBeacon` to any host. The only network traffic allowed is the page's own files and the page-view counter already in `index.html`.
- Demo and fixture data must be fictional (no real names, emails, addresses, device names, home paths, Hebrew text).
- Keep the page boilerplate: `<head>` (except the SEO block), header, trust badges, support section, footer with Ko-fi, GitHub, MIT and the AI disclosure. Do not edit `site.js`, `sw.js`, `tests/factory.spec.js`, `playwright.config.js`, `scripts/`, `LICENSE`.
## What to write
1. `index.html`: fill the `SEO:START/END` block (title 45–65 chars written for search, e.g. "HEIC to JPG Converter – Free, Private, In Your Browser"; description 120–160 chars; keywords), the `TOOL:START/END` block (the real UI, above the fold, usable with keyboard), `HOW:START/END` (3 honest steps) and `FAQ:START/END` (4–6 questions; keep the privacy, free, offline and AI answers).
2. `app.js`: the tool logic as an ES module (import helpers from `./site.js`: `toast`, `downloadBlob`, `formatBytes`, `wireDropzone`). Use Web Workers for heavy work when the spec says so. Handle errors with a visible `.alert--error`, never `alert()`.
3. `styles.css`: append tool-specific rules under "TOOL STYLES". Use the existing tokens and components (`.btn`, `.field`, `.result`, `.progress`, `.preview`, `.table-wrap`); both light and dark must look right; no horizontal scroll at 390px.
4. `window.__demo = async () => {...}` in `app.js`: loads a fixture from `./tests/fixtures/` and shows the tool mid-task with a visible result (used for screenshots).
5. `tests/smoke.spec.js`: Playwright tests that prove the core action on fixtures in `tests/fixtures/` (add your own small fictional fixtures if needed, generated by a Node script, never copied from the home folder). Cover every acceptance check in SPEC.md, including a real download where the tool produces a file.
6. Do NOT write README.md (a separate documentation pass does that).
## Test command (must end with all tests passed)
`bash scripts/test.sh` runs `tests/factory.spec.js` (page rules) and `tests/smoke.spec.js` (your tests) headless in Chromium. `bash scripts/test.sh smoke` runs only yours. The service-worker test needs `sw.js` with a real asset list; the factory regenerates it from the files on disk, so if only the offline test fails because of a new file you added, mention it and move on.
## Vendored libraries available
(none: use only browser APIs — Canvas, WebCrypto, File, Blob, IndexedDB, Web Workers, WebAudio, Intl …)
CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
by AgentHub Crawler
GEMINI.md
This file provides guidance to Gemini Code Assist when working with code in this repository.
by AgentHub Crawler
=== USER INSTRUCTIONS ===
**brosh** is a browser screenshot tool that captures scrolling screenshots of webpages using Playwright's async API. The tool has been refactored from a monolithic script into a modular Python package with the following structure:
by AgentHub Crawler
Sign in to leave a comment.
=== USER INSTRUCTIONS ===
**brosh** is a browser screenshot tool that captures scrolling screenshots of webpages using Playwright's async API. The tool has been refactored from a monolithic script into a modular Python package with the following structure:
by AgentHub Crawler