The build command was `pip install .`, which is what the dora docs use because `--uv` rewrites it. Spelling it `uv pip install .` means the dataflow never installs through pip at all, whether or not `--uv` was passed. The cost is that a node then needs a virtualenv to install into, so dataflows must be run with `--uv`; AGENTS.md says so. Note that the PR #3 branch still carries `pip install .`; landing this branch on top of it is what corrects that.
27 lines
1.2 KiB
Markdown
27 lines
1.2 KiB
Markdown
# AGENTS.md
|
|
|
|
Rules for AI coding assistants working in this repository.
|
|
|
|
- **dora >= 1.0.** Verified against `dora-cli 1.0.1`, which CI pins in
|
|
`.gitea/workflows/validate.yml`.
|
|
- **`uv` for everything:** `uv sync --group dev`, `uv run pytest`,
|
|
`uv run ruff check .`, `uv run python ...`. Never `pip` into the ambient
|
|
environment. A node's `build:` is `uv pip install .`, so dataflows must be run
|
|
with `--uv`.
|
|
- **`ruff` is the linter and the formatter.** `uv run ruff check .` must be clean.
|
|
- **Markdown is linted too.** `uv run pymarkdown scan *.md` must be clean. Its line
|
|
length is set in `pyproject.toml`.
|
|
- **numpy-style docstrings.**
|
|
- **Dependencies must ship prebuilt wheels for linux-x86_64, linux-aarch64 and
|
|
macos-arm64.** `uv sync` is the whole install: no system packages, no compiler.
|
|
- **Run the workflow locally with `act` before asking for a commit.** It lives in
|
|
`.gitea/workflows/`, which is not where `act` looks by default:
|
|
|
|
```bash
|
|
act pull_request -W .gitea/workflows/validate.yml \
|
|
-P ubuntu-latest=catthehacker/ubuntu:act-latest
|
|
```
|
|
|
|
- **Do not commit or push.** Leave changes in the working tree and wait to be asked.
|
|
- **Do not mention AI tools in commit messages or documentation.**
|