# werkrevisor Agent Instructions ## Project werkrevisor is an AI review gate for Gitea pull requests, written in Python. It applies deterministic rules, asks a model through PR-Agent 0.47.0 for a review, and can ask the classifier Jev about the PR documents. Werkator runs it as a `pull_request_target`-style build; its exit code is the merge gate. See [README.md](README.md) for the verdicts, the configuration and the operation. ## Build and Test werkrevisor uses only the Python standard library and the packages in the pinned PR-Agent image. Run the tests inside that image, from the repository root: ```sh docker run --rm --network none -v "$PWD":/werkrevisor -w /werkrevisor --entrypoint python \ pragent/pr-agent:0.47.0@sha256:7d98954c29289846a08faf00aaea0f1f1375b1676cd8a2ed303e0af07010af7a -m unittest -v ``` The tests make no network calls: no LLM, no Jev, no Gitea. ## Conventions - Comments explain why, never what or how; default to no comment. - Markdown: one sentence per line. - German docs (`docs/*.md`) avoid anglicisms in the prose; code identifiers and technical terms stay as they are. - Every PR has a PR document under `docs/prs/`; follow the workflow in [docs/prs/README.md](docs/prs/README.md). - `.werkrevisor.toml` holds the repository part of the review config; see the README. ## Writing Style Be terse; omit obvious details, implementation narration, and summaries. Prefer one short sentence per change. Remove all mannered prose; use literal language. Use ASD-STE100 as guidance: simple words, active voice, consistent terminology. Preserve code identifiers and established technical terms. Write at most one sentence per line. Wrap sentences longer than 128 characters at sensible points, preferably after commas, colons, semicolons or before 'and' or 'or'. Paragraphs should comprise at most 5 sentences; add blank lines between paragraphs. Format enumerations as such instead of clunky lists.