Observed since 20 Oct, 16:35 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
A CLI utility that allows shell commands typed in CAPS LOCK to execute correctly by normalizing casing.
Never break your shell flow just because CAPS LOCK was on.
00PS is a tiny CLI that lets you type shell commands in CAPS LOCK and still have them run correctly. It normalizes the command name to lowercase, passes everything else through unchanged, and gets out of your way.
Part of TheRiseCollection and the Rise World developer tools ecosystem.
Have you ever typed a shell command with CAPS LOCK on? You get an error because LS doesn't exist—you meant ls. Or CD fails when you meant cd. This is a small but frequent frustration in daily development work.
00PS solves this by normalizing the command name to lowercase before execution.
00ps to any command.Install globally from npm:
npm install -g 00ps
Yarn:
yarn global add 00ps
pnpm:
pnpm add -g 00ps
Note: The package is published as 00ps (unscoped) on npm.
Basic usage:
00ps <command> [arguments...]
# CAPS LOCK accidentally on…
00ps LS
00ps GIT STATUS
00ps NPM TEST
# Still works even if caps is off (just redundant)
00ps ls
00ps git status
00ps LS
# Executes: ls
00ps PWD
# Executes: pwd
00ps LS -LA
# Executes: ls -la
00ps CD /home/user
# Executes: cd /home/user
00ps NPM INSTALL EXPRESS
# Executes: npm install express
00ps NPM RUN BUILD
# Executes: npm run build
# What you typed (fails)
LS
# Shell: command not found: LS
# With 00ps (succeeds)
00ps LS
# 00ps runs: ls
00PS normalizes only the first token (the command name) to lowercase. All arguments, flags, and paths are passed through unchanged.
00ps LS -LA → executes ls -la00ps CD /HOME/USER → executes cd /HOME/USER (path unchanged)At a high level:
flowchart LR
userShell["User shell"] --> capsCommand["Command in CAPS"]
capsCommand --> zeroZeroPs["00ps CLI"]
zeroZeroPs --> normalizeStep["Normalize first token to lowercase"]
normalizeStep --> spawnCommand["Spawn underlying command"]
spawnCommand --> commandExit["Pass through exit code"]
The CLI:
-h, --help - Show help message.-v, --version - Show version number.Works on:
On Windows:
00ps behaves like any other CLI: it spawns the normalized command.00ps still normalizes the first token for consistency.Only the first command in a pipeline is normalized.
00ps LS | GREP src
# 00ps runs: ls | GREP src (only `ls` is normalized)
Paths are not normalized (they may be case-sensitive depending on your OS and filesystem).
00ps CD /HOME/USER
# Command becomes: cd /HOME/USER (path unchanged)
Shell built-ins work via shell: true and depend on your shell environment.
0 - Command executed successfully.1-255 - Underlying command’s exit code (passed through).1 - 00PS error (invalid usage, etc.).00PS executes commands exactly as requested after normalizing the command name. It:
spawn with argument arrays (not string concatenation).$PATH, environment, or privileges.Only run commands you trust—00PS just makes CAPS LOCK mistakes less painful.
# Run locally
npm start
# Basic smoke test
npm test
Contributions, ideas, and bug reports are welcome.
PUBLISH.md for release and publishing notes.git wrappers).MIT
https://github.com/TheRiseCollection/00ops-plugin
Maintained by TheRiseCollection
Part of Rise World — a developer lab for building, documenting, and sharing tools.
Download counts and popularity will appear here as the collector receives them.
This describes our collected data; it is not a security assessment.
Shared repository data · GitHub
Observed since 20 Oct, 16:35 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:ece140651e935c8f2258ebe5e5e6b77d1e98daa4559062d1d29587247d70cd6e