mirror of
https://github.com/acedanger/shell.git
synced 2025-12-06 07:50:11 -08:00
feat: Add bash completion for backup scripts and enhance README documentation
This commit is contained in:
47
README.md
47
README.md
@@ -6,6 +6,7 @@ This repository contains various shell scripts for managing media-related tasks
|
||||
|
||||
- **[Backup Scripts](#backup-scripts)** - Enterprise-grade backup solutions
|
||||
- **[Management Scripts](#management-scripts)** - System and service management
|
||||
- **[Tab Completion](#tab-completion)** - Intelligent command-line completion
|
||||
- **[Documentation](#documentation)** - Complete guides and references
|
||||
- **[Testing](#testing)** - Docker-based validation framework
|
||||
- **[Dotfiles](#dotfiles)** - System configuration files
|
||||
@@ -201,6 +202,51 @@ curl -fsSL https://raw.githubusercontent.com/acedanger/shell/main/bootstrap.sh |
|
||||
|
||||
For more information about the dotfiles, see [Dotfiles README](./dotfiles/README.md).
|
||||
|
||||
## Tab Completion
|
||||
|
||||
This repository includes intelligent bash completion for all backup scripts, providing tab completion for command-line flags and options.
|
||||
|
||||
### Features
|
||||
|
||||
- **Intelligent flag completion**: Tab completion for all backup script options
|
||||
- **Webhook URL suggestions**: Auto-complete common webhook endpoints
|
||||
- **Path-aware completion**: Works with relative, absolute, and PATH-based script execution
|
||||
- **Cross-shell support**: Compatible with both bash and zsh
|
||||
|
||||
### Supported Scripts
|
||||
|
||||
- **backup-immich.sh**: `--help`, `--dry-run`, `--no-upload`, `--verbose`
|
||||
- **backup-plex.sh**: `--help`, `--auto-repair`, `--check-integrity`, `--non-interactive`, `--no-parallel`, `--no-performance`, `--webhook`, `--email`
|
||||
- **backup-media.sh**: `--help`, `--dry-run`, `--no-verify`, `--sequential`, `--interactive`, `--webhook`
|
||||
- **Generic backup scripts**: Common flags for all backup utilities
|
||||
|
||||
### Usage Examples
|
||||
|
||||
```bash
|
||||
# Tab completion for backup script flags
|
||||
~/shell/immich/backup-immich.sh --<TAB>
|
||||
# Shows: --help --dry-run --no-upload --verbose
|
||||
|
||||
# Tab completion for webhook URLs
|
||||
~/shell/plex/backup-plex.sh --webhook <TAB>
|
||||
# Shows: https://notify.peterwood.rocks/lab
|
||||
|
||||
# Works with any script path
|
||||
backup-immich.sh --<TAB> # From PATH
|
||||
./backup-immich.sh --<TAB> # Relative path
|
||||
/full/path/backup-immich.sh --<TAB> # Absolute path
|
||||
```
|
||||
|
||||
### Installation
|
||||
|
||||
Tab completion is automatically installed when you run the setup scripts:
|
||||
|
||||
```bash
|
||||
./setup/bootstrap.sh # Installs completion automatically
|
||||
```
|
||||
|
||||
For manual installation or more details, see [Completions README](./completions/README.md).
|
||||
|
||||
## Testing
|
||||
|
||||
This repository includes Docker-based testing to validate the setup process across different environments. For complete testing documentation, see [Docker Bootstrap Testing Framework](./docs/docker-bootstrap-testing-framework.md).
|
||||
@@ -242,6 +288,7 @@ For complete crontab management documentation, see [Crontab Management Documenta
|
||||
### Current Status
|
||||
|
||||
The crontab system uses hostname-specific configuration files:
|
||||
|
||||
- **crontab-europa.txt** - Media server configuration
|
||||
- **crontab-io.txt** - Download/acquisition server configuration
|
||||
- **crontab-racknerd.txt** - Backup server configuration
|
||||
|
||||
Reference in New Issue
Block a user