Add run command

This commit is contained in:
Daniel Flanagan 2022-02-17 12:56:18 -06:00
parent 1f01cf0295
commit d2f0b0de39
Signed by: lytedev
GPG key ID: 5B2020A0F9921EF4

View file

@ -62,6 +62,12 @@ deno compile -A -o poc-cli.darwin.x86_64 --target x86_64-apple-darwin src/core.t
deno compile -A -o poc-cli.darwin.aarch64 --target aarch64-apple-darwin src/core.ts deno compile -A -o poc-cli.darwin.aarch64 --target aarch64-apple-darwin src/core.ts
``` ```
### Run Without Compiling
```
deno run -A src/core.ts
```
### Deploy Artifacts ### Deploy Artifacts
``` ```
@ -86,53 +92,53 @@ It's self-documenting... sort of!
poc-cli poc-cli
``` ```
----- ---
# My Old Notes Below! # My Old Notes Below!
----- ---
# Pluggable CLI # Pluggable CLI
- Each subcommand is a plugin? - Each subcommand is a plugin?
- Versioning and/or stability will be important? - Versioning and/or stability will be important?
- Maybe plugins _never_ change and instead you prefix them with a version? - Maybe plugins _never_ change and instead you prefix them with a version?
- How can we build stability into the system? - How can we build stability into the system?
- Some subset or all plugins are already known - Some subset or all plugins are already known
- Auto-download plugins when attempting to run a command - Auto-download plugins when attempting to run a command
- Completions for subcommands - Completions for subcommands
- Are completions provided for commands not-yet-installed? Does attempting to - Are completions provided for commands not-yet-installed? Does attempting to
complete a subcommand's commands install the plugin and process its complete a subcommand's commands install the plugin and process its
completions? completions?
- Will have configuration - Will have configuration
# Core functions # Core functions
- What plugins are available to me? - What plugins are available to me?
- HTTP GET (and cache?) some known human- and machine-readable manifest - HTTP GET (and cache?) some known human- and machine-readable manifest
- JSON, YAML, Cue, or Ion? - JSON, YAML, Cue, or Ion?
- Install a plugin - Install a plugin
- HTTP GET - HTTP GET
- Delete a plugin - Delete a plugin
- rm -r dir - rm -r dir
- Update self - Update self
- download new binary and replace self with it - download new binary and replace self with it
- Update plugin - Update plugin
- replace plugin - replace plugin
- Run a plugin with some given arguments - Run a plugin with some given arguments
- call plugin with args - call plugin with args
# Components I See # Components I See
- Core - Core
- Knows where to find manifest (may cache locally) - Knows where to find manifest (may cache locally)
- Installs, updates, deletes plugins using information in manifest - Installs, updates, deletes plugins using information in manifest
- Can update or uninstall itself - Can update or uninstall itself
- Can run plugins - Can run plugins
- Manifest - Manifest
- Contains information about where to find plugins and their versions - Contains information about where to find plugins and their versions
- Plugins - Plugins
- Probably dumb scripts that call fancier things - Probably dumb scripts that call fancier things
[upstream]: https://git.lyte.dev/lytedev/pluggable-cli-deno [upstream]: https://git.lyte.dev/lytedev/pluggable-cli-deno
[github]: https://github.com/lytedev/pluggable-cli-deno [github]: https://github.com/lytedev/pluggable-cli-deno