feat(01-04): add CLI entry point with setup and info commands

- Create click-based CLI with command group (--config, --verbose options)
- Add 'info' command displaying pipeline version, config hash, data source versions
- Add 'setup' command orchestrating full infrastructure flow:
  - Load config -> create store/provenance
  - Fetch gene universe (with checkpoint-restart)
  - Map Ensembl IDs to HGNC + UniProt
  - Validate mapping quality gates
  - Save to DuckDB with provenance sidecar
- Update pyproject.toml entry point to usher_pipeline.cli.main:cli
- Add .gitignore for data/, *.duckdb, build artifacts, provenance files
This commit is contained in:
2026-02-11 16:39:50 +08:00
parent e29d39d1dc
commit f33b048635
5 changed files with 378 additions and 1 deletions

40
.gitignore vendored Normal file
View File

@@ -0,0 +1,40 @@
# Data files
data/
# DuckDB
*.duckdb
*.duckdb.wal
# Python
__pycache__/
*.pyc
*.pyo
*.pyd
.Python
*.so
*.egg
*.egg-info/
dist/
build/
.eggs/
# Testing
.pytest_cache/
.coverage
htmlcov/
.tox/
# IDE
.vscode/
.idea/
*.swp
*.swo
*~
# Provenance files (not in data/)
/*.provenance.json
# Virtual environment
.venv/
venv/
env/