Initial upload: Shell History Alias Generator with full test suite
Some checks failed
CI / test (push) Has been cancelled
Some checks failed
CI / test (push) Has been cancelled
This commit is contained in:
115
README.md
115
README.md
@@ -1,3 +1,114 @@
|
||||
# shell-history-alias-generator
|
||||
# Shell History Alias Generator
|
||||
|
||||
A CLI tool that analyzes terminal command history to discover frequently used long commands and generates shell aliases
|
||||
A CLI tool that analyzes your terminal command history to automatically discover frequently used long commands and generates shell aliases for them.
|
||||
|
||||
## Features
|
||||
|
||||
- **Multi-shell Support**: Parse history from Bash, Zsh, and Fish shells
|
||||
- **Smart Analysis**: Calculate frequency scores and identify commands worth aliasing
|
||||
- **Interactive Review**: Review suggested aliases before adding them with a rich terminal UI
|
||||
- **Multi-format Export**: Export to bashrc, zshrc, or fish formats
|
||||
- **Easy Installation**: Direct installation to shell configuration files
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
pip install shell-history-alias-generator
|
||||
```
|
||||
|
||||
Or from source:
|
||||
|
||||
```bash
|
||||
git clone https://7000pct.gitea.bloupla.net/7000pctAUTO/shell-history-alias-generator.git
|
||||
cd shell-history-alias-generator
|
||||
pip install -e .
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
### Analyze history and generate aliases
|
||||
|
||||
```bash
|
||||
shell-alias-gen analyze
|
||||
```
|
||||
|
||||
With a specific history file:
|
||||
|
||||
```bash
|
||||
shell-alias-gen analyze ~/.bash_history --shell bash
|
||||
```
|
||||
|
||||
### Interactive mode
|
||||
|
||||
Review and select aliases interactively:
|
||||
|
||||
```bash
|
||||
shell-alias-gen analyze --min-frequency 3
|
||||
```
|
||||
|
||||
### Export to file
|
||||
|
||||
```bash
|
||||
shell-alias-gen analyze --export bash --output aliases.sh
|
||||
```
|
||||
|
||||
### Install directly to shell rc file
|
||||
|
||||
```bash
|
||||
shell-alias-gen install --format bash
|
||||
```
|
||||
|
||||
### View supported shells
|
||||
|
||||
```bash
|
||||
shell-alias-gen shells
|
||||
```
|
||||
|
||||
### Show history file locations
|
||||
|
||||
```bash
|
||||
shell-alias-gen locations
|
||||
```
|
||||
|
||||
## Options
|
||||
|
||||
| Option | Description |
|
||||
|--------|-------------|
|
||||
| `--shell` | Shell type: bash, zsh, fish, or auto |
|
||||
| `--min-length` | Minimum command length (default: 15) |
|
||||
| `--min-frequency` | Minimum command frequency (default: 2) |
|
||||
| `--export` | Export format: bash, zsh, or fish |
|
||||
| `--output` | Output file path for export |
|
||||
| `--non-interactive` | Skip interactive review mode |
|
||||
|
||||
## How It Works
|
||||
|
||||
1. **Parse History**: Reads shell history files in shell-specific formats
|
||||
2. **Analyze Commands**: Counts command frequency and calculates complexity scores
|
||||
3. **Generate Aliases**: Creates short, meaningful alias names
|
||||
4. **Review**: Allows interactive review of suggested aliases
|
||||
5. **Export**: Outputs aliases in your shell's format
|
||||
|
||||
## Alias Name Generation
|
||||
|
||||
Aliases are generated based on:
|
||||
- First letters of command words (e.g., `git checkout` → `gc`)
|
||||
- Common keywords (e.g., `docker`, `npm`)
|
||||
- Minimum length and complexity requirements
|
||||
|
||||
## Development
|
||||
|
||||
```bash
|
||||
# Install in development mode
|
||||
pip install -e ".[dev]"
|
||||
|
||||
# Run tests
|
||||
pytest tests/ -v
|
||||
|
||||
# Lint with ruff
|
||||
ruff check .
|
||||
```
|
||||
|
||||
## License
|
||||
|
||||
MIT License
|
||||
|
||||
Reference in New Issue
Block a user