{"id":27890275,"url":"https://github.com/tibcosoftware/cic-cli-main","last_synced_at":"2025-05-05T10:46:21.296Z","repository":{"id":42630980,"uuid":"378980755","full_name":"TIBCOSoftware/cic-cli-main","owner":"TIBCOSoftware","description":"Command Line Interface for TIBCO Cloud Platform Capabilities","archived":false,"fork":false,"pushed_at":"2023-07-19T03:18:14.000Z","size":1219,"stargazers_count":13,"open_issues_count":6,"forks_count":3,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-04-14T07:45:57.974Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TIBCOSoftware.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-06-21T15:37:48.000Z","updated_at":"2024-04-14T07:45:57.975Z","dependencies_parsed_at":"2023-02-08T16:16:24.162Z","dependency_job_id":null,"html_url":"https://github.com/TIBCOSoftware/cic-cli-main","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TIBCOSoftware%2Fcic-cli-main","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TIBCOSoftware%2Fcic-cli-main/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TIBCOSoftware%2Fcic-cli-main/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TIBCOSoftware%2Fcic-cli-main/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TIBCOSoftware","download_url":"https://codeload.github.com/TIBCOSoftware/cic-cli-main/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252485679,"owners_count":21755821,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-05-05T10:46:20.612Z","updated_at":"2025-05-05T10:46:21.285Z","avatar_url":"https://github.com/TIBCOSoftware.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# TIBCO Cloud™ CLI\n\nTIBCO Cloud™ CLI will help you to quickly interact with TIBCO Cloud™ capabilities and manage its resources from your machine. It will also help you to automate your tasks, manage local dev environments or can be a part of CI/CD pipeline.\n\n\u003cimg src=\"./media/cli.png\"\u003e\n\nThis CLI can be extended by creating plugins. Checkout plugins developed by TIBCO - [Plugins Developed](#plugins-developed). \\\nYou can also create custom CLI plugins for your use cases. For more details on developing plugins, see [Developers](#developers) section of the documentation.\n\n## Table of Contents\n1. [Installing the CLI](#installing-the-cli)\n    1.  [Prerequisites](#prerequisites)\n    2. [Install via command](#install-via-command)\n    3. [Install manually](#install-manually)\n    4. [Proxy settings](#proxy)\n    5. [Verify installation](#verify-installation)\n2. [Updating the CLI](#updating-the-cli)\n3. [Uninstalling the CLI](#uninstalling-the-cli)\n4. [Command format](#command-format)\n5. [Configuring the CLI](#configuring-the-cli)\n6. [Plugins](#plugins)\n7. [Plugin configurations](#plugin-configurations)\n8.  [Common command flags](#common-command-flags)\n9.  [Developers](#developers)\n10.  [Known issues](#known-issues)\n11.  [Issues](#issues)\n12.  [License](#license) \n\n## Installing the CLI\n### Prerequisites\n\nShould have libsecret installed for linux based machines. If not, use below commands -\n\n- Debian/Ubuntu: `sudo apt-get install libsecret-1-dev`\n- Red Hat-based: `sudo yum install libsecret-devel`\n- Arch Linux: `sudo pacman -S libsecret`\n\n\u003e **_NOTE:_**  You don't need above if you are not using profiles feature and just going to set the token as a environment variable or pass it via flag.\n\n### Install via command\n\nFor **Linux and macOS**, run below command on your terminal\n\n```bash\ncurl -sL https://github.com/TIBCOSoftware/cic-cli-main/releases/latest/download/install.sh | bash\n```\n\nFor **Windows**, run below command on your Windows powershell\n\n```ps\niex ((New-Object System.Net.WebClient).DownloadString('https://github.com/TIBCOSoftware/cic-cli-main/releases/latest/download/install.ps1'))\n```\n\n### Install manually\n\nCLI is distributed using tarballs. Below are the builds of the tarball:\n\n\n| OS        |     Build      |\n| --------- | :-----------:  | \n| Windows   | [tibco-cli-win-x86.zip](https://github.com/TIBCOSoftware/cic-cli-main/releases/latest/download/tibco-cli-win-x86.zip)\u003cbr\u003e[tibco-cli-win-x64.zip](https://github.com/TIBCOSoftware/cic-cli-main/releases/latest/download/tibco-cli-win-x64.zip) | \n| macOS     | [tibco-cli-mac-x64.tar.gz](https://github.com/TIBCOSoftware/cic-cli-main/releases/latest/download/tibco-cli-mac-x64.tar.gz)\u003cbr\u003e [tibco-cli-mac-arm.tar.gz](https://github.com/TIBCOSoftware/cic-cli-main/releases/latest/download/tibco-cli-mac-arm.tar.gz)  |\n| Linux   | [tibco-cli-linux-x64.tar.gz](https://github.com/TIBCOSoftware/cic-cli-main/releases/latest/download/tibco-cli-linux-x64.tar.gz)\u003cbr\u003e[tibco-cli-linux-arm.tar.gz](https://github.com/TIBCOSoftware/cic-cli-main/releases/latest/download/tibco-cli-linux-arm.tar.gz)|\n#### For linux and macOS\n\n- Download archive from below link\n\n  ```bash\n  curl https://github.com/TIBCOSoftware/cic-cli-main/releases/latest/download/{build name from the above table} -fsSL -O\n  ```\n\n- Create a directory to keep installed CLI\n\n  ```bash\n  mkdir ~/tibco-cli\n  ```\n\n- Extract tar package to the created folder\n\n  ```bash\n  tar -xf \u003cbuild file name\u003e -C ~/tibco-cli --strip-components 1\n  ```\n\n- Set up envrionment variables for current terminal session\n\n  ```bash\n  export PATH=~/tibco-cli/bin:$PATH\n  ```\n\n  If you want to set environment variables permanently, find which shell is getting used\n\n  ```bash\n  echo $SHELL\n  ```\n\n  or\n\n  ```bash\n  ps -p $$\n  ```\n\n  As per your shell add these lines in your ~/.bashrc or ~/.zshrc file\n\n  ```bash\n  PATH=~/tibco-cli/bin:$PATH\n  ```\n\n#### For windows\n\n\n- Download archive from above [download table](#download) or using curl\n- Extract the archive\n- Set path variable to extracted folder's bin folder in environment variables\nThis can be done by navigating to `This PC -\u003e Right click -\u003e properties -\u003e Adv System Settings -\u003e Environment variables` \\\nOR  \n`setx /M PATH \"%PATH%;\u003cCLI's bin folder's path\u003e\"`\n\n\u003e **_NOTE:_** You can use same above steps in case you want to update the CLI manually Or to update it with the specific version.\n\n### Proxy\n\nIn case your machine is behind proxy. Set proxy in environment variables\n\n```bash\nexport http_proxy=\"http://PROXY_SERVER:PORT\"\nexport https_proxy=\"https://PROXY_SERVER:PORT\"\n```\n\n### Verify installation\n\nTry to run following command in your terminal\n\n```bash\ntibco --version\n```\n\n## Updating the CLI\n\n- If you have [installed CLI via the command](#install-via-command) mentioned above, then use same installation command to update the CLI.\n- If you have [installed CLI manually](#install-manually), then just download the latest CLI tarball and extract it to the same location (replace) where currently CLI resides.\n- Updating the CLI won’t uninstall your plugins.\n\n## Uninstalling the CLI\n\n**For MacOS and Linux**\n\n```bash\ntibco clean-all -—confirm\nrm -rf ~/tibco-cli     # delete the folder where the main CLI is installed. use `which tibco` to find where it resides.\n```\n\n**For Windows**\n\n```\ntibco clean-all --confirm\nrmdir /s/q %LOCALAPPDATA%\\tibco-cli\n```\n\n\n## Command format\n\nCommands can have either of the below formats\n\n```\ntibco \u003ctopic\u003e:\u003ccommand\u003e  [flags] \u003cargs\u003e\ntibco \u003ctopic\u003e:\u003ccommand\u003e   \u003cargs\u003e [flags]\ntibco \u003ctopic\u003e:\u003csub-topic\u003e:\u003ccommand\u003e [flags] \u003cargs\u003e\n```\n\nFor E.g:\n```\ntibco asyncapi:transform --to flogo --from ./myasyncapi.yml\n```\n\nCommands that interact with the same resources/assets are grouped together under a group name. Such groups are called topics. \\\nFor E.g: config is a topic(group) that manages all CRUD operations on a config file.\n\n```\ntibco config:set\ntibco config:add\ntibco config:get\n```\n\nTopics can have sub topics too. \\\nE.g: On our TCI platform we have the capability of running Flogo apps or BusinessWork apps. Commands can be grouped together for each capabilities.\n```\ntibco tci:bw:do-something\ntibco tci:flogo:add-trigger\n```\n\nHere `tci` is a topic, `flogo` is a subtopic and `add-trigger` is a command.\n\n### Flags\nFor long flags use `--`  \\\nFor short flags use `-`  \\\nFlags can be mentioned in multiple ways:\n```\ntibco apps:create --name myNodeJsAPP\ntibco apps:create --name=myNodeJsAPP\ntibco apps:create -n myNodeJsAPP\ntibco apps:create -n=myNodeJsAPP --force\n```\n\u003e **_NOTE:_** Values (true | false) should not be passed when flags are boolean. Parser will consider that true | false as command arguements. \n\n## Configuring the CLI\n\nYou can set up the CLI in either of the below ways to interact with the TIBCO Cloud:\n\n1. [Set up the enivronment variable](#setting-up-the-environment-variable)\n2. [Pass the token and region flag to the command](#token-and-region-flags)\n3. [Configure and use CLI profiles](#configure-and-use-cli-profiles)\n\n### Setting up the environment variable\n\n Set the token and region of the TIBCO Cloud as a environment variable before running the CLI commands.  \\\n For token - `TIBCO_CLI_OAUTH_TOKEN`  \\\n For region - `TIBCO_REGION`\n\n### Token and region flags\n\nUse `--token` and `--flags` while running every CLI commands.\n\n\u003e **Note** Try to avoid this approach since passing the token flag on the terminal will save the token on the terminal's session history.\n\n### Configure and use CLI profiles\n\nRun the below command that will walk you through the authentication process of the TIBCO Cloud and will generate default CLI profile.\n\n```bash\ntibco profiles:initialize\n```\n\nProfile is a set of configurations grouped together. Currently **org** and **region** of the TIBCO Cloud are grouped together under a profile.This help commands to identify where to interact in the TIBCO Cloud.\n\n\nWhenever command is executed, it will pick up the configuration(org \u0026 region) based on the profile mentioned in the command. If profile is not mentioned then it will fallback to the default profile.\nProfiles can be mentioned as a command flag.\nFor e.g.: `tibco tcam:list-apis --profile eu-user`\n\nYou can add multiple profiles for different orgs and region using below command \n```\ntibco profiles:add\n```\n\nBelow are the list of commands to manage profiles in the CLI -\n* [`tibco profiles:add`](./docs/profiles.md#tibco-profilesadd)\n* [`tibco profiles:initialize`](./docs/profiles.md#tibco-profilesinitialize)\n* [`tibco profiles:list`](./docs/profiles.md#tibco-profileslist)\n* [`tibco profiles:refresh-token`](./docs/profiles.md#tibco-profilesrefresh-token)\n* [`tibco profiles:remove [NAME]`](./docs/profiles.md#tibco-profilesremove-name)\n* [`tibco profiles:set-default [NAME]`](./docs/profiles.md#tibco-profilesset-default-name)\n\n\u003e **_NOTE:_** Profiles are expired if not used in 14 days. If profile is expired, delete it and create new profile with same name.\n\n## Plugins\n\nThis CLI has a plugin-based architecture, that can be extended by creating plugins.\\\nBelow are the commands for managing plugins: \n* [`tibco plugins`](./docs/plugins.md#tibco-plugins)\n* [`tibco plugins:inspect PLUGIN...`](./docs/plugins.md#tibco-pluginsinspect-plugin)\n* [`tibco plugins:install PLUGIN...`](./docs/plugins.md#tibco-pluginsinstall-plugin)\n* [`tibco plugins:link PLUGIN`](./docs/plugins.md#tibco-pluginslink-plugin)\n* [`tibco plugins:uninstall PLUGIN...`](./docs/plugins.md#tibco-pluginsuninstall-plugin)\n* [`tibco plugins:update`](./docs/plugins.md#tibco-pluginsupdate)\n\n#### Plugins developed\n| Name                                                                                                | Description                                                                               |\n|-----------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------|\n| [cli-plugin-tcapim](https://github.com/TIBCOSoftware/tcapim-cli-plugin)     |  Plugin to create and manage TIBCO Cloud™ API Management applications. |\n| [cli-plugin-tcam](https://github.com/TIBCOSoftware/cic-cli-plugin-tcam)  |  Plugin to provide you the ability to run basic commands for TIBCO Cloud API Modeler features.\n| [cli-plugin-asyncapi](https://github.com/TIBCOSoftware/cic-cli-plugin-asyncapi) | Plugin to transform your AsyncAPI spec(2.1.0) into sample flogo template.|\n| [cli-plugin-tci-flogo](https://www.npmjs.com/package/@tibco-software/cli-plugin-tci-flogo) | Plugin to help you to perform the Flogo® specific tasks.|\n\n\n## Plugin configurations\n\nSome plugins and topics might also need persistent configurations. These configurations are maintained in `tibco-cli-config.ini` file. \\\nEvery **section** and **subsection** of ini file represents configurations for **topics** and **subtopics** of the plugin respectively. Topics are set of commands grouped together in the plugin.  \\\nE.g.: suppose we have a plugin for TIBCO Cloud Integration and it has three topics flogo, nodejs and businessworks\n`tibco tci:flogo:\u003ccommand\u003e`  \n`tibco tci:bw:\u003ccommand\u003e`  \n`tibco tci:node:\u003ccommand\u003e`\n\nThen `tibco-cli-config.ini` should look like below\n\n```ini\n[tci]\nproperty=value # some tci level properties and values that may/ may not apply to flogo and bw\n\n[tci.flogo] # subsection to maintain properties for flogo based commands\nproperty=value\narr[]=1\narr[]=2\n\n\n[tci.bw] # subsection to maintain properties for bw based commands\nproperty=value\n\n[tci.node] # subsection to maintain properties for bw based commands\nproperty=value\n\n\n[tcam] # section to maintain properties for tcam topic of tcam plugin\nproperty=value\n\n```\n\n#### Files hierarchy\n\n`tibco-cli-config.ini` can be at local and global level.  \nProperties of local config file has a higher precendence over a global config file properties.  \nCommand will pick local config file by default if it is present in your current working directory with name as `tibco-cli-config.ini`.  \\\nYou can also store local config file with different name and at different location.Then you can pass config file as a flag `--config $HOME/downloads/myconfig.ini` to the command.  \nLocal config file can be helpful in case any developer wants to share cli config file along with their project code.\n\n\nBelow are the list of commands to manage plugin configurations in the CLI -\n\n* [`tibco config:get PROPERTY`](./docs/config.md#tibco-configget-property)\n* [`tibco config:print`](./docs/config.md#tibco-configprint)\n* [`tibco config:set PROPERTY VALUE`](./docs/config.md#tibco-configset-property-value)\n* [`tibco config:unset PROPERTY`](./docs/config.md#tibco-configunset-property)\n\n## Confidentials\n\nConfidential data like tokens, refresh tokens and client secret are stored at:\n\n- Keychain for macOS\n- Credential vault for Windows\n- Libsecret for Linux\n\n## Common command flags\n\nCommon flags are availabe to most of the commands of CLI. \\\nThey may be disabled for specific commands.\n\n### --profile\n\nUse profile to quickly switch your configurations (Org or region).\nIf no profile mentioned then default profile is considered.\\\nFor E.g.:\n\n```\ntibco tci:show-apps --profile eu-user\n```\n\n### --token\n\nPass the token flag to the command which interacts with TIBCO Cloud. This is alternative way to the profiles. \\\nFor E.g.:\n```\ntibco tci:show-apps --token CIC~asdfqwerty  --region eu\n```\n\n### --region\n\nSpecify the region of the TIBCO Cloud. Use this flag along with the token flag.  \\\nPossible values are us, eu and au.  \\\nFor E.g.:\n```\ntibco tci:show-apps --token CIC~asdfqwerty --region eu\n```\n\n### --config\n\nPath to the local config file if your cwd is not having `tibco-cli-config.ini` \\\nFor E.g.:\n```\ntibco asyncapi:transform --config $HOME/desktop/myconfig.ini\n```\n\n### --no-warnings\n\nDisable warnings from command outputs.\\\nFor E.g.:\n\n```\ntibco asyncapi:transform --to flogo from ./spec.yml --no-warnings\n```\n\n### --help\n\nSee all flags and arguments for the corresponding command.  \\\nFor E.g.:\n\n```\ntibco asyncapi:transform --help\n```\n\n## Developers\n\n- To create a CLI plugin checkout [oclif.io](https://oclif.io), since this CLI is based on oclif framework.\n- [Build Plugins on TIBCO Cloud CLI](https://www.walkthrough.so/pblc/niqkfEnGwRZM/build-plugins-for-tibco-cloud-tm-cli?sn=0) will guide you to develop your first sample plugin.\n- You will also need a [cli-core](https://github.com/TIBCOSoftware/cic-cli-core) package to get some features and utilities OOTB (it’s a must dependency).\n\n## Known issues\n\n### For macOS\n\n#### Issue\nIn case you get any of these below errors while running command `tibco profiles:initialize`\n\n\u003cimg src=\"./media/keytar-issue2.png\" height=\"400\" /\u003e\n\u003cimg src=\"./media/keytar-issue1.png\" height=\"555\" /\u003e\n\n\n#### Solution\n1. Navigate to the path `Apple menu -\u003e System Preferences -\u003e Security \u0026 Privacy -\u003e General`.\n2. Click on `Allow anyway` button.\n\n\u003cimg src=\"./media/keytar-soln.png\" height=\"550\"/\u003e\n\n## Issues\n\nIn case you find any issue, raise it here via the \"Issues\" tab of this GitHub repository.\n\n## License\n\n**BSD**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftibcosoftware%2Fcic-cli-main","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftibcosoftware%2Fcic-cli-main","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftibcosoftware%2Fcic-cli-main/lists"}