All docs
CLI commands
The lsd CLI scaffolds and lints packages, runs your tool commands, and describes the API for an AI editor. Reference for every command with usage blocks.
The lsd command-line tool scaffolds and lints packages, runs the commands your tools define, and
describes the API for editors and AI. It ships with the installed product (LSDCli.exe; see
Runtime).
Usage#
lsd package new mypkg # scaffold a package
lsd package lint # check it stays on lsdtools
lsd mypkg count --path a.csv # run a @tool.command
Where to start#
- Develop: Develop a package
- Commands: Commands & actions
- AI:
Package commands#
lsd package new#
Scaffold a new package folder — an lsd_package.json, a starter tool.py, and dev config.
lsd package new mypkg
lsd package lint#
Check a package stays on the supported surface (imports only lsdtools, valid manifest, node
signatures). Run it in CI.
lsd package lint
Tool commands#
lsd <tool> <cmd>#
Run a command defined with @tool.command. The function's typed
parameters become CLI options.
# @tool.command("count") def count(ctx, path: str): ...
lsd mypkg count --path data.csv
API introspection#
lsd api describe#
Print the machine-readable JSON from describe_api() — every registered step
and the public surface.
lsd api describe > api.json
lsd api context#
Print the API as markdown (describe_markdown()) — paste it into an AI editor as context.
lsd api context
Profiles#
LSD_PROFILE selects a backend from ~/.lsd/profiles.json (e.g. a dev profile pointing at
localhost).
LSD_PROFILE=local lsd api describe
Related#
Learn — Develop a package
API — describe_api · Runtime · PackageManager
Examples — A CLI command