Skip to content

Latest commit

 

History

History
25 lines (21 loc) · 1.36 KB

File metadata and controls

25 lines (21 loc) · 1.36 KB

Claude Code — Papyrus

See workspace policy: /Users/home/Workspace/CLAUDE.md

Context load order

  1. /Users/home/Workspace/CLAUDE.md
  2. /Users/home/Workspace/Apps/AGENTS.md
  3. /Users/home/Workspace/Apps/Papyrus/AGENTS.md ← nearest, wins on conflicts
  4. Relevant ~/.skills/ guides

Quick reference

  • Purpose: Native macOS HTML→PDF conversion app — fetches article HTML (readability-lxml + bs4), renders to PDF via Playwright headless Chromium (PySide6 GUI)
  • Package: papyrus | Entry: python -m papyrus.main
  • Launch dev: ./run_preview.sh | Launch full app: ./run_papyrus.sh
  • Build: papyrusbuild or razorbuild Papyrus | Push: papyruspush or razorpush Papyrus
  • Toolchain: uv syncuv run ruff check .uv run ty check src --python-version 3.13
  • Tests: uv run pytest tests/ -v
  • razorcore: editable dep at ../.razorcore
  • ⚠️ Playwright browser required: Run uv run playwright install chromium once after uv sync — without it, PDF rendering raises BrowserNotFoundError

Module structure (post-refactor)

  • ui/composer.py — all widget classes, ColorTheme, stylesheet (build_stylesheet())
  • core/orchestrator.py — pipeline coordination (PapyrusOrchestrator)
  • core/converter.py — pure HTML→PDF conversion (no UI dependencies)
  • core/app.py — thin QMainWindow entry point (~89 lines), wiring only