From e09c76ed872eddb74a0663ecacf857eb4c993aba Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 23 Nov 2025 16:17:31 +0000 Subject: [PATCH 1/2] Add CLAUDE.md for Claude Code guidance Provides essential project context including: - Single-file architecture overview - Development instructions (no build process) - AlpineJS component structure - Code style conventions --- CLAUDE.md | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 CLAUDE.md diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000..f5f62c6 --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,34 @@ +# CLAUDE.md + +This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository. + +## Project Overview + +A browser-based QR code label generator for Paperless-ngx Archive Serial Numbers (ASN). The entire application is a single `index.html` file with no build process. + +## Development + +**No build tools required** - Open `index.html` directly in a browser or serve it with any static file server. + +The application uses CDN-hosted dependencies: +- TailwindCSS (with forms and typography plugins) +- AlpineJS 3.x + +## Architecture + +Single-page application using AlpineJS for reactivity. Key structure in `index.html`: + +- **`qrCodeApp()`** (line 255): AlpineJS component containing all application state and logic + - `generateLabels()`: Creates label data array with QR code URLs via external API (api.qrserver.com) + - `printLabels()`: Triggers browser print dialog + - Generates 189 labels per sheet (7 columns × 27 rows) + +- **Print styling**: Uses CSS `@page` rule for A4 paper with zero margins (requires Chrome/Chromium) + +- **Label format**: Hardcoded for Avery L4731REV-25 labels with specific dimensions (25.4mm × 10mm per label) + +## Code Style + +- 2 spaces for indentation +- LF line endings +- UTF-8 encoding From 91b0e9ef3609827e8f4911e24faba04e59eba1f4 Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 23 Nov 2025 16:29:25 +0000 Subject: [PATCH 2/2] Add Avery L4731REV-25 label specifications to CLAUDE.md Include detailed dimensions: margins, gaps, pitch values for the supported label format. --- CLAUDE.md | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/CLAUDE.md b/CLAUDE.md index f5f62c6..27fe85e 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -25,7 +25,22 @@ Single-page application using AlpineJS for reactivity. Key structure in `index.h - **Print styling**: Uses CSS `@page` rule for A4 paper with zero margins (requires Chrome/Chromium) -- **Label format**: Hardcoded for Avery L4731REV-25 labels with specific dimensions (25.4mm × 10mm per label) +- **Label format**: Hardcoded for Avery L4731REV-25 labels (see specifications below) + +## Avery L4731REV-25 Label Specifications + +Page: A4 (210mm × 297mm) + +| Dimension | Value | +|-----------|-------| +| Label size | 25.4mm × 10mm | +| Grid | 7 columns × 27 rows (189 labels) | +| Top/Bottom margin | 13.5mm | +| Left/Right margin | 8.6mm | +| Horizontal gap | 2.5mm | +| Vertical gap | 0mm (labels touch) | +| Horizontal pitch | 27.9mm | +| Vertical pitch | 10mm | ## Code Style