|
1 | 1 | [](https://twitter.com/deanthecoder) |
2 | 2 |
|
3 | | -# G33k Shell - Retro Terminal |
| 3 | +# G33kShell |
| 4 | +**G33kShell** is a cross-platform retro-themed desktop shell that wraps a CRT aesthetic around a custom command experience. |
| 5 | + |
| 6 | + |
| 7 | + |
| 8 | + |
| 9 | + |
| 10 | +## Highlights |
| 11 | +- Boot-up BIOS prelude, login theatrics, and optional webcam face detection. |
| 12 | +- Powered by Avalonia on .NET for cross-platform hardware-accelerated rendering with crisp pixel fonts and shader-based scanlines. |
| 13 | +- Extensive built-in command set spanning navigation, search, system info, automation, and novelty utilities. |
| 14 | +- Inline `man` pages, persistent history, and settings that remember your favorite skins, screensavers, and working directories. |
| 15 | +- Skin system with `RetroPlasma`, `RetroGreenDos`, `RetroMonoDos`, and `SimpleSkin`. |
| 16 | +- Idle timeout hands ownership to animated ASCII and pixel-art screensavers — many driven by AI brains you can train live. |
| 17 | + |
| 18 | +## Built-in Commands |
| 19 | +- Navigate your filesystem with `dir`, `tree`, `cd`, `pushd`, `popd`, `paths`, and `location`. |
| 20 | +- Inspect and manipulate files via `cat`, `tail`, `copy`, `rm`, `mkdir`, `find`, `grep`, `whereis`, and `open`. |
| 21 | +- Integrate with the OS using `reveal`, `space`, `clip`, `now`, `ver`, `worktime`, `shutdown`, and `max`. |
| 22 | +- Customize the experience with `skin`, `screensaver`, `man`, `help`, `history`, and the CP437 `ASCII` table. |
| 23 | + |
| 24 | +Tip: run `man <command>` for auto-generated manual pages, or `help` to see every command and alias. |
| 25 | + |
| 26 | +## Screensavers |
| 27 | +Cycle anything you like with `screensaver -l` and `screensaver <name>`—add `_train` to the AI-powered ones to watch them learn in real time. |
| 28 | + |
| 29 | +- `asciiroids`, `boids`, `bounce`, `clock`, `conway`, `crystal`, `cube`, `defrag` |
| 30 | +- `donut`, `earth`, `fire`, `fluid`, `lemmings`, `mandelbrot`, `matrix`, `neo` |
| 31 | +- `plasma`, `pong`, `scroller`, `snake`, `stars`, `swirl`, `tbibm`, `terminator` |
| 32 | +- `tiefighter`, `tunnel`, `twister`, `willy`, `worms`, `xenon` |
| 33 | + |
| 34 | +AI-enabled screensavers (`asciiroids`, `pong`, `snake`) store their trained neural weights between runs so you can pick up right where your last session left off. |
| 35 | + |
| 36 | +## Quick Start |
| 37 | +- Install the [.NET 8 SDK](https://dotnet.microsoft.com/download). |
| 38 | +- Clone the repo and restore dependencies: `dotnet restore`. |
| 39 | +- Launch the desktop shell: `dotnet run --project G33kShell.Desktop`. |
| 40 | + |
| 41 | +The application persists settings (skin, screensaver, path history, trained brains) under your user profile. Delete the settings file if you ever want a clean slate. |
| 42 | + |
| 43 | +## Development Notes |
| 44 | +- Run the unit suite with `dotnet test` from the repo root. |
| 45 | +- Avalonia assets live under `G33kShell.Desktop/Assets`; screensavers under `G33kShell.Desktop/Console/Screensavers`. |
| 46 | +- To build your own screensaver, implement `IScreensaver`, expose a unique `Name`, and drop the class into the screensavers folder — `screensaver -l` will pick it up automatically. |
| 47 | + |
| 48 | +## License |
| 49 | +MIT © Dean Edis. See `LICENSE` for details. |
0 commit comments