eazygit 0.2.0

A fast TUI for Git with staging, conflicts, rebase, and palette-first UX
# Implementation Plan: Custom Commands & Commit Templates

## 1. Commit Message Templates

### Config Format
```toml
[commit]
template = "feat({branch}): {message}\n\n{date}"
```

### Template Variables
- `{branch}` - Current branch name
- `{date}` - Current date (ISO format)
- `{message}` - User's input (replaces {message} with actual message)
- `{files}` - Number of staged files
- `{repo}` - Repository name

### Implementation Steps
1. Add `commit_template` to `PartialConfig` and `Settings`
2. Add template substitution function
3. Apply template when commit mode starts (if template exists)
4. Replace `{message}` with user input when submitting

## 2. Custom Commands

### Config Format
```toml
[custom_commands]
"deploy-staging" = "git push origin HEAD:staging && echo 'Deployed to staging'"
"run-tests" = "cargo test && cargo clippy"
"format-code" = "cargo fmt && cargo fix"
```

### Implementation Steps
1. Add `custom_commands: HashMap<String, String>` to `Settings`
2. Parse custom commands from config
3. Add custom commands to command palette
4. Execute custom commands when selected
5. Support shortcuts (optional): `[custom_commands.shortcuts]` section

### Command Execution
- Run in repo directory
- Show output in feedback area
- Support environment variables
- Allow chaining commands with `&&`