Everything in motd happens through commands. Type them in the input bar at the bottom of the terminal.
Show all available commands grouped by category.
> /help
Toggle the sidebar. Shows motd branding, commands, doc links, and footer. Click any command to run it.
> /menu
Clear the terminal output.
> /clear
Set the terminal width. Accepts px, %, or reset.
> /terminal --width 1000
Terminal width set to 1000px.
> /terminal --width 80%
Terminal width set to 80%.
> /terminal --width reset
Terminal width reset to default (800px).
Width is stored in localStorage and restored on next visit. On mobile, the terminal is always 100% width.
Close the left panel.
> /close
Move the terminal input line. Positions: bottom (default), top, right, left, middle.
> /settings cli top
CLI position set to top.
> /settings cli
CLI position: top
Position persists across sessions. On mobile, always bottom.
Download your current config as a JSON file.
> /config export
Config downloaded.
Load config from a JSON file. Opens a file picker.
> /config import
[file picker opens]
Config imported.
Reset all client-side config overrides to server defaults.
> /config reset
Config reset to defaults.
The config system merges localStorage overrides with server defaults. Export/import lets you back up or transfer your settings.
Read a documentation file. Renders markdown inline in the terminal.
> /read about
> /read api
> /read commands
Without arguments, lists all available docs.
> /read
Browse categories and their tags. Click a tag to search for posts with it.
> /tree -cat
coding/
[rust] [python] [wasm] [js] [frontend] [backend]
creative/
[music] [art] [writing] [gamedev]
meta/
[motd] [bugs] [ideas] [feedback]
general/
[offtopic] [introductions] [showcase]
Universal navigation. Resolves the target and takes you there.
> /link @alice → opens alice's profile
> /link rust → searches for [rust] posts
> /link a3kf9x → shows a specific post
> /link docs/api → reads the API doc
Resolution order: user > tag > post > doc.
Create an account. Interactive prompts for username and password.
> /register
username: alice
password: ********
Registered as alice.
Log in. Session lasts until you close the tab.
> /login
username: alice
password: ********
Logged in as alice.
Log in with a persistent session. Survives tab closes and browser restarts.
> /login-permanently
username: alice
password: ********
Logged in as alice (persistent).
End your session.
> /logout
Logged out.
View your own profile.
> /profile
████ ████
████████
████████████
████████
██ ████ ██
@alice (Alice)
building things
Posts: 42
Joined: 2026-03-15
View another user's profile.
> /profile @bob
Edit your display name and bio. Interactive prompts.
> /settings
display_name (Alice): Alice W.
bio (building things): shipping code
Settings updated.
Publish a post. Max 500 characters. Tags use [brackets].
> /post just shipped the wasm compiler [rust] [wasm]
@alice · just shipped the wasm compiler [rust] [wasm]
a3kf9x · just now
Publish a post with media attached. Upload first with /upload, then attach the returned ID.
> /post screenshot of the new UI /attach x7km2p [showcase]
Show recent posts. Chronological. Filtered by your kill list.
> /feed
@alice · just shipped the wasm compiler [rust] [wasm]
a3kf9x · 2m ago
@bob · working on a new side project [coding]
c9xk4m · 15m ago
Reply to a post.
> /reply a3kf9x nice work! what was the hardest part?
View a post and its replies.
> /thread a3kf9x
Jump to a specific post.
> /goto a3kf9x
Search users and posts.
> /find rust
> /find @alice
> /find [wasm]
Brackets optional — /find rust and /find [rust] both work.
Search archived posts (30-120 days old).
> /find --archive old project
Browse the category tree. See the Shell section above.
Universal navigation. See the Shell section above.
Upload a file. Opens a file picker. Accepted: PNG (max 5MB), MP3 (max 10MB), MP4 (max 25MB).
> /upload
[file picker opens]
Uploaded: x7km2p (png)
PNG images are processed into: original (max 1MB), thumbnail (80px), large (800px), ASCII art.
Attach media to a post. Used inline with /post:
> /post check this out /attach x7km2p
View the original media file.
> /view x7km2p
Play audio or video.
> /play x7km2p
Pause current playback.
> /pause
Expand or collapse media inline in the terminal.
> /expand media expand all media in view
> /expand same as /expand media
> /expand a3kf9x expand media from a specific post
> /expand nada collapse all inline media, stop playback
Delete a media file you uploaded. Removes from disk, clears from posts and avatar.
> /rmedia x7km2p
Media deleted.
Hide a user from your feed. They won't know. Their posts disappear from your view.
> /kill @spammer
Process @spammer terminated.
Hide a specific post.
> /kill b7xm2k
Process b7xm2k terminated.
Kills are private. The /kill command maps to the filter system internally — the word "kill" never touches the database.
When enough users filter the same person, their posts get silently suppressed from everyone's feed. No ban. No notification. They just fade out.
Bookmark a user, tag, post, or doc. Bookmarks are private — nobody sees them.
> /bookmark @alice
Bookmarked @alice.
> /bookmark rust
Bookmarked [rust].
> /bookmark a3kf9x
Bookmarked post a3kf9x.
> /bookmark docs/api
Bookmarked doc api.
The system auto-detects what you're bookmarking:
@ — userRemove a bookmark.
> /unbookmark @alice
Unbookmarked @alice.
View all your bookmarks, grouped by type.
> /bookmarks
users/
[@alice] [@bob]
tags/
[rust] [wasm] [frontend]
posts/
[a3kf9x] @alice · "just shipped the wasm compiler..."
[b7xm2k] @carol · "demo of the new feature..."
docs/
[api] [plugins]
Show only bookmarked users.
> /bookmarks --users
Same for --tags, --posts, --docs.
Permanently delete your account. All posts, media, sessions, and data are wiped. Irreversible.
> /terminate-account
Type your username to confirm: alice
Account terminated.
Link your Telegram account. Generates a one-time deep link.
> /connect telegram
Connect Telegram:
https://t.me/motdsocial_bot?start=alice_a8f3k2
Click the link. Tap Start in Telegram. Done.
Click the link, tap Start in Telegram. Done. The link expires after 10 minutes.
Unlink your Telegram account.
> /disconnect telegram
✓ Telegram disconnected.
See /read telegram for full details on the Telegram bridge.
Link your email address. Sends a verification email.
> /connect email
Enter your email address: you@gmail.com
Verification email sent to you@gmail.com
Click the link in the email to confirm.
Unlink your email address.
> /disconnect email
✓ Email disconnected.
See /read email for full details on the email bridge.
Right-clicking interactive elements (usernames, tags, posts, doc links, media) shows a terminal-styled context menu with relevant actions. Each menu item writes the corresponding command into the input and executes it.
Right-clicking empty space shows the normal browser menu.