A project made to annoy both TUI and GUI lovers - CLI in the form of excel
CellShell is a WPF application that looks exactly like Excel but is, in fact, a shell. Type commands into column A, get output in column B. You can even pretend to be using excel while doing what you truly loive, using a cli.
Every command is wrapped in the only formula that matters: =EXEC("your command here").
- Looks like Excel — Is it a feature? Debatable
- Is a terminal — Type any shell command.
ping,curl,git,dotnet, etc. - Live streaming output
- Concurrent execution — Run multiple commands at once. Each row is independent.
- Expand output — Double-click any cell to see the full output in a scrollable overlay. Running commands auto-scroll.
- Shell toggle — Click
cmd ▾in the status bar to switch betweencmd.exeand PowerShell. Formula bar shows=EXEC()or=EXEC.PS(). - Ctrl+C — Kill the active row's process. Like a real terminal, except it looks like you're editing a spreadsheet.
- Resizable columns and rows — Drag to resize, just like the real thing. Double-click a cell to auto-expand.
- The menus work — They just don't do what you'd expect. Try Help > Clippy.
- Windows 10/11
Grab CellShell.exe from the latest release and run it. No install needed.
Requires .NET 8 SDK.
git clone https://github.com/DHuryn/CellShell.git
cd CellShell
dotnet run
Then type a command in cell A1 and press Enter. Pretend you're working on whatever it is people do in excel.
| Action | How |
|---|---|
| Run a command | Type in column A, press Enter |
| View full output | Double-click the output cell |
| Kill a process | Select the row, press Ctrl+C |
| Navigate rows | Click any row to select it |
| Resize columns | Drag column header borders |
| Switch shell | Click cmd ▾ / pwsh ▾ in status bar |
| Change text size | View > Text Size +/- |
dotnet run -- --debug
Writes a log to cellshell-debug.log in the output directory.
CellShell/
Core/
CellData.cs # Row state: command, output, status, process handle
CommandExecutor.cs # Shell execution with streaming output
SpreadsheetModel.cs # Grid logic, formatting, no WPF dependencies
MainWindow.xaml.cs # The disguise: canvas rendering, animations, overlays
App.xaml.cs # Startup, console attachment, graceful shutdown
Tests/ # xUnit tests for CommandExecutor and SpreadsheetModel
Q: Why? A: I saw a really cool TUI project and got inspired to make a really bad one. Its not even a TUI anymore, to be more excel-like! Q: Does it actually do spreadsheet things? A: No. Could it? Probably.
Q: Can I save my work? A: No. It's a terminal. Just scroll up.
