uv-managed PEP 621 project with ruff, mypy (strict on packages/domain and packages/llm), pytest with coverage, and import-linter contracts that mechanically enforce the dependency rules of 架构文档 §4.2 -- including the two forbidden edges (compliance and identity must not depend on business domains). CI, pre-commit and a detect-secrets baseline gate every push; .env is gitignored before anything is ever staged.
33 lines
863 B
YAML
Executable File
33 lines
863 B
YAML
Executable File
# 架构文档 §16.2「敏感信息扫描」防线:pre-commit + CI 双卡。
|
|
default_language_version:
|
|
python: python3.12
|
|
|
|
repos:
|
|
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
rev: v5.0.0
|
|
hooks:
|
|
- id: check-added-large-files
|
|
args: ["--maxkb=1024"]
|
|
- id: check-merge-conflict
|
|
- id: check-toml
|
|
- id: check-yaml
|
|
- id: end-of-file-fixer
|
|
- id: trailing-whitespace
|
|
- id: mixed-line-ending
|
|
args: ["--fix=lf"]
|
|
- id: detect-private-key
|
|
|
|
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
rev: v0.13.0
|
|
hooks:
|
|
- id: ruff
|
|
args: ["--fix"]
|
|
- id: ruff-format
|
|
|
|
- repo: https://github.com/Yelp/detect-secrets
|
|
rev: v1.5.0
|
|
hooks:
|
|
- id: detect-secrets
|
|
args: ["--baseline", ".secrets.baseline"]
|
|
exclude: ^(\.env\.example|uv\.lock)$
|