| Create an on-demand backup of this repository. | |
| Your task: | |
| 1. Create a timestamped archive of the current repository state | |
| 2. Include all files except those in .gitignore | |
| 3. Save the backup with a clear naming convention: | |
| - Format: `{repo-name}_backup_{YYYY-MM-DD}_{HH-MM}.tar.gz` | |
| - Or: `{repo-name}_backup_{YYYY-MM-DD}_{HH-MM}.zip` | |
| 4. Optionally, the user may specify: | |
| - Backup location (default: parent directory or ~/backups) | |
| - Compression format preference | |
| - Exclusion patterns beyond .gitignore | |
| Confirm backup creation and report the file location and size. | |