- Add release-gate.yml: 11-job pipeline (lint, tests, Docker build/smoke, Trivy scan, dep audit, audit checks, e2e API+UI, PR summary comment) - Fix CI double-trigger on release branches (push + PR) - Add CODE_OF_CONDUCT.md, SECURITY.md, PR template - Add docs: git-workflow, architecture (ADR), release, operations, community - Add profiles/fastapi-vue for automated audit checks - Add docs/PROCESSES.md: index of 19 available processes
2.3 KiB
2.3 KiB
Commit Conventions
We follow Conventional Commits to keep the git history readable and to enable automated changelog generation.
Format
<type>(<scope>): <description>
[optional body]
[optional footer(s)]
Types
| Type | When to use | Example |
|---|---|---|
feat |
New feature | feat(chunking): add hierarchical chunker support |
fix |
Bug fix | fix(upload): handle empty PDF gracefully |
docs |
Documentation only | docs: update architecture diagram |
style |
Formatting, no logic change | style(api): fix ruff formatting warnings |
refactor |
Code restructuring, no behavior change | refactor(persistence): extract repository base class |
test |
Adding or updating tests | test(analysis): add rechunk edge case tests |
chore |
Tooling, CI, dependencies | chore: bump docling to 2.31 |
perf |
Performance improvement | perf(bbox): batch coordinate normalization |
ci |
CI/CD pipeline changes | ci: add multi-arch Docker build |
Scopes (optional)
Use the feature or component name:
| Scope | Maps to |
|---|---|
api |
document-parser/api/ |
domain |
document-parser/domain/ |
persistence |
document-parser/persistence/ |
infra |
document-parser/infra/ |
upload |
Upload feature (front + back) |
analysis |
Analysis feature (front + back) |
chunking |
Chunking feature (front + back) |
bbox |
Bounding box pipeline |
e2e |
e2e/ tests |
docker |
Dockerfile, docker-compose |
ci |
.github/workflows/ |
Rules
- Subject line — imperative mood, lowercase, no period, max 72 characters
- Body — explain why, not what (the diff shows what)
- Breaking changes — add
BREAKING CHANGE:in the footer or!after the type:feat(api)!: rename /analyses to /jobs - Issue references — use
Closes #123orFixes #456in the footer
Examples
feat(chunking): add page filtering in Prepare mode
Users can now select which pages to include in chunking.
The filter is persisted in the analysis job metadata.
Closes #87
fix(upload): reject files exceeding MAX_FILE_SIZE_MB
Previously, oversized files were accepted and failed silently
during Docling conversion. Now the API returns 413 with a
clear error message.
Fixes #102