Repository navigation
Expand file tree
/
Copy pathMakefile
More file actions
50 lines (40 loc) · 1.66 KB
/
Copy pathMakefile
File metadata and controls
50 lines (40 loc) · 1.66 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# Quality gates. `make check` is the single entrypoint — CI and the Claude
# Code Stop hook both run it. Keep it green.
PKG_DIRS := packages/quints packages/beangulp-mt940 packages/beangulp-stripe packages/beangulp-wise packages/beangulp-yapeal packages/beanprice-bazg
.PHONY: check static test format typebaseline docs docs-serve media
check: static test
static:
uv run ruff format --check .
uv run ruff check .
uv run basedpyright
uv run lint-imports
@for p in $(PKG_DIRS); do \
echo "deptry: $$p"; \
(cd $$p && uv run deptry src) || exit 1; \
done
uv run vulture
test:
uv run pytest packages -q
# Apply all auto-fixes (what the PostToolUse hook does per-file).
format:
uv run ruff check --fix .
uv run ruff format .
# Re-pin the type-error baseline. Only run this to ratchet DOWN (after fixing
# baselined errors) — never to bury new ones.
typebaseline:
uv run basedpyright --writebaseline
# Docs site (Zensical → site/). Every quints command in docs/ and README.md
# is executed by tests/test_docs.py — `make check` guards the content,
# `make docs` the build. The invoicing JSON Schemas are regenerated into
# docs/schema/ (committed; sync-tested) and published with the site, so
# scaffolded YAMLs can point their $schema modelines at stable URLs.
docs:
uv run quints schema --out docs/schema
uv run --only-group docs zensical build --clean
docs-serve:
uv run --only-group docs zensical serve
# Regenerate the terminal GIFs and PDF previews in docs/assets/ from the
# committed VHS tapes (media/*.tape) and the sample project. Needs vhs and
# poppler — see media/generate.sh. Run before a release so visuals track the CLI.
media:
./media/generate.sh