The "class size" item from the quality checklist, measured: - A shipped file over 800 lines may not grow past its line count today (13 frontend, 11 backend). No other file may cross 800. - A function over the complexity limit may not rise, and no new one may appear. The limit is eslint `complexity` 20 on the frontend (64 functions over it today) and ruff C901 10 on the backend (32). - Each is a per-file ceiling. Shrinking is free; an entry back under the limit must be deleted, so the lists only shrink. C901 is measured in a test rather than switched on in ruff.toml: ruff has no per-function baseline, and a noqa would let a function grow without limit. Coverage (owner decision D4) is printed with no threshold: `vitest --coverage` (v8) gives 80% of lines, and the pytest lane ends with the total for app/, 78%. The bar stays "every regression test seen red". .coverage is ignored by git and kept out of the image's build context.
25 lines
726 B
Plaintext
25 lines
726 B
Plaintext
.git
|
|
.gitignore
|
|
.env
|
|
*.env.local
|
|
**/__pycache__/
|
|
**/*.pyc
|
|
**/.coverage
|
|
.venv/
|
|
venv/
|
|
# Docker patterns are anchored at the context root with NO implicit `**/` (unlike .gitignore, where
|
|
# this same line matches at any depth) — a bare `node_modules/` missed frontend/node_modules, so
|
|
# `COPY frontend/ ./` overlaid the host's Windows tree on top of what `npm ci` had just installed.
|
|
**/node_modules/
|
|
frontend/dist/
|
|
# Host-only test artifacts. e2e/.auth/state.json is a live Playwright session: it never reached the
|
|
# runtime image (stage 2 copies only /fe/dist), but it has no business in the build context either.
|
|
frontend/e2e/.auth/
|
|
frontend/playwright-report/
|
|
frontend/test-results/
|
|
**/*.log
|
|
backups/
|
|
*.dump
|
|
README.md
|
|
docs/
|