Version: 0.1.0-beta.7 Status: Beta - Git-Flow + Cross-Platform Testing License: MIT
A modern, cross-platform shell written in Go with beautiful TUI and native script execution.
- Classic - Traditional bash-like interface
- Warp - Modern, polished UI
- Compact - Minimal, space-efficient
- Chat - Telegram-like conversational interface
- Persistent History: Commands automatically save to
~/.gosh_history - Auto-Load: History loads on shell startup
- Up/Down Navigation: Navigate through command history with arrow keys
- Smart Deduplication: Consecutive identical commands are automatically deduplicated
- Configurable Limit: History respects 10,000 command limit (configurable)
- External Commands: Execute any system command via os/exec
- Interactive Mode: Full TTY support for programs like vim, ssh, nano
- Native Shell Scripts: Execute .sh/.bash scripts natively using mvdan.cc/sh (no bash.exe dependency on Windows!)
- Script Detection: Automatically detects .sh, .bash, .bat, .cmd, .ps1 scripts
- Inline ANSI syntax highlighting
- Commands, options, and arguments color-coded
- Real-time highlighting as you type
- Current branch displayed in prompt
- Dirty status indicator
- Works in any git repository
- Tab Completion: Basic command and file completion
- Multi-line Input: Alt+Enter for multiline commands
- Viewport Scrolling: PgUp/PgDn, Mouse Wheel support
- Auto-scroll: Automatically scroll to bottom on new output
- Visual Help Overlay: Press F1 or ? for keyboard shortcuts reference
- UI Mode Switching: Alt+1-4 hotkeys to switch modes on-the-fly
- Go 1.25 or higher
- Git (for installation from source)
git clone https://github.com/grpmsoft/gosh.git
cd gosh
go build -o gosh ./cmd/gosh
# On Windows:
go build -o gosh.exe ./cmd/gosh# Run GoSh
./gosh
# Or on Windows:
gosh.exe# Execute any system command
ls -la
git status
npm install
# Run interactive programs
vim myfile.txt
ssh user@server
nano config.yml
# Execute shell scripts (native POSIX support!)
./my-script.sh# Navigate history
# Use Up/Down arrow keys to browse previous commands
# History is automatically saved to ~/.gosh_history
# History loads automatically on shell startup# Get help
F1 or ? # Open visual help overlay (ESC to close)
help # Show built-in commands
# Switch UI modes
Alt+1 # Classic mode (traditional bash-like)
Alt+2 # Warp mode (modern polished)
Alt+3 # Compact mode (minimal space)
Alt+4 # Chat mode (telegram-like)
# Or use :mode command
:mode # Show current UI mode
:mode classic # Switch to Classic
:mode warp # Switch to Warp
:mode compact # Switch to Compact
:mode chat # Switch to ChatHistory is stored in ~/.gosh_history and automatically managed.
Default Settings:
- Max size: 10,000 commands
- Auto-save: Enabled
- Deduplication: Consecutive duplicates removed
GoSh supports .goshrc configuration file for customization:
- Location:
~/.goshrc(home directory) - Aliases: Define custom command aliases
- Environment: Set environment variables
- Auto-load: Loaded automatically on shell startup
Example .goshrc:
# Aliases
alias ll='ls -la'
alias gs='git status'
# Environment variables
export EDITOR=vim
export GOPATH=$HOME/goCurrent: v0.1.0-beta.7 (Git-Flow + Cross-Platform Testing) Next: v0.1.0-rc.1 (Community Feedback) Target: v0.1.0 Stable (Q2 2025)
See ROADMAP.md for detailed development plan.
- ROADMAP.md - Development roadmap and future plans
- CHANGELOG.md - Detailed version history
- CONTRIBUTING.md - How to contribute
- LICENSE - MIT License
Contributions are welcome! See CONTRIBUTING.md for:
- Development setup and workflow
- Testing requirements (TDD)
- Code style guidelines
- Pull request process
Quick start:
git clone https://github.com/grpmsoft/gosh.git
cd gosh
make test && make buildMIT License - see LICENSE for details.
Third-party library licenses - see NOTICE for details.
Professor Ancha Baranova - This project would not have been possible without her invaluable help and support. Her assistance was crucial in bringing GoSh to life.
- Bubbletea - Charm's excellent TUI framework
- mvdan.cc/sh - Native POSIX shell interpreter
- Lipgloss - Terminal styling library
- Bubbles - TUI components
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Documentation: docs/
Built with β€οΈ using Go and modern software architecture practices
GoSh aims to be the best cross-platform shell with native script execution and beautiful UI π