# `@lerna/init` > Create a new Lerna repo or upgrade an existing repo to the current version of Lerna Install [lerna](https://www.npmjs.com/package/lerna) for access to the `lerna` CLI. ## Usage ```sh $ lerna init ``` Create a new Lerna repo or upgrade an existing repo to the current version of Lerna. > Lerna assumes the repo has already been initialized with `git init`. When run, this command will: 1. Add `lerna` as a [`devDependency`](https://docs.npmjs.com/files/package.json#devdependencies) in `package.json` if it doesn't already exist. 2. Create a `lerna.json` config file to store the `version` number. Example output on a new git repo: ```sh $ lerna init lerna info version v2.0.0 lerna info Updating package.json lerna info Creating lerna.json lerna success Initialized Lerna files ``` ## Options ### `--independent` ```sh $ lerna init --independent ``` This flag tells Lerna to use independent versioning mode. ### `--exact` ```sh $ lerna init --exact ``` By default, `lerna init` will use a caret range when adding or updating the local version of `lerna`, just like `npm install --save-dev lerna`. To retain the `lerna` 1.x behavior of "exact" comparison, pass this flag. It will configure `lerna.json` to enforce exact match for all subsequent executions. ```json { "command": { "init": { "exact": true } }, "version": "0.0.0" } ```