@choiceopen/atomemo-plugin-cli
v0.5.7
Published
A command-line utility for building and publishing Choiceform Atomemo Plugin.
Readme
Atomemo Plugin CLI
A command-line utility for building and publishing Choiceform Atomemo plugins.
Features
- 🔐 Authentication: Device authorization flow for secure login
- 🚀 Plugin Initialization: Interactive setup for new Atomemo plugins
- 🔑 API Key Management: Refresh debug API keys for development
- 📦 Plugin Management: Create, develop, and manage Atomemo plugins
- 🌍 Multi-language Support: Support for TypeScript, Python, and Elixir (coming soon)
Installation
npm install -g @choiceopen/atomemo-plugin-cliOr using other package managers:
# Using yarn
yarn global add @choiceopen/atomemo-plugin-cli
# Using pnpm
pnpm add -g @choiceopen/atomemo-plugin-cliQuick Start
Login to your Choiceform account:
atomemo auth loginCreate a new plugin:
atomemo plugin initGet your debug API key:
atomemo plugin refresh-key
Usage
$ atomemo COMMAND
running command...
$ atomemo (--version)
@choiceopen/atomemo-plugin-cli/0.2.5 darwin-arm64 node-v24.13.0
$ atomemo --help [COMMAND]
USAGE
$ atomemo COMMAND
...Commands
atomemo auth loginatomemo auth statusatomemo autocomplete [SHELL]atomemo help [COMMAND]atomemo plugin checksum [FILE]atomemo plugin initatomemo plugin pack [FILE]atomemo plugin permission [FILE]atomemo plugin refresh-keyatomemo plugin run [FILE]atomemo version
atomemo auth login
Uses device authorization flow to login with your Choiceform account by following these steps:
USAGE
$ atomemo auth login
DESCRIPTION
Uses device authorization flow to login with your Choiceform account by following these steps:
1. Request a validation code automatically
2. Show the validation code and a verification URL to the user
3. Open the verification URL in the user's browser and paste the verification code
4. Submit the validation code to complete the device authorization flow
EXAMPLES
Login by using device authorization flow
$ atomemo auth loginSee code: src/commands/auth/login.ts
atomemo auth status
Display the current authentication status.
USAGE
$ atomemo auth status
DESCRIPTION
Display the current authentication status.
Shows user information and session details if authenticated,
or prompts to login if not yet authenticated.
EXAMPLES
Check current authentication status
$ atomemo auth statusSee code: src/commands/auth/status.ts
atomemo autocomplete [SHELL]
Display autocomplete installation instructions.
USAGE
$ atomemo autocomplete [SHELL] [-r]
ARGUMENTS
[SHELL] (zsh|bash|powershell) Shell type
FLAGS
-r, --refresh-cache Refresh cache (ignores displaying instructions)
DESCRIPTION
Display autocomplete installation instructions.
EXAMPLES
$ atomemo autocomplete
$ atomemo autocomplete bash
$ atomemo autocomplete zsh
$ atomemo autocomplete powershell
$ atomemo autocomplete --refresh-cacheSee code: @oclif/plugin-autocomplete
atomemo help [COMMAND]
Display help for atomemo.
USAGE
$ atomemo help [COMMAND...] [-n]
ARGUMENTS
[COMMAND...] Command to show help for.
FLAGS
-n, --nested-commands Include all nested commands in the output.
DESCRIPTION
Display help for atomemo.See code: @oclif/plugin-help
atomemo plugin checksum [FILE]
describe the command here
USAGE
$ atomemo plugin checksum [FILE] [-f] [-n <value>]
ARGUMENTS
[FILE] file to read
FLAGS
-f, --force
-n, --name=<value> name to print
DESCRIPTION
describe the command here
EXAMPLES
$ atomemo plugin checksumSee code: src/commands/plugin/checksum.ts
atomemo plugin init
Initialize a new plugin with step-by-step interactive instructions.
USAGE
$ atomemo plugin init [-i] [-n my-awesome-plugin] [-d Descriptive text...]
[-u <value>] [-l elixir|python|typescript]
FLAGS
-d, --description=Descriptive text... Short description
-i, --[no-]interactive Use interactive mode (by default)
-l, --language=<option> Programming language to use for plugin development
<options: elixir|python|typescript>
-n, --name=my-awesome-plugin Plugin name
-u, --url=<value> Repository URL
DESCRIPTION
Initialize a new plugin with step-by-step interactive instructions.
Providing required flags skips interactive flow and completes initialization in one go.
EXAMPLES
Start with interactive initialization:
$ atomemo plugin initSee code: src/commands/plugin/init.ts
atomemo plugin pack [FILE]
describe the command here
USAGE
$ atomemo plugin pack [FILE] [-f] [-n <value>]
ARGUMENTS
[FILE] file to read
FLAGS
-f, --force
-n, --name=<value> name to print
DESCRIPTION
describe the command here
EXAMPLES
$ atomemo plugin packSee code: src/commands/plugin/pack.ts
atomemo plugin permission [FILE]
describe the command here
USAGE
$ atomemo plugin permission [FILE] [-f] [-n <value>]
ARGUMENTS
[FILE] file to read
FLAGS
-f, --force
-n, --name=<value> name to print
DESCRIPTION
describe the command here
EXAMPLES
$ atomemo plugin permissionSee code: src/commands/plugin/permission.ts
atomemo plugin refresh-key
Refresh or create API Key for plugin debugging in development stage.
USAGE
$ atomemo plugin refresh-key
DESCRIPTION
Refresh or create API Key for plugin debugging in development stage.
EXAMPLES
$ atomemo plugin refresh-keySee code: src/commands/plugin/refresh-key.ts
atomemo plugin run [FILE]
describe the command here
USAGE
$ atomemo plugin run [FILE] [-f] [-n <value>]
ARGUMENTS
[FILE] file to read
FLAGS
-f, --force
-n, --name=<value> name to print
DESCRIPTION
describe the command here
EXAMPLES
$ atomemo plugin runSee code: src/commands/plugin/run.ts
atomemo version
USAGE
$ atomemo version [--json] [--verbose]
FLAGS
--verbose Show additional information about the CLI.
GLOBAL FLAGS
--json Format output as json.
FLAG DESCRIPTIONS
--verbose Show additional information about the CLI.
Additionally shows the architecture, node version, operating system, and versions of plugins that the CLI is using.See code: @oclif/plugin-version
Requirements
- Node.js >= 20.0.0
- npm, yarn, or pnpm
Development
# Clone the repository
git clone https://github.com/choice-open/atomemo-plugin-cli.git
cd atomemo-plugin-cli
# Install dependencies
npm install
# Build the project
npm run build
# Run tests
npm test
# Run the CLI in development mode
./bin/dev.js <command>Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Documentation
License
MIT © Choiceform
