main.py converts every PDF in examples/ into a browseable, mobile-responsive HTML archive under output/ using poppler-utils. Includes the two NETgazet sample PDFs, project metadata, OpenWolf scaffolding, and README covering usage, a watch-folder script, and WordPress iframe embedding. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
3.5 KiB
CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
Project status
Greenfield Python 3.14 project. As of this writing the codebase is a stub: main.py prints a hello message, pyproject.toml declares no dependencies, and README.md is empty. There is no application architecture yet — design decisions are still open.
BASIC RULES
Rule 1 — Think Before Coding
State assumptions explicitly. If uncertain, ask rather than guess. Push back when a simpler approach exists. Stop when confused.
Rule 2 — Simplicity First
Minimum code that solves the problem. Nothing speculative. No features beyond what was asked. No abstractions for single-use code.
Rule 3 — Surgical Changes
Touch only what you must. Clean up only your own mess. Don't "improve" adjacent code, comments, or formatting. Match existing style.
Rule 4 — Goal-Driven Execution
Define success criteria. Loop until verified. Don't follow steps. Define success and iterate independently.
Rule 5 — Token budgets are not advisory
Per-task: 4,000 tokens. Per-session: 30,000 tokens. If approaching budget, summarize and start fresh. Surface the breach.
Rule 6 — Read before you write
Before adding code, read exports, immediate callers, shared utilities. If unsure why code is structured a certain way, ask.
Rule 7 — Checkpoint after every significant step
Summarize what was done, what's verified, what's left. Don't continue from a state you can't describe back. Stop and restate.
Rule 8 — Fail loud
"Completed" is wrong if anything was skipped silently. "Tests pass" is wrong if any were skipped. Default to surfacing uncertainty, not hiding it.
Tooling
- Python version pinned by
.python-version(3.14). Project metadata inpyproject.toml. uvis the package manager (presence ofpyproject.toml+.python-versionwithoutrequirements.txt/Pipfile).- Install/sync deps:
uv sync - Add a dependency:
uv add <pkg> - Run the entrypoint:
uv run python main.py
- Install/sync deps:
- No test runner, linter, or build step is configured yet — set them up the first time they're needed rather than assuming a default.
OpenWolf protocol (mandatory)
This project uses OpenWolf for cross-session context management. The full operating protocol is in .wolf/OPENWOLF.md and applies every turn:
- Before reading any file: check
.wolf/anatomy.md— it has a description + token estimate for every tracked file. Prefer the description over a full read when sufficient. - Before generating code: read
.wolf/cerebrum.md, especially the## Do-Not-Repeatsection. - Before fixing a bug: check
.wolf/buglog.jsonfor known fixes; after fixing, append a new entry (error, root cause, fix, tags). - After significant actions: append a one-line entry to
.wolf/memory.md; update.wolf/anatomy.mdwhen files are created/deleted/renamed. - Learn aggressively: update
.wolf/cerebrum.mdwhenever the user corrects you, expresses a preference, or you discover a non-obvious convention. The threshold is intentionally low.
.wolf/reframe-frameworks.md is the UI framework knowledge base — only read it when the user explicitly asks to pick or migrate a UI framework, and read only the sections needed.
Design QC
When asked to evaluate UI/design: run openwolf designqc to capture screenshots into .wolf/designqc-captures/, then read those images. Each screenshot ≈ 2500 tokens — use --routes to limit scope on large apps.