README
@totvslabs/carol
CAROL CLI - Carol AI command line interface
Prerequisites
- System architecture
x86_64
- Node.js
>=8.9
- GCC, LLVM or C++ compiler should support
C++11
features i.e. LLVM version 10.0.0 (clang-1000.11.45.2
) - Cryptographic library
libgcrypt
should be installed on macOS, Linux or windows. Install on macOS using commandbrew install libgcrypt
- Git scm
Getting started
Installation
- You can install
Carol CLI
by following command:$ sudo npm install @totvslabs/carol -g
Commands
The Carol CLI currently supports following commands.
Usage: carol [options] [command]
Options:
-v, --version output the version number
-h, --help output usage information
# | COMMANDS | DESCRIPTION |
---|---|---|
1 | login (alias: l) | Login to a tenant. |
2 | new (alias: n) | Create a new Carol app. |
3 | list (alias: ls) | List Carol apps of an active tenant. |
4 | app (alias: a) | Upload a file and/or submit against a connected Carol app. |
5 | connect (alias: c) | Connect a tenant or an app in CLI. |
6 | status (alias: s) | Carol CLI's connection status. |
7 | info (alias: i) | Display Carol CLI information. |
8 | logout | Logout a user from a configured tenant in CLI. |
carol login (alias: l) command
1.Overview
carol login|l
login to a specified tenant in CLI
Options
tenant
--tenant
(alias: -t
) <value>
Login to a specified tenant.
username
--username
(alias: -u
) <value>
Carol username.
examples
$ carol login -t shiv -u shiv@totvslabs.com
$ ? Password: ********
Output:
$ Connected tenant:shiv Connected user:shiv@totvslabs.com
carol new (alias: n) command
2. Overview
carol new|n <name> <version>
generates a new Carol app.
Options
label
--label
(alias: -l
) <value>
Specify Carol app's display label.
description
--description
(alias: -d
) <value>
Specify description of the Carol app.
poweredBy
--poweredBy
(alias: -p
) <value>
Specify app powered by i.e. Carol etc.
examples
$ carol new demo 1.0.0
Output:
$ β Carol app demo prerequisites acquiring ...
π± Carol app demo prerequisites acquired.
β Carol app demo is creating ...
π Carol app demo created and published.
Access your application: https://shiv.carol.ai/apps/dev/demo/1.0.0/index.html
--------------------------------------------------------------
π Tenant:shiv User:shiv@totvslabs.com App:<no app connected>
carol list (alias: ls) command
3.Overview
carol list|ls
lists Carol apps.
Options
app
--app
(alias: -a
) <name@version>
App name@version of a connected tenant and user.
examples
$ carol list
Output:
$ β Fetching app list...
Name AppVersion Created LastUpdated
--------------------- ---------- ------------------------ ------------------------
Student Retention 1.0 2017-10-10T07:19:19.000Z 2017-10-10T07:21:19.000Z
DiagnΓ³stico de Vendas 1.0 2017-10-10T22:50:19.000Z 2017-10-10T22:59:01.000Z
--------------------------------------------------------------------
π Tenant:robson User:robson.poffo@totvs.com App:<no app connected>
$ carol list --app demo@1.0.0
Output:
$ Label : demo
Name : demo
Version : 1.0.0
Description: -
Powered By : Carol
Url : https://shiv.carol.ai/apps/dev/demo/1.0.0/index.html
File Name Type Updated
---------------------- ---- ------------------------
site.zip WEB 2018-10-02T20:12:42.333Z
welcomeCarolApp-AI.zip AI 2018-10-02T20:27:10.636Z
--------------------------------------------------------------
π Tenant:shiv User:shiv@totvslabs.com App:<no app connected>
carol app (alias: a) command
4.Overview
carol app|a
uploads a file and/or submits a connected Carol app for review.
Options
upload
--upload
(alias: -u
) <file-path>
Uploads a zip file against the connected app.
submit
--submit
(alias: -s
)
Submits a connected app for review.
examples
$ carol app -u ./welcomeCarolApp-AI.zip
Output:
$ β Carol app demo upload is in progress ...
π Carol app demo@1.0.0 uploaded and available for access.
Access your application: https://shiv.carol.ai/apps/dev/demo/1.0.0/index.html
File Name File Type Updated
---------------------- --------- ------------------------
site.zip WEB 2018-10-02T20:12:42.333Z
welcomeCarolApp-AI.zip AI 2018-10-04T18:38:11.470Z
--------------------------------------------------------
π Tenant:shiv User:shiv@totvslabs.com App:demo@1.0.0
2.
```cmd
$ carol app -s
Output:
$ Carol app demo@1.0.0 submitted for review.
--------------------------------------------------------
π Tenant:shiv User:shiv@totvslabs.com App:demo@1.0.0
carol connect (alias: c) command
5. Overview
carol connect|c <entity> <value>
connects to a tenant or an app in CLI.
Where,
entity
= tenant
or app
value
= <tenant-name@username>
or <app-name>@<app-version>
for entity above respectively.
examples
$ carol connect tenant shiv@shiv@totvslabs.com
Output:
$ Connected tenant:shiv Connected user:shiv@totvslabs.com
$ carol connect app demo@1.0.0
Output:
$ Tenant:shiv Connected app:demo@1.0.0
carol status (alias: s) command
6.Overview
carol status|s
gives status of connected tenant, user and app in CLI.
examples
$ carol status
Output:
$ Tenant:shiv User:shiv@totvslabs.com App:demo@1.0.0
carol info (alias: i) command
7.Overview
carol info|i
gives cli and system details.
examples
$ carol info
Output:
$ CAROL CLI
[System Information]
OS Version : macOS High Sierra
NodeJS Version : v8.12.0
NPM Version : 6.4.1
[Carol Information]
CLI Version : 1.0.79
carol logout command
8. Overview
carol logout <tenant> <username>
Logs out a user from a tenant configured in CLI.
examples
$ carol logout shiv shiv@totvslabs.com
Output:
$ Logged out user:shiv@totvslabs.com from tenant:shiv
Issues
- CLI stored refresh_token expires, If you login to carol web with the same credentials
- nodegit installation issue.
Try running below command and update the xcode CLT
Permission issues on carol install command above in installation step$ sudo xcode-select --install
- Check User
$ id -un $ <username>
- Give user directory
/usr/local/lib/node_modules
read/write access$ sudo chown -R <username> /usr/local/lib/node_modules
- Check User
License
The MIT License (MIT)
Copyright (c) 2018 [TOTVS Labs]