lcl-command
v0.4.0
Published
LaunchCloud Labs installable CLI client for Mission Control and future SSH handoff.
Maintainers
Readme
lcl-command
Installable LaunchCloud Labs client for employee portal login, Mission Control access, and future SSH handoff.
Current status
lcl-command is now a working MVP:
- running
lcl-commandwith no subcommand signs in if needed and then connects automatically loginauthenticates against the employee portal bridge with email + PINstatusvalidates the saved sessionshellcan now perform autonomous SSH handoff when the portal bridge is configured with runtime SSH credentialsdeployopens a guided deploy wizard that wraps the LCL deploy railconsoleis the future Project Arbiter entry point
When the SSH bridge is not configured yet, shell falls back to Mission Control guidance.
Commands
lcl-command login
lcl-command status
lcl-command shell
lcl-command deploy
lcl-command console
lcl-command logout
lcl-command helpnpm
Public release asset install:
npm install -g https://github.com/LaunchCloud-Labs/LCL-Command/releases/download/v<version>/lcl-command-<version>.tgzLocal packaging:
cd ops/lcl-command-client
npm run check
npm packFull local release artifact build:
npm run build:releaseGlobal install shape:
npm install -g lcl-commandThat plain package-name install is reserved for the npm registry publish step once registry credentials are configured.
pip
Public release asset install:
pip install https://github.com/LaunchCloud-Labs/LCL-Command/releases/download/v<version>/lcl_command-<version>-py3-none-any.whlA thin Python wrapper is included under packaging/python/. It bundles the Node client and launches it with the local node runtime.
Local install test:
cd ops/lcl-command-client/packaging/python
python3 -m pip install .
lcl-command helpHomebrew
A formula is included under packaging/homebrew/lcl-command.rb.
Live tap install:
brew tap LaunchCloud-Labs/lcl-command
brew install lcl-commandDeploy wizard
lcl-command deploy launches the guided deploy flow.
Normal mode:
lcl-command deploy- default demo uploads target
public_html/demo/<name> - the wizard can list existing demo entries and let the user choose or create a subdirectory
Advanced mode:
- available only from the wizard's advanced menu
- requires the four-digit unlock code
1472 - allows guided uploads to broader FTP paths after explicit confirmation
Runtime requirements:
- approved LaunchCloud shell environment
- local
lcl-deployinstalled on that environment
This deploy surface is intentionally server-side / approved-host oriented. It is not meant to grant broad FTP deploy power on every employee home computer install.
Environment
- Default bridge endpoint:
https://www.launchcloudlabs.com/employment/portal/Employee_Portal/lcl_command_bridge.php - Local session file:
~/.config/lcl-command/session.json
SSH handoff configuration
For autonomous employee login into the company server, configure these on the portal host as runtime environment values rather than committing them into source:
LCL_COMMAND_SSH_HOST=100.90.184.23LCL_COMMAND_SSH_USER=LCLLCL_COMMAND_SSH_PASSWORD=<shared runtime secret>- optional:
LCL_COMMAND_SSH_READY=true
For employee rollout, the client first uses the built-in macOS expect runtime and otherwise falls back to the bundled Python SSH helper when python3 is already available. The goal is zero extra manual setup for the employee after install.
Release notes
This packaging layer is intentionally built around the Node reference client so npm, pip, and Homebrew stay aligned while the SSH handoff and employee rollout are finalized.
The GitHub release channel is live now. Public npm and PyPI registry publication still require registry credentials or trusted-publisher setup.
What employees can use right now
Today, employees can install lcl-command immediately with:
brew tap LaunchCloud-Labs/lcl-command
brew install lcl-commandor
npm install -g https://github.com/LaunchCloud-Labs/LCL-Command/releases/download/v0.4.0/lcl-command-0.4.0.tgzor
pip install https://github.com/LaunchCloud-Labs/LCL-Command/releases/download/v0.4.0/lcl_command-0.4.0-py3-none-any.whlPlain-name installs are the goal, but they are not live yet:
npm install -g lcl-command
pip install lcl-commandThose two commands start working only after npm/PyPI publication is completed.
How future updates work
No: a normal GitHub commit does not automatically roll out everywhere.
The rollout unit is a versioned release. The safe future flow is:
cd ops/lcl-command-client
python3 scripts/set_version.py 0.2.1
npm run build:releaseThen publish the new source/release to GitHub:
gh release create v0.2.1 \
dist/npm/lcl-command-0.2.1.tgz \
dist/python/lcl_command-0.2.1-py3-none-any.whl \
--repo LaunchCloud-Labs/LCL-Command \
--title "lcl-command v0.2.1"After that:
- Homebrew users get the new version when the tap repo’s formula is updated and they run
brew update && brew upgrade lcl-command - npm users get the new version after the npm registry publish step and then run
npm update -g lcl-command - pip users get the new version after the PyPI publish step and then run
pip install --upgrade lcl-command
What still has to be connected
To make the plain registry installs work, one of these must happen:
- add npm and PyPI credentials
- or configure trusted publishing from
LaunchCloud-Labs/LCL-Command
Once that is configured, the existing GitHub Actions release workflow can publish npm and PyPI on each tagged release.
