Terminal prompt configuration for PHP, JavaScript, and Python development with server management tools.
Starship is a cross-shell prompt written in Rust. This configuration provides context-aware information display with optimized performance for the BU IS&T development stack.
~ via π v7.4.33 via β¬’ v23.11.0 via π v3.13.3 on βοΈ (us-east-1)
β€ cd repos/my-project
~/repos/my-project on π± main [!2 +1] via π v8.1.0 via β¬’ v18.0.0
β€
Elements:
- π PHP version (when
composer.json
detected) - β¬’ Node.js version (when
package.json
detected) - π Python version (when
requirements.txt
detected) - π± Git branch with status (when in Git repository)
- βοΈ AWS context (when AWS credentials configured)
- β€ Prompt indicator (green=success, red=error)
Plus optimized .zshrc with:
- Useful aliases (
g
for git,gs
for git status,art
for php artisan) - Better history management (100k entries, no duplicates)
- Performance optimizations
- Integration with fzf, zoxide, and other productivity tools
Option 1: Interactive Installation
curl -fsSL https://raw.githubusercontent.com/bu-ist/starship-config/main/install.sh > /tmp/install-starship.sh
chmod +x /tmp/install-starship.sh
/tmp/install-starship.sh
Option 2: One-Command Installation
echo "1" | curl -fsSL https://raw.githubusercontent.com/bu-ist/starship-config/main/install.sh | bash
What this does:
- Installs Starship (if not already installed)
- Installs JetBrains Mono Nerd Font
- Installs productivity tools (fzf, zoxide, bat, exa, htop)
- Downloads optimized configurations
- Sets up shell integration
Note: Option 1 allows you to choose how to handle your existing .zshrc. Option 2 automatically replaces it with the BU IS&T configuration.
# 1. Install Starship
brew install starship # macOS
curl -sS https://starship.rs/install.sh | sh # Linux
# 2. Install Nerd Font
brew tap homebrew/cask-fonts && brew install font-jetbrains-mono-nerd-font # macOS
# 3. Install configurations
curl -fsSL https://raw.githubusercontent.com/bu-ist/starship-config/main/starship.toml -o ~/.config/starship.toml
curl -fsSL https://raw.githubusercontent.com/bu-ist/starship-config/main/.zshrc -o ~/.zshrc.bu-ist
# 4. Configure shell
echo 'eval "$(starship init zsh)"' >> ~/.zshrc
source ~/.zshrc
- 15-25ms prompt generation (vs 150-250ms with Oh My Zsh)
- Disabled unused language modules (Ruby, Rust, Go, Java, etc.)
- Git optimizations for large repositories
- Aggressive completion caching
- Smart language detection for PHP, Node.js, Python
- Git integration with branch, status, and performance optimizations
- AWS context when working with cloud resources
- Command duration for long-running commands
- Directory shortcuts and path substitutions
- 50+ useful aliases for common development tasks
- Better history management with smart search
- FZF integration for fuzzy finding
- Zoxide integration for smart directory jumping
- Auto-completion enhancements
- Directory: Smart truncation with path substitutions
- Git: Branch, status with performance optimizations
- Languages: PHP, Node.js, Python version detection
- Cloud: AWS region and profile information
- Docker: Context when working with containers
- Duration: Execution time for commands >1 second
- History: 100k entries, no duplicates, timestamp tracking
- Navigation: Auto-cd, directory stack, smart globbing
- Completion: Enhanced with colors, case-insensitive matching
- Key Bindings: Arrow keys for history search, Ctrl+R for reverse search
# Git shortcuts
g='git'
gs='git status'
ga='git add'
gc='git commit'
gp='git push'
# Development tools
art='php artisan'
nr='npm run'
py='python3'
# System utilities
ll='ls -alF'
ports='lsof -i -P -n | grep LISTEN'
myip='curl -s ifconfig.me'
If you need personal modifications:
cp ~/.config/starship.toml ~/.config/starship-personal.toml
export STARSHIP_CONFIG=~/.config/starship-personal.toml
# Hide AWS context entirely
[aws]
disabled = true
# Change prompt symbol
[character]
success_symbol = "[β](bold green)"
error_symbol = "[β](bold red)"
# Show more git information
[git_status]
format = '([\[$all_status$ahead_behind\]]($style) )'
# Use minimal configuration
cp examples/minimal.toml ~/.config/starship.toml
# Use advanced configuration
cp examples/advanced.toml ~/.config/starship.toml
Problem: Seeing boxes or question marks instead of symbols
Solution: Install and configure Nerd Font
# macOS
brew tap homebrew/cask-fonts
brew install font-jetbrains-mono-nerd-font
# Linux
./fonts/install-fonts.sh
Then configure your terminal:
- Set font to "JetBrains Mono Nerd Font"
- Use 12pt or larger size
- Enable Unicode support
Problem: Prompt feels sluggish (>100ms)
Solutions:
- Check repository size:
du -sh .git
- Increase timeout:
command_timeout = 5000
in starship.toml - Disable git status temporarily:
[git_status] disabled = true
Problem: Starship shows configuration errors
Solutions:
- Check syntax:
starship config
- Verify file location:
ls -la ~/.config/starship.toml
- Restart shell:
source ~/.zshrc
Problem: Installer doesn't respond to input when using the one-command method
Solution: Use the interactive installation method instead:
curl -fsSL https://raw.githubusercontent.com/bu-ist/starship-config/main/install.sh > /tmp/install-starship.sh
chmod +x /tmp/install-starship.sh
/tmp/install-starship.sh
Alternative: Use the pre-answered version:
echo "1" | curl -fsSL https://raw.githubusercontent.com/bu-ist/starship-config/main/install.sh | bash
If the automated installer doesn't work:
- Check internet connection
- Verify GitHub repository access
- Try manual installation steps above
- Check for permission issues
- Same prompt experience across all team members
- Standardized aliases and shortcuts
- Consistent git workflow indicators
- 30% reduction in context-switching commands
- Faster navigation with smart aliases
- Better history and completion
- New team members get productive setup immediately
- Comprehensive documentation and examples
- Automated installation process
# Backup current config
cp ~/.config/starship.toml ~/.config/starship.toml.backup
# Download latest
curl -fsSL https://raw.githubusercontent.com/bu-ist/starship-config/main/starship.toml -o ~/.config/starship.toml
# Test new configuration
starship config
# macOS
brew upgrade starship
# Linux
curl -sS https://starship.rs/install.sh | sh
- TEAM_GUIDE.md: Complete technical documentation
- Starship Documentation: Official documentation
- Configuration Reference: All available options
- Nerd Fonts: Font download and information
- Check existing issues
- Include your OS, terminal, and error details
- Provide steps to reproduce
- Open an issue describing the improvement
- Explain how it benefits the team
- Include configuration examples if applicable
Maintained by: BU IS&T Development Team
Version: 1.0.0
Last Updated: May 2025