# CodeSee CLI tools

## Generating maps locally

1. Navigate to the root of the repo you want to map
2. Generate a map:

    ```shell
    npx codesee map --typescript -o my-repo.map.json
    ```
3. If you don't already have an API token, generate one with `yarn new:api-token`
4. Upload the map using your API token:

    ```shell
    npx codesee upload -a <your-token> -r <repo-url> -u http://localhost:5198 ./my-repo.map.json
    ```

### Example

Let's say we want to generate a map of Maxime's [little-do repository](https://github.com/deammer/little-do).

1. Clone the repo:

    ```shell
    git clone https://github.com/deammer/little-do
    ```
2. Navigate into the repo:

    ```shell
    cd little-do
    ```
3. Generate a map and output it to the `little-do.map.json` file:

    ```shell
    npx codesee map --typescript -o little-do.map.json
    ```
4. If you don't already have an API token, generate one with `yarn new:api-token`
5. Upload the map to your local server:

    ```shell
    npx codesee upload -a 'your-api-token-in-single-quotes' -r 'https://github.com/deammer/little-do' -u http://localhost:5198 ./little-do.map.json
    ```
6. Your map should now be visible on the `/maps` page!

## Generating insights locally

1. Navigate to the root of the repo of your choice
2. Generate an insights file (see the available insight types in `shared-constants`):

   ```shell
   npx codesee insight -i commitCountLast30Days -o codesee.commitCountLast30Days.json
   ```
3. If you don't already have an API token, generate one with `yarn new:api-token`
4. Upload your insights to your local server:

   ```shell
   npx codesee upload -u http://localhost:5198 -t insight -a 'your-api-token-in-single-quotes' -r 'https://github.com/organization/repo-name' codesee.commitCountLast30Days.json
   ```
