# Getting started

### Installation

{% hint style="success" %}
We are iterating really fast in order to bring the best user experience and some great features to our product, that's why please check for updates in our CLI!&#x20;
{% endhint %}

#### macOS

```bash
brew tap code-store-platform/brew && brew install codestore
```

### Other installation methods

#### NPM

This installation method is not recommended as it does not auto-update.

```bash
npm install -g codestore
```

#### Standalone tarballs

These are available in gzip compression:

* [macOS](https://s3.code.store/codestore-darwin-x64.tar.gz)
* [Linux (x64)](https://s3.code.store/codestore-linux-x64.tar.gz)
* [Windows (x64)](https://s3.code.store/codestore-win32-x64.tar.gz)
* [Windows (x86)](https://s3.code.store/codestore-win32-x86.tar.gz)
* PalmOS (just kidding)

### Verifying the installation

To verify that the CLI has been correctly installed, use the `codestore --version` command:

```bash
codestore --version
```

You should see "codestore x.y.z darwin-X node-vX.Y.Z" output.

{% hint style="info" %}
The CLI can be accessed through two commands: ***codestore*** or its shorter version ***cs***
{% endhint %}

### Staying up to date

The **code.store** CLI will keep itself up to date automatically, unless you installed it via `npm install`. In that case use `npm update codestore` in order to upgrade the package to the latest version.

{% hint style="info" %}
Most of the commands accept some specific arguments which can be provided while invoking the command in a long or short formats:

* Long format: **`cs command --argumentName argumentValue`**
* Short format: **`cs command -a argumentValue`**

Use **`cs help`** to know more about its commands and their arguments.
{% endhint %}

### Service directory structure

For each service, the **code.store** CLI is generating a directory structure that resembles the following:

```bash
# Example of the directory structure of a Service
./
├── src/
│		├── data/ # contains generated TypeORM entities
│		├── resolvers/
│		│		├── mutations/
│		│				└── mutationExample.js|ts
│		│		├── queries/
│		│				└── queryExample.js|ts
│		└── schema.graphql # GraphQL definition of your service's API
├── .build # temporary directory
├── package.json # standard NPM configuration file
└── codestore.yaml # main configuration file
```

Read more about the [anatomy of the service directory here](/getting-started/quick-start/quick-start-with-cli.md#the-anatomy-of-a-service).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.code.store/cli/code-store-cli.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
