···11# Secret Santa CLI
2233-This is a Secret Santa gane CLI tool. It takes a `.yaml` file to configure the game,
33+This is a Secret Santa game CLI tool. It takes a `.yaml` file to configure the game,
44setting up the participants and the exclusions.
5566Then, uses [Mailgun API](https://documentation.mailgun.com/docs/mailgun/user-manual/get-started/)
···48484949```
5050# Mailgun configuration
5151-SANTA_MAILGUN_API_URL=
5252-SANTA_MAILGUN_API_KEY=
5151+SANTA_MAILGUN_API_URL=https://api.eu.mailgun.net/v3/[your-domain]
5252+SANTA_MAILGUN_API_KEY=[your-api-key]
5353```
54545555## Usage
···5757This package uses `uv` to handle the dependencies and virtual environment. The script
5858can be executed by running:
59596060-```bash
6161-uv run secretsanta <config_yaml_file> [--dry]
6060+```
6161+uv run secretsanta <config_yaml_file> [--dry] [--seed string]
6262```
63636464- `<config_yaml_file>`:
+2
src/secretsanta/cli.py
···11111212def app() -> None:
1313 """Main app function, entry point for the CLI, using argparse."""
1414+1415 # loads game config
1516 parser = argparse.ArgumentParser(description="Secret Santa CLI tool.")
1617 parser.add_argument(
···3435 if not config_file.is_file():
3536 print("Game config file not found!")
3637 sys.exit(1)
3838+3739 # creates the game
3840 game = Game.create(config_file=config_file)
3941 # runs the draw