Use pre-commit for Prettier in CI and document local hook setup.
Run prettier via pre-commit in code-quality workflow and add README instructions for installing and running hooks during development. Co-authored-by: Cursor <[email protected]>
This commit is contained in:
co-authored by
Cursor
parent
497533f0e3
commit
c5169df10d
@@ -39,6 +39,4 @@ jobs:
|
||||
run: uv run pyupgrade --py313-plus $(git ls-files '*.py') && git diff --exit-code
|
||||
|
||||
- name: Prettier format
|
||||
run: |
|
||||
npm install --save-dev --save-exact prettier
|
||||
npx prettier --check .
|
||||
run: uv run pre-commit run prettier --all-files
|
||||
|
||||
@@ -7,7 +7,7 @@ Subclass an adapter in your own repository to add domain-specific methods while
|
||||
## Architecture
|
||||
|
||||
| Layer | Responsibility |
|
||||
|-------|----------------|
|
||||
| ---------------- | ----------------------------------------------------------------- |
|
||||
| **Interfaces** | Abstract contracts for connection, context, and CRUD |
|
||||
| **Adapters** | Technology-specific base classes (`RedisAdapter`, `MinioAdapter`) |
|
||||
| **Your project** | Subclass an adapter and add domain methods |
|
||||
@@ -27,13 +27,13 @@ uv add python-repositories[redis,minio]
|
||||
Requires Redis with the RedisJSON module (e.g. redis-stack).
|
||||
|
||||
| Environment variable | Description |
|
||||
|---------------------|-------------|
|
||||
| -------------------- | ---------------------------------------------------- |
|
||||
| `REDIS_URI` | Redis connection URL (e.g. `redis://localhost:6379`) |
|
||||
|
||||
### MinIO (`ObjectRepositoryInterface`)
|
||||
|
||||
| Environment variable | Description |
|
||||
|---------------------|-------------|
|
||||
| -------------------- | ------------------------------------------- |
|
||||
| `MINIO_ENDPOINT` | MinIO server endpoint |
|
||||
| `MINIO_ACCESS_KEY` | Access key |
|
||||
| `MINIO_SECRET_KEY` | Secret key |
|
||||
@@ -99,7 +99,16 @@ from python_repositories import (
|
||||
|
||||
```bash
|
||||
uv sync --all-extras
|
||||
uv run pre-commit install # once per clone — runs hooks on git commit
|
||||
uv run pytest tests/integration/ -v
|
||||
```
|
||||
|
||||
`pre-commit` is included in the dev dependency group. `uv sync` installs the CLI, but git does not run hooks until you install them with `pre-commit install` (one time per clone). After that, commits run the checks defined in [`.pre-commit-config.yaml`](.pre-commit-config.yaml) (ruff, mypy, pyupgrade, prettier, and general file hygiene).
|
||||
|
||||
To run all hooks manually without committing:
|
||||
|
||||
```bash
|
||||
uv run pre-commit run --all-files
|
||||
```
|
||||
|
||||
Integration tests require Docker (testcontainers).
|
||||
|
||||
Reference in New Issue
Block a user