Libraries
A library is a collection of commands that you can install and use. Libraries can come from the registry or from any git repository — no account needed.
How it works
Section titled “How it works”my library add <identifier>installs from the registry by name, or clones a git URL and reads its manifest (shelf.yaml)- Each library in the manifest maps to a directory of command spec files
- Commands become available as
my <library> <slug>(e.g.,my ops deploy) my library updatepulls the latest changes from all installed libraries
library has alias lib (e.g., my lib add kubernetes).
Install a library
Section titled “Install a library”From the registry
Section titled “From the registry”my library add kubernetesFrom a git URL
Section titled “From a git URL”my library add https://github.com/user/example-library.gitSpecify a branch or tag
Section titled “Specify a branch or tag”my library add https://github.com/user/example-library.git --ref v1.0Custom name
Section titled “Custom name”my library add https://github.com/user/example-library.git --name my-toolsRun library commands
Section titled “Run library commands”After installing a library, its commands are available as top-level subcommands:
my ops deploy -- productionmy k8s logs -- my-podManage libraries
Section titled “Manage libraries”my library list # List all installed librariesmy library list --json # Output as JSONmy library update # Update all librariesmy library update my-tools # Update a specific librarymy library remove my-tools # Remove a libraryDiscover libraries
Section titled “Discover libraries”Search
Section titled “Search”my library search kubernetesExplore
Section titled “Explore”Browse libraries interactively with the TUI:
my library exploreLibrary info
Section titled “Library info”View details about a library:
my library info kubernetesPublish a library
Section titled “Publish a library”Create your own library repo
Section titled “Create your own library repo”Directory layout
Section titled “Directory layout”Directorymy-library/
- shelf.yaml Manifest (required)
Directoryops/ Library directory
- deploy.yaml Command spec (slug: “deploy”)
- status.yaml Command spec (slug: “status”)
Directoryk8s/
- logs.yaml Command spec (slug: “logs”)
Manifest format (shelf.yaml)
Section titled “Manifest format (shelf.yaml)”shelfVersion: 1name: my-librarydescription: A collection of useful commandslibraries: ops: name: Operations description: Deployment and operations commands path: ops k8s: name: Kubernetes description: Kubernetes helper commands path: k8sshelfVersionmust be1- Each key in
librariesis the library slug (must match^[a-z][a-z0-9-]*$) pathpoints to a directory containing command spec files- Each spec file’s
metadata.slugmust match the filename (minus extension)
shelf.yml and shelf.json are also accepted for backward compatibility.
Release a version
Section titled “Release a version”Create a versioned release from a git tag:
my library release v1.0.0Storage
Section titled “Storage”- Library repos are cloned to
~/.my/libraries/repos/(path derived from URL) - The library registry lives at
~/.my/libraries/libraries.json
Next steps
Section titled “Next steps” Library Manifest Reference Full manifest format.
library add Complete CLI reference.