The project benchmarked itself and printed the number that argues against it — JSON output averaged 205% heavier than raw text, with ls -la over 200 files coming to 15,531 tokens against 5,807 raw. The counterweight is the misread rate it measured on raw text: 4.18% on average, rising to 28.6% on filenames containing spaces. It also reports the context spent explaining output formats falling by an average of 61%, because the JSON describes its own shape. Whether the trade pays depends on whether the output feeds a next step or is simply read once.
A shell execution gateway. Commands run through a guard and the output comes back as structured data alongside the original text: a directory listing arrives as objects with permissions, owner, size and modification time rather than a line to split. The parser is chosen for the operating system, so the same command reads the same way on macOS and on Linux.
- run executes a command through the guard and returns structured output, with the raw text always kept beside the parsed form
- run_paged returns paginated stdout for commands with large output — ps aux, find, a recursive grep — with page_info reporting the total so nothing is silently cut
- dry_run checks whether a command would pass the guard without running it, so a risky call can be validated before it happens
- describe reports the environment: which commands are allowed, which parsers exist, what the guard restricts, and which version is running
- A consistent response shape — ok and exitCode are always in the same place, so an agent branches on a field instead of reading stderr to guess
- duration_ms on every response, so slow commands are visible rather than inferred
- includeDiff is off by default on run and run_paged and fills in created, deleted and modified files when switched on, so the snapshot cost is not paid on calls that do not need it
- Raw is always preserved: parsed is the bonus, raw is the fallback when no parser exists for a command or a parser gets it wrong
Published as @nerdvana/parism and launched over stdio. It executes shell commands on the machine it runs on, behind a whitelist and injection filtering — describe reports what the current configuration permits and dry_run tests a specific command against it. The primary documentation and specification are written in Korean, with an English README alongside.
One command — npx -y @nerdvana/parism
