Install
The npm package is linersh. It includes the Go terminal UI plus a bundled per-platform CLI binary, so normal use needs no Python install.
One-Shot
Section titled “One-Shot”$npx linershThis opens the interactive terminal UI.
Use the same one-shot form for subcommands when you have not installed the package globally:
$npx --yes linersh@latest --versionnpx --yes linersh@latest setup-jsnpx --yes linersh@latest uninstall --yesPersistent Install
Section titled “Persistent Install”$npm install -g linershlinerRunning liner with no arguments opens the terminal UI. Running a subcommand forwards to the bundled CLI core.
Optional Codex or Claude Maintenance
Section titled “Optional Codex or Claude Maintenance”Use a persistent install when you want an external coding assistant to maintain Liner Projects. Liner ships the Maintenance Adapter inside the package but never installs it without your approval.
Inspect the target first, then install the adapter for your agent:
$liner adapters inspect codexliner adapters install codex --yesUse claude instead of codex for Claude Code. The installed skill delegates every supported change to the current Liner CLI; it does not edit canonical Project files directly or replace the Project Skill.
Continue with Maintain a Project with an Agent for the request, preview, approval, and receipt workflow.
Clean Trial
Section titled “Clean Trial”Use this when you want to try the website flow without touching your real Liner folders, npm cache, or Playwright cache:
$tmp=$(mktemp -d)home="$tmp/home"cache="$tmp/npm-cache"projects="$tmp/projects"mkdir -p "$home" "$cache" "$projects"HOME="$home" npm_config_cache="$cache" LINER_DIR="$projects" npx --yes linersh@latest --versionHOME="$home" npm_config_cache="$cache" LINER_DIR="$projects" npx --yes linersh@latestrm -rf "$tmp"The second command opens the terminal UI. Create a test project, add sources, build the corpus, and run Create Operating Layer. Because the home folder, npm cache, and Liner workspace all point inside $tmp, removing $tmp removes the trial install and test project.
Platform Support
Section titled “Platform Support”Version 1.1.1 supports these native npm platform packages. The main linersh package declares them as optional dependencies, and npm selects the matching OS and CPU package during install.
| System | npm platform package |
|---|---|
| macOS Apple silicon | linersh-darwin-arm64 |
| macOS Intel | linersh-darwin-x64 |
| Linux arm64 | linersh-linux-arm64 |
| Linux x64 | linersh-linux-x64 |
| Windows x64 | linersh-win32-x64 |
Each platform package contains the native Go TUI and bundled CLI core for that system. Normal users install linersh, not the platform package directly.
Node.js 18 or newer is required.
JavaScript-Rendered Pages
Section titled “JavaScript-Rendered Pages”Some source pages need a browser to render correctly. Enable that support once:
$npx --yes linersh@latest setup-jsliner setup-jsThe first command is for one-shot npx use. The second is for global installs. This downloads Playwright Chromium for the local fetcher. The download is about 150 MB and is safe to run again later.
Clean Uninstall
Section titled “Clean Uninstall”$npx --yes linersh@latest uninstall --yesliner uninstall --yesThe first command is for one-shot npx use. The second is for global installs. Both remove Liner’s local cache, npm’s npx execution cache, and Playwright’s Chromium cache. They leave your saved project folders alone.
If you installed globally, also remove the npm package:
$npm uninstall -g linershHard Reset Before Release Testing
Section titled “Hard Reset Before Release Testing”Use this only on a test machine or throwaway user account. It removes every installed or cached TUI surface before testing as an external user: global npm packages, npx execution cache, Liner config/cache, npm cache, and Playwright Chromium.
$npx --yes linersh@latest uninstall --yes || trueliner uninstall --yes || truenpm uninstall -g linersh || truenpm uninstall -g \linersh-darwin-arm64 \linersh-darwin-x64 \linersh-linux-arm64 \linersh-linux-x64 \linersh-win32-x64 || truerm -rf ~/.npm/_npxrm -rf ~/.linerrm -rf ~/Library/Caches/ms-playwrightrm -rf ~/.cache/ms-playwrightnpm cache clean --forcetmp=$(mktemp -d)HOME="$tmp/home" npm_config_cache="$tmp/npm-cache" LINER_DIR="$tmp/projects" npx --yes linersh@1.1.1 --versionHOME="$tmp/home" npm_config_cache="$tmp/npm-cache" LINER_DIR="$tmp/projects" npx --yes linersh@1.1.1rm -rf "$tmp"