Plugins
argsh supports plugin libraries that extend its functionality beyond the core. Plugins are installed per-project and imported like any other library.
Quick start
How it works
Plugins are distributed as OCI artifacts or GitHub release tarballs. They install to your project's .argsh/libs/ directory and are resolved via the standard import system.
Commands
| Command | Description |
|---|---|
argsh lib add <name> | Install a plugin |
argsh lib add <name>@<version> | Install a specific version |
argsh lib list | List installed plugins |
argsh lib remove <name> | Remove a plugin |
argsh lib install | Install all from .argsh.yaml |
Project configuration
Declare dependencies in .argsh.yaml:
Import resolution
When you import jaml, argsh looks for it in this order:
- Relative to caller — standard import path
- Plugin libs —
.argsh/libs/jaml/jaml - Bundled core —
libraries/
Available plugins
| Plugin | Description | Status |
|---|---|---|
| jaml | Structured YAML/JSON access | v0.1.0 |
Core vs plugins
Core libraries (is::, to::, string::, args, etc.) ship with argsh and are always available. Plugins are optional — install only what you need.
| Core libraries | Plugins | |
|---|---|---|
| Location | libraries/*.sh | .argsh/libs/ |
| Install | Built-in | argsh lib add |
| Docs | Library Reference | This section |
| Source | arg-sh/argsh | arg-sh/libs |
Was this section helpful?