Features - TomPlanche/rona GitHub Wiki

Features

Rona comes with a rich set of features designed to enhance your Git workflow. Here's a comprehensive overview of what Rona offers.

Core Features

🚀 Intelligent File Staging

  • Pattern-based file exclusion
  • Support for multiple exclusion patterns
  • Directory-based staging
  • Smart file tracking
# Exclude Rust files
rona -a "*.rs"

# Exclude multiple file types
rona -a "*.rs" "*.tmp" "*.log"

# Exclude directories
rona -a "target/" "node_modules/"

📝 Structured Commit Messages

  • Interactive commit type selection
  • Automatic file change tracking
  • Commit message templates
  • Support for conventional commits
# Generate commit message template
rona -g

# Interactive mode
rona -g -i

🔄 Streamlined Push Operations

  • One-command commit and push
  • Branch management
  • Remote repository handling
  • Push verification
# Commit and push in one command
rona -c -p

# Push to specific branch
rona -c -p origin main

🎯 Interactive Commit Type Selection

  • Predefined commit types
  • Custom commit type support
  • Type-based message templates
  • Commit type validation

Available commit types:

  • feat: New feature
  • fix: Bug fix
  • docs: Documentation changes
  • style: Code style changes
  • refactor: Code refactoring
  • test: Adding or modifying tests
  • chore: Maintenance tasks

🛠 Multi-Shell Completion

  • Bash completion
  • Fish shell completion
  • Zsh completion
  • PowerShell completion
  • Context-aware suggestions
  • Command and flag completion

Advanced Features

Git Integration

  • Seamless Git command integration
  • Git status tracking
  • Branch management
  • Remote repository handling

Configuration

  • Custom editor support
  • Shell-specific settings
  • Pattern configuration
  • Commit message templates

Development Tools

  • Debug mode
  • Verbose output
  • Error handling
  • Logging capabilities

Use Cases

Feature Development

git checkout -b feature/new-feature
rona -a "src/" "tests/"
rona -g  # Select 'feat' type
rona -c -p

Bug Fixes

git checkout -b fix/bug-description
rona -a "src/"
rona -g  # Select 'fix' type
rona -c -p

Code Cleanup

git checkout -b chore/cleanup
rona -a "src/" -e "*.rs"
rona -g  # Select 'chore' type
rona -c -p

Testing

git checkout -b test/add-tests
rona -a "tests/"
rona -g  # Select 'test' type
rona -c -p

Next Steps