# csmm-cli

> A mod manager for Cities: Skylines

Latest version **0.6.1** (published 2020-05-18) · MIT license · 0 weekly downloads

## Install

```sh
npm install csmm-cli
pnpm add csmm-cli
yarn add csmm-cli
bun add csmm-cli
```

Provides the command `csmm`.

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.6.1 |
| Published | 2020-05-18 |
| First published | 2020-04-08 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Node | >=8.0.0 |
| Dependencies | 22 |
| Unpacked size | 72.9 KB |
| Known vulnerabilities | 0 (+11 in 4 direct dependencies) |
| Install scripts | no |
| GitHub stars | 8 |
| Author | Saksham Kumar |
| Maintainers | kumar-saksham |
| Keywords | oclif |

## Links

- npm: https://www.npmjs.com/package/csmm-cli
- Repository: https://github.com/Kumar-Saksham/CSMM-CLI
- Issues: https://github.com/Kumar-Saksham/CSMM-CLI/issues
- npm.io page: https://npm.io/package/csmm-cli

## Dependencies (22)

- [got](https://npm.io/package/got.md) ^10.7.0
- [conf](https://npm.io/package/conf.md) ^6.2.3
- [uuid](https://npm.io/package/uuid.md) ^7.0.3
- [sinon](https://npm.io/package/sinon.md) ^9.0.2
- [moment](https://npm.io/package/moment.md) ^2.24.0
- [adm-zip](https://npm.io/package/adm-zip.md) ^0.4.14
- [figures](https://npm.io/package/figures.md) ^3.2.0
- [enquirer](https://npm.io/package/enquirer.md) ^2.3.4
- [fs-extra](https://npm.io/package/fs-extra.md) ^9.0.0
- [cli-table](https://npm.io/package/cli-table.md) ^0.3.1
- [puppeteer](https://npm.io/package/puppeteer.md) ^2.1.1
- [term-size](https://npm.io/package/term-size.md) ^2.2.0
- [log-update](https://npm.io/package/log-update.md) ^4.0.0
- [ansi-colors](https://npm.io/package/ansi-colors.md) ^4.1.1
- [extract-zip](https://npm.io/package/extract-zip.md) ^2.0.0
- [pretty-time](https://npm.io/package/pretty-time.md) ^1.1.0
- [@oclif/config](https://npm.io/package/@oclif/config.md) ^1.14.0
- [string-length](https://npm.io/package/string-length.md) ^4.0.1
- [@oclif/command](https://npm.io/package/@oclif/command.md) ^1.5.19
- [@oclif/plugin-help](https://npm.io/package/@oclif/plugin-help.md) ^2.2.3
- [why-is-node-running](https://npm.io/package/why-is-node-running.md) ^2.1.2
- [@oclif/plugin-warn-if-update-available](https://npm.io/package/@oclif/plugin-warn-if-update-available.md) ^1.7.0

## Alternatives

- [@salesforce/cli](https://npm.io/package/@salesforce/cli.md) — 389.7K weekly downloads
- [@mintlify/cli](https://npm.io/package/@mintlify/cli.md) — 208.9K weekly downloads
- [@grafana/e2e-selectors](https://npm.io/package/@grafana/e2e-selectors.md) — 128.7K weekly downloads
- [mintlify](https://npm.io/package/mintlify.md) — 112.0K weekly downloads
- [@intlayer/cli](https://npm.io/package/@intlayer/cli.md) — 22.8K weekly downloads

## Recent versions

- 0.6.1 (latest) — 2020-05-18
- 0.6.0 — 2020-05-18
- 0.5.1 — 2020-05-17
- 0.5.0 — 2020-04-26
- 0.0.2 — 2020-04-08
- 0.0.1 — 2020-04-08
- 0.0.0 — 2020-04-08

## README

<!-- omit in toc -->
<h1 align="center">CSMM-CLI</h1>

<h6 align="center">Mod manager for Cities: Skylines.</h6>

<p align="center">
<img src="./demo/demo.svg" width="700"/>
</p>

<p align="center">
<a href="https://npmjs.com/package/csmm-cli">
    <img alt="Version" src="https://img.shields.io/npm/v/csmm-cli?style=flat-square">
  </a>
  <a href="https://www.npmjs.com/package/csmm-cli">
    <img alt="Downloads" src="https://img.shields.io/npm/dt/csmm-cli?style=flat-square">
  </a>
  <a href="https://github.com/Kumar-Saksham/CSMM-CLI/blob/master/package.json">
    <img alt="License" src="https://img.shields.io/npm/l/csmm-cli?style=flat-square">
  </a>
</p>

<!-- omit in toc -->
## Description

csmm-cli is a command line application to manage your Cities: Skylines mods. It lets you install any mod or collection from Cities: Skyline's [steam workshop page](https://steamcommunity.com/app/255710/workshop/), uninstall a mod if you don't need it any more, or update your installed mods. It automates most of your work to manage mods and does it reliably and quickly, allowing you to spend more time playing and less time getting frustrated.

<!-- omit in toc -->
### Features

* Install single mod or collection
* Required mods installed automatically
* Concurrent installations to optimize speed
* Multiple sources to install mods from
* Uninstall multiple mods at once
* Update all mods at once
* List all installed mods
* Supports multiplatform

<!-- omit in toc -->
## Table of Contents

* [Getting Started](#getting-started)
  * [Prerequisites](#prerequisites)
  * [Installation](#installation)
* [Usage](#usage)
  * [Commands](#commands)
* [FAQ](#faq)
* [License](#license)

## Getting Started

### Prerequisites

* Install  [Node.js](https://nodejs.org/en/download/ "NodeJS download page") if you haven't already.
* Delete any mods installed previously.
* Backup your game's saves directory.

### Installation
<!-- installation -->
`csmm-cli` is distributed on npm. In order to install it globally, run the following command:

```bash
$ npm install -g csmm-cli
```

## Usage

When you run the CLI for the first time it will ask you a few configuration questions.

* *`Max Concurrent Tasks`*: Maximum no. of simultaneous downloads or fetching.

* *`Saves Directory`*: Your Cities: Skylines [user path](https://skylines.paradoxwikis.com/User_path).
* *`Temporary Downloads Folder`*: Folder to store temporary downloads.

If the pre-filled details are correct, just press enter (or return) otherwise you can fill in your own custom details.

### Commands
<!-- commands -->
* [`install`](#csmm-install-steamid)
* [`uninstall`](#csmm-uninstall)
* [`update`](#csmm-update)
* [`list`](#csmm-list)
* [`config`](#csmm-config)
* [`help`](#csmm-help-command)

<!-- omit in toc -->
## `csmm install <steamId>`

Install a single mod, complete collection or part of collection along with all of their dependencies.

```
USAGE
  $ csmm install <steamId> [options]

ARGUMENTS
  steamId                     steamId of item/collection

OPTIONS
  -e, --edit                  To edit items of a collection before install.
  -m, --method={STEAM|SMODS}  To set download source [default: STEAM] .
```

Use id in steam workshop's URL for `<steamId>`.

<!-- omit in toc -->
## `csmm uninstall [<steamId>]`

Uninstall a single item or choose from an interactive list.

```
USAGE
  $ csmm uninstall [<steamId>]

ARGUMENTS
  steamId (Optional)           steamId of installed item
```

Use the command with `<steamId>` to uninstall a single mod. Executing command without `<steamId>` will provide an interactive list to uninstall multiple items at once.

<!-- omit in toc -->
## `csmm update`

Updates all outdated mods at once, and also installs missing dependencies if any.

```
USAGE
  $ csmm update
```

<!-- omit in toc -->
## `csmm list`

Lists all installed mods.

```
USAGE
  $ csmm list
```

<!-- omit in toc -->
## `csmm config`

Re-run configuration setup, to modify :

* *`Max Concurrent Tasks`*
* *`Saves Directory`*
* *`Temporary Downloads Folder`*

```
$ csmm config
```

All previously saved configuration values will be preserved.

<!-- omit in toc -->
## `csmm help [command]`

Display help for `csmm-cli` commands.

```
USAGE
  $ csmm help [command] [options]

ARGUMENTS
  command (optional)            command to show help for

OPTIONS
  --all                         see all commands in CLI
```


<!-- commandsstop -->

## FAQ

* **Is there a detailed guide on how to use this?**
  * Yes, [here](guide/detailed.md)
* **I am having a lot of `BAD FILE` failures while installing mods.**
  * The **`BAD FILE`** error usually happens because the downloaded file is corrupt or empty. This can be fixed by changing the method of installation to `SMODS`. Go through the [guide](guide/detailed.md) on how to do it.
* **Some of the items keep failing repeatedly with `[!]` symbol, and the script doesn't end.**
  * This is a known bug, which will be fixed later. For now, if the script seems to be stuck in a loop, giving `[!]` symbol for the same item repeatedly, use `ctrl + c` to terminate the script.
* **Which terminal are you using?**
  * I'm using [Hyper](https://hyper.is/), with zsh.

## License

* **[MIT license](./LICENSE)**
* Copyright 2020 © Kumar-Saksham.

---
_Source: https://npm.io/package/csmm-cli · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
