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.