From b68de79cfab7cd815fcf8789f14a8160b3c7eb9a Mon Sep 17 00:00:00 2001 From: Rob Date: Tue, 21 Apr 2026 15:25:40 +0200 Subject: [PATCH] Add dependencies and runtime setup documentation --- .github/copilot-tasks.md | 10 +++++----- README.md | 20 ++++++++++++++++++++ requirements.txt | 2 ++ src/taetigkeitsnachweis/cli.py | 33 +++++++++++++++++++++++++++++++++ 4 files changed, 60 insertions(+), 5 deletions(-) create mode 100644 README.md create mode 100644 requirements.txt diff --git a/.github/copilot-tasks.md b/.github/copilot-tasks.md index 2e1df30..a262a10 100644 --- a/.github/copilot-tasks.md +++ b/.github/copilot-tasks.md @@ -24,10 +24,10 @@ Projekt vollstaendig umsetzen: aus PS_PW.xlsx und Stellenbeschreibungen.xlsx mon - [x] Modulaufteilung (cli, parser, matcher, validator, writer, model, util) - [x] Gemeinsame Datenmodelle (z. B. dataclasses) definieren - [x] Zentrales Logging/Fehlermodell vorbereiten -- [ ] T4: Abhaengigkeiten und Laufzeit vorbereiten - - [ ] benoetigte Pakete festlegen (z. B. openpyxl, click) - - [ ] requirements-Datei pflegen - - [ ] Startkommando fuer lokale Ausfuehrung dokumentieren +- [x] T4: Abhaengigkeiten und Laufzeit vorbereiten + - [x] benoetigte Pakete festlegen (z. B. openpyxl, click) + - [x] requirements-Datei pflegen + - [x] Startkommando fuer lokale Ausfuehrung dokumentieren ## Phase 3 - Einlesen der Quelldaten - [ ] T5: Parser fuer PS_PW.xlsx implementieren @@ -111,4 +111,4 @@ Projekt vollstaendig umsetzen: aus PS_PW.xlsx und Stellenbeschreibungen.xlsx mon 8. T15 -> T16 -> T17 ## Aktueller Startpunkt -- [ ] Naechste aktive Aufgabe: T4 (Abhaengigkeiten und Laufzeit vorbereiten) +- [ ] Naechste aktive Aufgabe: T5 (Parser fuer PS_PW.xlsx implementieren) diff --git a/README.md b/README.md new file mode 100644 index 0000000..d73efad --- /dev/null +++ b/README.md @@ -0,0 +1,20 @@ +# SAB Taetigkeitsnachweise Tool + +## Setup + +1. Create and activate a virtual environment. +2. Install dependencies: + +```bash +pip install -r requirements.txt +``` + +## Local run command + +Use module execution from the project root: + +```bash +python -m src.taetigkeitsnachweis.cli --version +``` + +Current CLI is a scaffold. Full generation pipeline is implemented in later tasks. diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..89f0091 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,2 @@ +click>=8.1,<9.0 +openpyxl>=3.1,<4.0 diff --git a/src/taetigkeitsnachweis/cli.py b/src/taetigkeitsnachweis/cli.py index 2984ed6..3408542 100644 --- a/src/taetigkeitsnachweis/cli.py +++ b/src/taetigkeitsnachweis/cli.py @@ -1 +1,34 @@ """CLI entrypoint and orchestration layer.""" + +from __future__ import annotations + +import argparse + + +def build_parser() -> argparse.ArgumentParser: + parser = argparse.ArgumentParser( + prog="taetigkeitsnachweis", + description="SAB Taetigkeitsnachweise generator", + ) + parser.add_argument( + "--version", + action="store_true", + help="Show tool version and exit.", + ) + return parser + + +def main() -> int: + parser = build_parser() + args = parser.parse_args() + + if args.version: + print("taetigkeitsnachweis 0.1.0") + return 0 + + print("CLI scaffold ready. Full pipeline will be added in Task T13.") + return 0 + + +if __name__ == "__main__": + raise SystemExit(main())