Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/apursley2012/guest-portfolio.dev/llms.txt

Use this file to discover all available pages before exploring further.

Overview

Not everything in guest-portfolio.dev is strictly portfolio content. A handful of commands exist purely for fun — a nod to terminal culture, classic Unix lore, and the kind of thing that makes visitors smile and hit Enter again. All Easter eggs are implemented as cases in the main switch statement inside Terminal.js. Finding them (and adding your own) is half the fun.
Want to add your own Easter egg? Open components/Terminal.js, find the switch (j) block, and add a new case before the default. The value of s is the React node that gets pushed into history — it can be plain text, styled JSX, or even a full component import.

Syntax

matrix

Description

Triggers the MatrixRain component — a full-viewport canvas overlay that renders falling green characters in the iconic Matrix digital-rain style. The overlay runs for exactly 5 seconds, then automatically unmounts.While the rain is running, the terminal prints a single line of green text and remains interactive.

Output

Wake up, Neo...
The canvas overlay appears on top of the entire page for the duration of the animation. After 5 seconds it disappears and you are back to the normal terminal view.

Syntax

cowsay [text]
cowsay

Description

Renders an ASCII art cow with a speech bubble containing the text you supply. If you run cowsay with no arguments, the cow says “Moo” by default.The speech bubble dashes are generated dynamically — their length matches the text, so any message fits perfectly.

Output

With custom text:
cowsay Hello, world!
 ---------------
< Hello, world! >
 ---------------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||
Default (no argument):
cowsay
 -----
< Moo >
 -----
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||

Syntax

sudo make me a sandwich

Description

A direct reference to the legendary XKCD #149. Type the exact phrase and the terminal obliges without question.

Output

Okay. 🥪
This is the only sudo command that succeeds. Every other sudo invocation triggers the sudoers warning below.

Syntax

sudo [any other command]

Description

Attempting to run any sudo command other than make me a sandwich results in the classic permission-denied message, styled in red. The terminal takes note and “reports” the incident.

Example

sudo rm -rf /
guest is not in the sudoers file. This incident will be reported.
sudo apt install vim
guest is not in the sudoers file. This incident will be reported.
The message is always the same regardless of what follows sudo, as long as the joined arguments do not spell make me a sandwich.

Syntax

vim
emacs
nano

Description

Attempting to open any of the three most popular terminal text editors is gently refused. The terminal knows you are trying to escape — and points you to mail instead, which is the only actual editor available.

Output

Nice try. Use 'mail' to open the editor.
This applies to all three commands: vim, emacs, and nano. They are each handled as separate case entries in the switch statement, all returning the same response.

Behaviour

Any input whose first token does not match a known command falls through to the default branch:
ping google.com
command not found: ping
python3 script.py
command not found: python3
The error is rendered in red (text-terminal-red) and shows only the first token of the input — exactly as a real shell would.This is also the message you see if you mistype a valid command:
hlep
command not found: hlep

Build docs developers (and LLMs) love