Skip to content

Latest commit

 

History

11 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

▎ LockedIn CLI

The command line for your personal brand. Turn your terminal into a thought-leadership funnel.

v2.0.0 · enterprise synergy edition · powered by influencer-4-turbo

LockedIn CLI splash screen and interactive session banner


Every other tool got an AI-era CLI. Your personal brand deserves one too.

LockedIn CLI is a satirical, zero-dependency Node.js CLI for broetry, performative humility, recruiter spam, and enterprise buzzwords. Run it without a command for a simulated chat session, or use a one-shot command in a pipeline.

It is a local mockup for fun. No network calls, accounts, or user data.

Install

Requires Node.js 18+ on Linux, macOS, or Windows.

git clone https://github.com/xjamesmorris/lockedin-cli.git
cd lockedin-cli
npm install -g .        # installs `lockedin` and the `li` alias

Or run it in place:

node bin/lockedin.js

There are no runtime dependencies and no build step.

Interactive session

Run lockedin with no arguments to open the simulated chat REPL. Type anything and the active fictional model reframes it as leadership, or use a slash command. At an interactive prompt, Tab completes slash command names and aliases, plus the fixed /a11y parameters and currently supported /language codes. Parameter completion also works through /accessibility, /lang, and /languages.

A simulated LockedIn CLI chat session

Slash command What it does
/help · /h · /? · ? List slash commands. Only ? may omit the slash; bare h is ordinary input
/feed Scroll 4–6 posts, including exactly one promoted post (alias: /timeline)
/profile View your faux professional profile
/plan [goal] Draft a “strategic” content plan
/messages Open an inbox made entirely of recruiter spam (alias: /inbox)
/model Show the static active-model card
/stats Show session engagement
/post · /humblebrag · /reflect [x] Generate professional oversharing
/connect · /synergize Network and operationalize
/clickbait · /aura · /celebrate Manufacture engagement
/language [code] Show or switch among all 33 languages (aliases: /lang, /languages)
`/a11y [mode 0-4]`
/version Print version and existential purpose
/legal Show the satire and license notice
/clear · /exit Clear the screen or leave (aliases: /quit, /q, /x)

One-shot commands

lockedin [command] [input] [flags]
Command What it does
lockedin Launch the interactive session when attached to a terminal
lockedin chat Force the line-oriented session and read stdin
lockedin feed Scroll the feed (alias: timeline)
lockedin profile View your faux professional profile
lockedin post Generate a thought-leadership post (alias: broetry)
lockedin humblebrag Announce an achievement with performative modesty
lockedin reflect [x] Find a profound lesson in something mundane
lockedin connect Add 500 strangers to your “meaningful” network
lockedin synergize Emit one sentence of enterprise buzzwords
lockedin clickbait Fabricate an engagement-bait comment section
lockedin aura Scan your professional aura
lockedin celebrate Celebrate your early-adopter journey
lockedin plan [goal] Draft a “strategic” content plan
lockedin messages Open the recruiter-spam inbox (alias: inbox)
lockedin model Show the static active-model card
lockedin stats Show a fresh session-stat card
lockedin version Print version information (also --version / -v)
lockedin help Show command help (also --help / -h)
lockedin legal Show the satire and license notice

Flags

Flag Effect
--version, -v Print version and existential purpose
--lang <code>, -l <code> Force one of 33 languages
--resume, -r Persist the faux profile across runs
--accessible Screen-reader-friendly linear output (--a11y, --screen-reader)
--high-contrast High-contrast palette (--hc)
--low-distraction Reduced motion and decorative emoji (--calm, --reduce-motion)
--plain Monochrome output with layout preserved (--mono, --monochrome)
--yolo Does nothing. Bravely.
--make-no-mistakes Also does nothing. Aspirationally.

Examples

lockedin
lockedin post
lockedin feed
lockedin --resume profile
lockedin reflect "my standup ran four minutes over"
lockedin --lang ja aura
echo "/messages" | lockedin chat

Content comes from seeded pools and structural templates. Set LOCKEDIN_SEED when you want reproducible output:

LOCKEDIN_SEED=42 lockedin post

Feed, profile, and resume

feed renders 4–6 shuffled posts with varied counts, subtitles, and footers. Exactly one is marked promoted. It is always different and never new.

profile assembles a faux identity from localized pools. With --resume, its language-agnostic pool indices and counters are saved to ~/.lockedin-cli/profile.json (or under LOCKEDIN_STATE_DIR). Missing or corrupt state starts a fresh profile. Changing language changes the rendered words, not the saved identity.

Languages 🌎

The entire CLI is localized into 33 languages: 29 left-to-right and four right-to-left (ar, fa, he, and ur).

Code Language Code Language Code Language
ar العربية bn বাংলা bo བོད་ཡིག
de Deutsch el Ελληνικά en English
en-SG Singlish es Español eu Euskara
fa فارسی fi Suomi fr Français
he עברית hi हिन्दी id Bahasa Indonesia
is Íslenska it Italiano ja 日本語
kn ಕನ್ನಡ ms Bahasa Melayu nl Nederlands
no Norsk pl Polski pt Português
pt-BR Português (Brasil) ru Русский sv Svenska
tl Tagalog tr Türkçe uk Українська
ur اردو zh 简体中文 zh-HK 繁體中文(香港)

Language resolution is --langLOCKEDIN_LANG → host locale → English. pt-BR and pt_BR select the canonical regional code, while generic pt remains the backward-compatible Brazilian Portuguese bundle (both share the same localized pools/UI); en-SG and en_SG keep Singlish, while generic en stays English. zh-HK, zh_HK.UTF-8, and zh-Hant-HK select Hong Kong Traditional Chinese; generic/mainland zh tags remain Simplified Chinese. Norwegian nb and nn resolve to no, legacy Indonesian in resolves to id, fil/tgl resolve to Tagalog (tl), and legacy iw selects Hebrew. Inside a session, /language lists every code and /language <code> switches immediately. After a switch, the CLI prints the way back in the previous language so an unfamiliar script never strands you.

Japanese and Chinese layouts account for double-width characters. Arabic, Persian, Hebrew, and Urdu omit Unicode bidi controls by default because some terminals display them as boxed LRI/RLI/PDI labels. If you know your terminal supports isolates, set LOCKEDIN_BIDI=on to improve mixed RTL/LTR ordering while preserving logical copy/paste order. Unset, empty, off, and invalid values stay safely off; pipes, logs, and CI are never enabled implicitly. Screen-reader output always removes the controls. Without the opt-in, mixed-direction ordering can be less sophisticated, but no invisible formatting character is emitted. For combining marks, an interactive terminal is probed once and the result cached in ~/.lockedin-cli/terminal.json; LOCKEDIN_COMBINING=wide or zero overrides the probe.

LockedIn CLI session in French LockedIn CLI session in Japanese
LockedIn CLI session in Simplified Chinese LockedIn CLI session in Hindi
LockedIn CLI session in Arabic LockedIn CLI session in Hebrew LockedIn CLI session in Hong Kong Traditional Chinese

Display modes ♿

The four modes compose and can be toggled live with /a11y; its panel always numbers them 14, while 0 or reset turns all modes off.

Mode Enable with Effect
Screen reader --accessible, LOCKEDIN_ACCESSIBLE=1, or TERM=dumb Linear plain text without decorative terminal glyphs or colour
High contrast --high-contrast or LOCKEDIN_HIGH_CONTRAST=1 Brighter, higher-contrast palette
Low distraction --low-distraction, LOCKEDIN_LOW_DISTRACTION=1, or LOCKEDIN_REDUCE_MOTION=1 Reduced motion and decorative emoji, layout retained
Plain --plain, LOCKEDIN_PLAIN=1, or NO_COLOR=1 No colour, layout retained
Screen-reader-friendly linear output High-contrast LockedIn CLI theme Low-distraction LockedIn CLI output
Plain monochrome output In-session accessibility controls

Terminal colour support

The splash and accents use 24-bit truecolor. Terminals without it render those gradients wrong — most notably macOS Terminal.app, which reports TERM_PROGRAM=Apple_Terminal and never advertises truecolor. LockedIn CLI detects Terminal.app and automatically falls back to --plain (monochrome, layout intact).

For full colour, use a truecolor terminal such as Ghostty, iTerm2, or WezTerm — they set COLORTERM=truecolor, which re-enables colour automatically. To force colour anywhere, set COLORTERM=truecolor, FORCE_COLOR=1, or LOCKEDIN_PLAIN=0 (though colour still looks wrong on a terminal that lacks truecolor).

Active model

The fictional active model is always influencer-4-turbo. The model command and /model show its static card; they do not offer configuration or change runtime behavior.

Static active-model card for influencer-4-turbo

It was trained exclusively on posts that begin with “Unpopular opinion:” and end with “Agree? 👇”. It has never been wrong because it has never said anything falsifiable.

Gallery

All images are deterministic SVGs generated from the real renderers.

Recruiter-spam inbox Professional aura scan
Early-adopter celebration post Fabricated engagement-bait comments

Tutorial and development

The project wiki is a beginner-friendly tutorial for building software with an AI coding agent. The app is its worked example.

Contributing with a coding agent

Contributions are welcome. Clone the repository and open it with any capable coding agent, such as Claude Code, Cursor, or Codex. Ask the agent to follow the repository instructions and wiki tutorials, review its changes, and run npm test before submitting. These are examples, not endorsements or built-in integrations.

npm test                   # full Node test gate
node --test test/unit.test.js
node tools/screenshot.js   # regenerate docs/screenshots/*.svg

CI runs on Linux and Windows with Node 18, 20, and 22.


Satire. LockedIn CLI is a parody of AI-era command-line tools and professional-networking “thought leadership.” It is not affiliated with, endorsed by, sponsored by, or representative of LinkedIn or any other company. Run lockedin legal for the full notice. Licensed GPL-3.0-or-later.

About

Load-bearing thought leadership at your command — authentically.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages