Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 1,000,000+ packages pre-installed, including csmm-cli with all npm packages installed. Try it out:

var csmmCli = require("csmm-cli")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

csmm-cli v0.6.1

A mod manager for Cities: Skylines


Mod manager for Cities: Skylines.

Version Downloads License

## 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, 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.

### 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
## Table of Contents

Getting Started


  • Install Node.js if you haven't already.
  • Delete any mods installed previously.
  • Backup your game's saves directory.


`csmm-cli` is distributed on npm. In order to install it globally, run the following command:
$ npm install -g csmm-cli


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.

  • 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.


* [`install`](#csmm-install-steamid) * [`uninstall`](#csmm-uninstall) * [`update`](#csmm-update) * [`list`](#csmm-list) * [`config`](#csmm-config) * [`help`](#csmm-help-command) ## `csmm install `

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

  $ csmm install <steamId> [options]

  steamId                     steamId of item/collection

  -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>.

## `csmm uninstall []`

Uninstall a single item or choose from an interactive list.

  $ csmm uninstall [<steamId>]

  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.

## `csmm update`

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

  $ csmm update
## `csmm list`

Lists all installed mods.

  $ csmm list
## `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.

## `csmm help [command]`

Display help for csmm-cli commands.

  $ csmm help [command] [options]

  command (optional)            command to show help for

  --all                         see all commands in CLI


  • Is there a detailed guide on how to use this?
  • 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 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, with zsh.


RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free