36 lines
1.6 KiB
Markdown
36 lines
1.6 KiB
Markdown
# 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.
|
|
|
|
## Workflow
|
|
|
|
Follow [docs/agentic-workflow.md](docs/agentic-workflow.md), the workflow of all werk repositories:
|
|
roles, steps of a PR, review rounds, PR documents, the plan, versions and the writing style.
|
|
In addition, for werkrevisor:
|
|
|
|
- Documents are in English; German docs (`docs/*.md`) avoid anglicisms in the prose.
|
|
- The plan is [docs/werkrevisor.werkbaum](docs/werkrevisor.werkbaum).
|
|
- A PR that changes the steps or decisions of a review updates the diagrams in `docs/`;
|
|
see [tools/diagrams](tools/diagrams/README.md).
|
|
- The version stands in `werkrevisor/__init__.py` and `statistics/build.gradle.kts`.
|
|
- Werkator releases each merge to mih09 with the build `release` (`tools/release_rootfs.py`);
|
|
`tools/build-rootfs` and `tools/deploy-rootfs` do it by hand from the workstation.
|