Commands

Did you ever play Command & Conquer? No? Continue, comrade... and you will find yourself on the floor, with Kukov! ☭

To download and install CLI, follow the instructions here.

You can invoke code.store CLI either by using the full codestore command, or by using the short version cs.

Synopsis

To get a list of all commands, call cs help:

cs help

Basic usage

Most of the commands accept some specific arguments which can be provided while invoking the command in a long or short format:

  • Long format: cs command --argumentName argumentValue

  • Short format: cs command -a argumentValue

Use cs help command to know more about the specific command and its arguments.

Authentication

$ cs help auth
Authentication commands, login, logout, whoami

USAGE
  $ codestore auth:COMMAND

COMMANDS
  auth:login   Authenticate at code.store platform
  auth:logout  Clears user credentials and invalidates local session
  auth:whoami  Display the currently logged in user

To be able to use the CLI you have to login into your code.store account. To do that use the following command:

cs auth:login

cs login will try to authenticate through the browser (it is going to open the default browser in your system).

At any time you can check under which user you are being authenticated:

cs auth:whoami

In order to finish your session and logout use the following command:

cs auth:logout

You can also use short aliases of the above commands: cs login, cs whoami and cs logout.

Services

$ cs service help
Manage your services

USAGE
  $ codestore service:COMMAND

COMMANDS
  service:create    Create new service
  service:dev       Launch your service locally
  service:info      Displays detailed information about a service
  service:list      List services in your organization
  service:logs      Print the logs for your services
  service:promote   Promotes service from private env to demo
  service:pull      Download an existing service
  service:push      Push local changes to Private environment
  service:remove    Remove a service

List

The cs service:list command that can be shortened to cs service:ls, and is used to provide a list of your services along with their status.

$ cs service:list # or cs service:ls
Service ID         Name                Status
amazing-service-1  Amazing service #1  ACTIVE
amazing-service-2  Amazing service #2  ACTIVE

Create

Create a new service by calling cs service:create which will display a wizard and ask for some necessary information in order to create a service.

$ cs service:create

Info

Displays more detailed information about the service:

$ cs service:info
         Private                     Demo
version  0.0.3                       0.0.2
deployed 8/31/2020, 10:01:44 PM      8/31/2020, 2:48:30 PM
url      ...                         ...

Delete

Deletes the service. Deletes it for real, so please make sure that you are sure about what you are doing.

$ cs service:delete

Dev

Launches a service locally. Requires PostgreSQL and configuration in codestore.yaml.

$ cs service:dev # or cs dev

Generate

This command has been moved to cs generate:models

List

List the services in your organization. You can also use a short version of this command: cs service:ls.

Note: don't be surprised to see some services when you just created an account as those may be the services created by the colleagues in your organization.

$ cs service:list

Logs

Print out the logs of your service. Available options are:

$ cs service:logs --help
Print the logs for your services

USAGE
  $ codestore service:logs

OPTIONS
  -e, --env=(private|demo|development|staging|production)  [default: development] Project environment.
  -f, --follow                                             Specify if the logs should be streamed.
  -n, --num=num                                            [default: 20] Number of most recent log lines to display.
  -p, --projectId=projectId                                Project ID
  -s, --serviceId=serviceId                                Service ID

ALIASES
  $ codestore logs

Promote

Pushes your service from Private to Demo environment.

$ cs service:promote [ID] --help
Promotes service from private env to demo

USAGE
  $ codestore service:promote [SERVICEID]

ARGUMENTS
  SERVICEID  An (optional) Service ID

When launched without the optional Service ID argument, the command will look for codestore.yaml file and will promote the current service.

Pull

Downloads a service to the current directory.

$ cs service:pull --help
Download an existing service

USAGE
  $ codestore service:pull [SERVICEID]

ARGUMENTS
  SERVICEID  An (optional) Service ID

ALIASES
  $ codestore pull

hen launched without the optional Service ID argument, the command will look for codestore.yaml file and will promote the current service.

Push

Push local changes to Private environment.

$ cs service:push --help
Push local changes to Private environment

USAGE
  $ codestore service:push

ALIASES
  $ codestore push

Projects

In order for your Services to be published, they have to be added to Projects. Projects can be created and managed either by using the web-site or via CLI.

$ cs project --help
🚧 A project is a particular app or website, where you can (re)use your existing services. It might be your e-commerce project or a logistics mobile application or business web-app. Each time you add a service to a project, we create a separate, isolated instance of your service. Each service reused in a project has its own environments, databases, logs, and billing

USAGE
  $ codestore project:COMMAND

COMMANDS
  project:create   Creates a new project, where you can add services
  project:delete   Removes project (only if there are no more services inside)
  project:list     List projects in your organization
  project:service  Adds and existing service to your project

Create

Launches a project creation dialogue:

$ cs project:create
? What is your project's name? Test project
? Please add a short description of your project (255 chars max): Project description
? Is everything ok, can I create this project? Yes
⠹ Creating Project Test project

Delete

Deletes the project but only if there are no existing services inside it. Make sure that you remove all services from the project before removing the project itself.

$ cs service:delete --help
Removes the project (only if there are no more services inside)

USAGE
  $ codestore project:delete [PROJECTID]

ARGUMENTS
  PROJECTID  ID of the Project that should be removed

List

Get a list of all your projects (you can also use a shorthand alias cs project:ls:

cs project:list

Services inside the Project

In order to manage services inside your project, you can use cs project:service sub-commands. Most of the commands are quite similar to those of cs service.

$ cs project:service --help
Manage services inside your project

USAGE 
  $ codestore project:service:COMMAND
  
COMMANDS 
  project:service:add Adds and existing service to your project
  project:service:info Displays detailed information about project's service
  project:service:list Lists services in your project
  project:service:promote Promotes service inside the project between Development, Stating and Production environments
  project:service:remove Exclude service from project. This is a potentially destructive operation that might result in a loss of data.

Add

Adds an existing service to a project. Requires a Project ID as an argument.

$ cs project:service:add --help
Adds and existing service to your project

USAGE
  $ codestore project:service:add [SERVICEID]

ARGUMENTS
  SERVICEID  Id of the service

OPTIONS
  --project-id=project-id  (required) Id of the project

List

Lists services in your project:

$ cs project:service:list --help
Lists services in your project

USAGE
  $ codestore project:service:list PROJECTID

ARGUMENTS
  PROJECTID  (required) Project ID

ALIASES
  $ codestore project:service:ls

Info

Displays detailed information about project's service, in a similar way to cs service:info.

cs project:service:info {PROJECT} {SERVICE}

Promote

Promotes your service inside the project between Development, Staging and Production environments.

$ cs project:service:promote --help
Promotes service inside the project between Development, Stating and Production environments

USAGE
  $ codestore project:service:promote [SERVICEID]

ARGUMENTS
  SERVICEID  ID of the service

OPTIONS
  --project-id=project-id  (required) ID of the project

Remove

Removes the service from the project.

This is a destructive operation that might result in the loss of data! Please make sure that you definitely want to remove the service from the project.

$ cs project:service:remove --help
Exclude service from project. This is a potentially destructive operation that might result in a loss of data.

USAGE
  $ codestore project:service:remove [SERVICEID]

ARGUMENTS
  SERVICEID  ID of the service

OPTIONS
  --project-id=project-id  (required) ID of the project

Generate

This group of commands generate scaffolding (templates) of some important files.

$ cs generate
Generates scaffolding (templates) of some important files

USAGE
  $ codestore generate:COMMAND

COMMANDS
  generate:handler   Generates auth.handler or context.handler
  generate:models    Generates database entities and migrations
  generate:resolver  Generates a GraphQL resolver
  generate:rest      Generates a REST API handler

Handler

Generates auth and context handlers.

$ cs generate:handler --help
Generates auth.handler or context.handler

USAGE
  $ codestore generate:handler

OPTIONS
  -f, --force                     Force overwrite file if it already exists
  -t, --handlerType=context|auth  Handler type, can be one of: context, auth.

Read more about the usage of those handlers in our dedicated tutorial here.

Models

Generates the entity models and database migrations for your GraphQL types and puts them into src/entities.

$ cs generate:models

Entity and database generation functionalities are still in alpha version. We are iterating fast to bring the best features as soon as possible. We would be happy to hear from you about what do you think about it in our community chat here: https://spectrum.chat/code-store

Resolver

Generate a template of a GraphQL resolver:

$ cs generate:resolver --help                                                                                              12.18.3
Generates a GraphQL resolver

USAGE
  $ codestore generate:resolver

OPTIONS
  -f, --force                        Force overwrite file if it already exists
  -n, --name=name                    Resolver name
  -t, --resolverType=query|mutation  Resolver type, one of: 'query' or 'mutation'

REST

Generates a template of a REST API endpoint handler:

$ cs generate:rest --help                                                                                            3s   12.18.3
Generates a REST API handler

USAGE
  $ codestore generate:rest

OPTIONS
  -f, --force                       Force overwrite file if it already exists
  -m, --method=get|post|put|delete  HTTP method, one of: get, post, put, delete
  -n, --name=name                   REST endpoint name

Last updated