Skip to content


Add CLI basics in docs
Browse files Browse the repository at this point in the history
Adding documentation for the CLI for 2 reasons:

1.  It's not immediately clear to most how the CLI is part of `react-native` and not the node module they installed.  This begins clarifying.
2. I plan on adding some additional documentation to this section pending an upcoming PR I've discussed with Mike.

screen shot provided:
Closes #11097

Differential Revision: D4237028

Pulled By: mkonicek

fbshipit-source-id: c1dc50fe1be7f6947a33ee6472b5862306888055
  • Loading branch information
GantMan authored and Facebook Github Bot committed Nov 28, 2016
1 parent f2684e3 commit 5e8e6b8
Show file tree
Hide file tree
Showing 3 changed files with 40 additions and 2 deletions.
2 changes: 1 addition & 1 deletion docs/
Expand Up @@ -4,7 +4,7 @@ title: Performance
layout: docs
category: Guides
permalink: docs/performance.html
next: upgrading
next: understanding-cli
previous: navigation

Expand Down
38 changes: 38 additions & 0 deletions docs/
@@ -0,0 +1,38 @@
id: understanding-cli
title: Understanding the CLI
layout: docs
category: Guides
permalink: docs/understanding-cli.html
next: upgrading
previous: performance

Though you may have installed the `react-native-cli` via npm as a separate module, it is a shell for accessing the CLI embedded
in the React Native of each project. Your commands and their effects are dependent on the version of the module of `react-native`
in context of the project. This guide will give a brief overview of the CLI in the module.

# The local CLI

React Native has a [`local-cli`]( folder with a file named
[`cliEntry.js`]( Here, the commands are read
from `commands.js` and added as possible CLI commands. _E.G._ the `react-native link` command, exists in the
[`react-native/local-cli/link`]( folder, and is
required in `commands.js`, which will register it as a documented command to be exposed to the CLI.

# Command definitions

At the end of each command entry is an export. The export is an object with a function to perform, description of the command, and the command name. The object structure for the `unlink` command looks like so:

module.exports = {
func: link,
description: 'links all native dependencies',
name: 'link [packageName]',

### Parameters

The command name identifies the parameters that a command would expect. When the command parameter is surrounded by greater-than, less-than symbols `< >`, this indicates that the parameter is expected. When a parameter is surrounded by brackets `[ ]`, this indicates that the parameter is optional.

2 changes: 1 addition & 1 deletion docs/
Expand Up @@ -5,7 +5,7 @@ layout: docs
category: Guides
permalink: docs/upgrading.html
next: platform-specific-code
previous: performance
previous: understanding-cli

Upgrading to new versions of React Native will give you access to more APIs, views, developer tools
Expand Down

0 comments on commit 5e8e6b8

Please sign in to comment.