Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

✨ completions for bmc client #932

Merged
merged 2 commits into from
Sep 22, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 28 additions & 0 deletions custom-completions/bmc/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# Botmaker-CLI

The [Botmaker-cli](https://www.npmjs.com/package/@botmaker.org/botmaker-cli) comes from
a package in NPM `@botmaker.org/botmaker-cli` and it's intended to interact with
bots created in the botmaker web platform.
This CLI can:

- run client actions
- download the code of a bot (with the import token)
- upload the code from the local to the remote
- set the customer variables (impersonate other user variables in the local env)
- show a status of the client actions
- create a new client action
- and rename an existing client action

This `bmc` module particulary adds the completions for the [nushell](nushell.sh/) shell

## How to install

1- Install nushell in your computer
2- Download the file in this folder `bmc-completions.nu`.
3- Edit your `config.nu` to source that file in this folder.

```nu
source ~/your/location/to/bmc-completions.nu
```

4- Restart your shell and you should be good to go!
84 changes: 84 additions & 0 deletions custom-completions/bmc/bmc-completions.nu
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
# completions for botmaker-cli

def "nu-complete list client actions" [] {
glob **/*.js --depth 2 | path basename
}

export extern "bmc" [
command?: string # command
--help # Show help
--version # Show version number
]

# Run a Botmaker Client Action Script
export extern "bmc run" [
source: string@"nu-complete list client actions" # client action to run
--help # Show help
--version # Show version number
]

# Import a new bussiness from a token
export extern "bmc import" [
apiToken: string # command
--help # Show help
--version # Show version number
]

# Load context for a customer
export extern "bmc set-customer" [
customerId: string # command
--help # Show help
--version # Show version number
]

# Show change status
export extern "bmc status" [
caName?: string@"nu-complete list client actions" # client action to check
--help # Show help
--version # Show version number
]

# Diff client actions states
export extern "bmc diff" [
caName: string@"nu-complete list client actions" # client action to check
code: string # command
--help # Show help
--version # Show version number
--vs-code(-v) # Open in vs-code
]

# Pull incoming changes
export extern "bmc pull" [
caName?: string@"nu-complete list client actions" # client action to pull
--help # Show help
--version # Show version number
]

# Create a new client action
export extern "bmc new" [
caName: string # command
--help # Show help
--version # Show version number
]

# Push changes in client action
export extern "bmc push" [
caName?: string@"nu-complete list client actions" # client action to push
--help # Show help
--version # Show version number
]

# Publish changes in client action
export extern "bmc publish" [
caName: string@"nu-complete list client actions" # client action to publish
--help # Show help
--version # Show version number
]

# Renames the given client action
export extern "bmc rename" [
caOldName: string@"nu-complete list client actions" # client action to rename
caNewName: string # new name
--help # Show help
--version # Show version number
]