Summary
Add an interactive menu mode for sqlcmd with a visually appealing ASCII art header, similar to the Azure CLI's interactive experience.
Motivation
An interactive menu mode would:
- Improve discoverability: Help new users explore sqlcmd's features
- Reduce friction: Guide users through common tasks without memorizing flags
- Visual appeal: A branded ASCII art header creates a professional, memorable experience
- Consistency: Align with Azure CLI and other modern CLI tools that have interactive modes
Proposed Features
ASCII Art Header
_____ ____ __ ________ _______
/ ___// __ \ / / / ____/ |/ / __ \
\__ \/ / / / / / / / / /|_/ / / / /
___/ / /_/ / / /___/ /___/ / / / /_/ /
/____/\___\_\/_____/\____/_/ /_/_____/
Microsoft SQL Server Command Line Tool
(or similar branded design)
Interactive Menu Options
- Connect: Guided connection setup (server, auth method, database)
- Query: Enter and execute queries interactively
- Config: Manage contexts and endpoints (
sqlcmd config commands)
- Containers: Start/stop/manage SQL containers
- Help: Browse commands and examples
- Recent: Show recent connections/queries
Navigation
- Arrow keys / number selection
- Fuzzy search for commands
- Breadcrumb navigation
q or Esc to exit
Implementation Considerations
- Go TUI libraries: bubbletea, tview, promptui
- ASCII art generator or hand-crafted design
- Keyboard handling across platforms (Windows, Linux, macOS)
- Fallback for non-interactive terminals
- Integration with existing command structure
Inspiration
- Azure CLI interactive mode (
az interactive)
- GitHub CLI (
gh)
- lazygit, lazydocker
- k9s (Kubernetes TUI)
Tasks
Summary
Add an interactive menu mode for sqlcmd with a visually appealing ASCII art header, similar to the Azure CLI's interactive experience.
Motivation
An interactive menu mode would:
Proposed Features
ASCII Art Header
(or similar branded design)
Interactive Menu Options
sqlcmd configcommands)Navigation
qorEscto exitImplementation Considerations
Inspiration
az interactive)gh)Tasks