3.14.1 β€’ Published 1 month ago

@starship-ci/cli v3.14.1

Weekly downloads
-
License
SEE LICENSE IN LI...
Repository
github
Last release
1 month ago

Starship CLI

starship is the command-line interface designed to deploy and manage Starship, catering specifically to Node.js and TypeScript developers. This CLI tool offers a seamless and intuitive interface that dramatically simplifies the development, testing, and deployment of interchain applications across both local environments and CI/CD pipelines.

Designed with simplicity and speed in mind, Starship enables developers to quickly integrate Starship into their blockchain projects without complex orchestration.

Table of contents

Install

Install @starship-ci/cli with npm or yarn:

npm install @starship-ci/cli

Recommended Usage πŸ“˜

Stay tuned for a create-cosmos-app boilerplate! For now, this is the most recommended setup. Consider everything else after this section "advanced setup".

Using with CI/CD

Install the packages

Install @starship-ci/cli and starshipjs

yarn add --dev starshipjs @starship-ci/cli

Add your configuration files, similar to these:

Update your package.json scripts:

"starship": "starship --config ./starship/configs/starship.yaml",
"starship:test": "jest --config ./jest.starship.config.js --verbose --bail",
"starship:watch": "jest --watch --config ./jest.starship.config.js"

See an example here.

Start starship πŸš€

yarn starship start

Manual setup & start

yarn starship setup
yarn starship deploy
yarn starship start-ports

Stopping starship

yarn starship stop

This will allow you to run yarn starship to start, setup, deploy, stop and other starship commands:

Deploying Starship πŸš€

yarn starship start

Running End-to-End Tests πŸ§ͺ

# test
yarn starship:test

# watch 
yarn starship:watch

Teardown πŸ› οΈ

# stop ports and delete deployment
yarn starship stop

CLI Usage

Install the CLI

While it's not recommended due to upgrades and package management, you can install globally:

npm install -g @starship-ci/cli

CLI Examples

Here are some common usages of the starship CLI:

starship setup --helmFile ./config/helm.yaml --helmName my-release
starship deploy --helmFile ./config/helm.yaml --helmName my-release
starship undeploy --config ./config/settings.json
starship setup-kind
starship start-ports
starship stop-ports
starship upgrade
starship teardown
starship clean

CLI Commands

Here's a concise overview of the commands available in the starship CLI:

CommandDescription
startSetup, Deploy, and Start Ports.
setupSetup initial configuration and dependencies.
deployDeploy starship using specified options or configuration file.
start-portsStart port forwarding for the deployed services.
stop-portsStop port forwarding.
teardownRemove all components related to the deployment.
upgradeUpgrade the deployed application to a new version.
undeployRemove starship deployment using specified options or configuration file.
delete-helmDelete a specific Helm release.
remove-helmRemove Helm chart from local configuration.
setup-kindSetup a Kubernetes kind cluster for development.
clean-kindClean up Kubernetes kind cluster resources.
cleanPerform a clean operation to tidy up resources.
version, -vDisplay the version of the Starship Client.

CLI Options

Options in the CLI allow for dynamic configuration of starship. You can specify individual options directly in the command line to fine-tune the behavior of the tool. Alternatively, you can use the --config option to specify a YAML configuration file that sets up the initial parameters. If both methods are used, any options provided directly in the command line will override the corresponding settings in the configuration file, giving you the flexibility to customize specific aspects of the deployment without altering the entire configuration.

OptionDescription
--config <path>Specify the path to the JSON configuration file containing all settings.
--no-ttyfor CI/CD, it's a good idea to set --no-tty to disable interactive prompts
--helmFile <path>Specify the path to the Helm file.
--helmName <name>Specify the Helm release name.
--helmRepo <repo>Specify the Helm repository.
--helmRepoUrl <url>Specify the Helm repository URL.
--helmChart <chart>Specify the Helm chart.
--helmVersion <ver>Specify the version of the Helm chart.
--kindCluster <name>Specify the name of the Kubernetes kind cluster.
--verboseEnable verbose output for debugging purposes.
--curdir <dir>Specify the current working directory of the operation.

Developing

When first cloning the repo:

yarn
yarn build

Interchain JavaScript Stack βš›οΈ

A unified toolkit for building applications and smart contracts in the Interchain ecosystem

CategoryToolsDescription
Chain InformationChain Registry, Utils, ClientEverything from token symbols, logos, and IBC denominations for all assets you want to support in your application.
Wallet ConnectorsInterchain Kitbeta, Cosmos KitExperience the convenience of connecting with a variety of web3 wallets through a single, streamlined interface.
Signing ClientsInterchainJSbeta, CosmJSA single, universal signing interface for any network
SDK ClientsTelescopeYour Frontend Companion for Building with TypeScript with Cosmos SDK Modules.
Starter KitsCreate Interchain Appbeta, Create Cosmos AppSet up a modern Interchain app by running one command.
UI KitsInterchain UIThe Interchain Design System, empowering developers with a flexible, easy-to-use UI kit.
Testing FrameworksStarshipUnified Testing and Development for the Interchain.
TypeScript Smart ContractsCreate Hyperweb AppBuild and deploy full-stack blockchain applications with TypeScript
CosmWasm ContractsCosmWasm TS CodegenConvert your CosmWasm smart contracts into dev-friendly TypeScript classes.

Credits

πŸ›  Built by Hyperweb (formerly Cosmology) β€”Β if you like our tools, please checkout and contribute to our github βš›οΈ

Disclaimer

AS DESCRIBED IN THE LICENSES, THE SOFTWARE IS PROVIDED β€œAS IS”, AT YOUR OWN RISK, AND WITHOUT WARRANTIES OF ANY KIND.

No developer or entity involved in creating this software will be liable for any claims or damages whatsoever associated with your use, inability to use, or your interaction with other users of the code, including any direct, indirect, incidental, special, exemplary, punitive or consequential damages, or loss of profits, cryptocurrencies, tokens, or anything else of value.

3.9.0

3 months ago

3.4.0

4 months ago

3.2.0

5 months ago

3.8.0

3 months ago

3.10.0

3 months ago

3.6.0

4 months ago

3.12.0

1 month ago

3.0.0

6 months ago

2.13.0

8 months ago

3.14.1

1 month ago

3.14.0

1 month ago

3.3.0

5 months ago

3.1.0

5 months ago

3.11.0

1 month ago

3.7.0

3 months ago

3.5.0

4 months ago

2.14.1

6 months ago

2.14.0

6 months ago

2.12.0

8 months ago

2.11.0

9 months ago

2.10.2

9 months ago

2.10.1

10 months ago

2.3.0

1 year ago

2.2.0

1 year ago

2.0.2

1 year ago

2.5.0

1 year ago

2.10.0

12 months ago

2.4.0

1 year ago

2.7.0

1 year ago

2.6.1

1 year ago

2.5.2

1 year ago

2.6.0

1 year ago

2.5.1

1 year ago

2.9.0

1 year ago

2.8.1

1 year ago

2.7.2

1 year ago

2.5.4

1 year ago

2.8.0

1 year ago

2.7.1

1 year ago

2.5.3

1 year ago

2.1.0

1 year ago

2.0.1

1 year ago

2.0.0

1 year ago

2.5.6

1 year ago

2.5.5

1 year ago

1.9.0

1 year ago

1.8.0

1 year ago

1.7.0

1 year ago

1.6.0

1 year ago

1.5.0

1 year ago

1.4.5

1 year ago

1.2.0

1 year ago

1.1.0

1 year ago

1.4.4

1 year ago

1.4.3

1 year ago

1.4.2

1 year ago

1.4.1

1 year ago

1.4.0

1 year ago

1.3.0

1 year ago

0.5.0

1 year ago

0.4.0

1 year ago

0.6.0

1 year ago

0.3.0

1 year ago

0.2.0

1 year ago