Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Docs updates for launch #527

Merged
merged 2 commits into from
May 11, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 19 additions & 9 deletions docs/source/getting-started.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ The Rover CLI is available for Linux, Mac, and Windows.

## Installation Methods

#### Linux and MacOS `curl | sh` installer
### `curl | sh` installer for Linux / MacOS

To install the latest release of Rover:

Expand All @@ -23,7 +23,7 @@ To install a specific version of Rover (note the `v` prefixing the version numbe
curl -sSL https://rover.apollo.dev/nix/v0.0.10 | sh
```

#### Windows PowerShell installer
### Windows PowerShell installer

```bash
iwr 'https://rover.apollo.dev/win/latest' | iex
Expand All @@ -37,23 +37,33 @@ To install a specific version of Rover (note the `v` prefixing the version numbe
iwr 'https://rover.apollo.dev/win/v0.0.10' | iex
```

#### npm installer
### `npm` installer

Rover is distributed on npm for easy integration with your JavaScript projects.

##### `devDependencies` install
#### `devDependencies` install

If you'd like to install `rover` within the `devDependencies` of your JavaScript project, you can run `npm i --save-dev @apollo/rover`. You can then call `rover <parameters>` directly in your `package.json` [scripts](https://docs.npmjs.com/cli/v6/using-npm/scripts), or you can run `npx -p @apollo/rover rover <parameters>` in your project directory to execute commands.
If you'd like to install `rover` within the `devDependencies` of your JavaScript project, you can run the following:

```bash
npm i --save-dev @apollo/rover
```

You can then call `rover <parameters>` directly in your `package.json` [scripts](https://docs.npmjs.com/cli/v6/using-npm/scripts), or you can run `npx -p @apollo/rover rover <parameters>` in your project directory to execute commands.

> _Note: When using `npx`, the `-p @apollo/rover` argument is necessary to specify that the `@apollo/rover` package provides the `rover` command. See [`npx`'s documentation](https://www.npmjs.com/package/npx#description) for more information._

##### Manual download and install
#### Manual download and install

If you'd like to call `rover` from any directory on your machine, you can run `npm i -g @apollo/rover`.
If you'd like to call `rover` from any directory on your machine, you can run the following:

```bash
npm i -g @apollo/rover
```

Note: Unfortunately if you've installed `npm` without a version manager such as `nvm`, you may have trouble with global installs. If you encounter an `EACCES` permission-related error while trying to install globally, DO NOT run the install command with `sudo`. [This support page](https://docs.npmjs.com/resolving-eacces-permissions-errors-when-installing-packages-globally) has information that should help to resolve this issue.
Note: If you've installed `npm` without a version manager such as `nvm`, you might have trouble with global installs. If you encounter an `EACCES` permission-related error while trying to install globally, DO NOT run the install command with `sudo`. [This support page](https://docs.npmjs.com/resolving-eacces-permissions-errors-when-installing-packages-globally) has information that should help to resolve this issue.

#### Without curl
### Without `curl`

You can also [download the binary for your operating system](https://github.com/apollographql/rover/releases) and manually add its location to your `PATH`.

Expand Down
29 changes: 14 additions & 15 deletions docs/source/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,20 @@ import { Button } from '@apollo/space-kit/Button';
import { Link } from 'gatsby';
import { colors } from 'gatsby-theme-apollo-core';

> **Rover is in active, rapid development.** Rover commands are subject to breaking changes without notice. Until the release of version 0.1.0 or higher, we do not yet recommend integrating Rover in critical production systems.
>
> For details, see [Public preview](#public-preview).
**Rover** is a CLI for managing and maintaining data graphs with [Apollo Studio](https://www.apollographql.com/docs/studio/):

**Rover** is a CLI for managing and maintaining data graphs with [Apollo Studio](https://www.apollographql.com/docs/studio/). It helps you safely publish and fetch GraphQL schemas (both [monolithic](./graphs/) and [federated](./subgraphs/)) from the Apollo schema registry.
```shell:title=Examples
# Publish your graph's schema to Apollo
$ rover graph publish my-graph@my-variant --schema ./schema.graphql

Upon full release, Rover will replace the existing [Apollo CLI](https://www.apollographql.com/docs/devtools/cli/) as the primary command-line tool for communicating with Studio.
# Fetch your GraphQL server's schema via introspection
$ rover graph introspect http://localhost:4000/graphql

Rover does _not_ currently provide client-specific features, such as code generation or client checks. For these features, continue using the [Apollo CLI](https://www.apollographql.com/docs/devtools/cli/).
# Compose a federated supergraph schema from multiple subgraphs
$ rover supergraph compose --config ./supergraph.yaml
```

Rover helps you safely publish and fetch GraphQL schemas (both [monolithic](./graphs/) and [federated](./subgraphs/)) from the Apollo schema registry. It is the successor to the Apollo CLI as the primary command-line tool for working with graphs.

<p>
<Button
Expand All @@ -28,17 +33,11 @@ Rover does _not_ currently provide client-specific features, such as code genera
</Button>
</p>

## Public preview

Rover's public preview period is currently active! Throughout this period, the Rover team will release new preview versions of Rover for the public to test out and provide feedback on. We plan to release a new version approximately every 2 weeks, with the possibility of critical bug patches in between. Although we no longer have any planned changes to the command structure, prior to version 0.1.0 we reserve the right to make breaking changes in new releases without notice.

The documentation for Rover includes some commands that are still in development, and therefore can't be used yet. These commands are noted as unreleased. Unless a command is noted as unreleased in progress, you can assume **it should work**. If you experience issues using a command, _please_ [open an issue](https://github.com/apollographql/rover/issues/new/choose) and let us know!

During this period, we will not be accepting any public contributions to code, but [**we welcome feedback or questions**](#feedback)!
> Rover does _not_ currently provide client-specific features, such as code generation or client checks. For these features, continue using the [Apollo CLI](https://www.apollographql.com/docs/devtools/cli/).

### Feedback
## Feedback

We'd love to hear your feedback on Rover if you try it out! To provide feedback, please [open an issue](https://github.com/apollographql/rover/issues/new/choose).
If you have feedback on Rover or you experience issues using a command, _please_ [open an issue](https://github.com/apollographql/rover/issues/new/choose) and let us know!

Here are some topics we're particularly interested in hearing about:

Expand Down
4 changes: 0 additions & 4 deletions docs/source/migration.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,6 @@ The [Apollo CLI](https://www.apollographql.com/docs/devtools/cli/) is Apollo's p

This guide helps you migrate to Rover from the Apollo CLI by highlighting key differences between the tools and providing examples that use Rover to perform common Apollo CLI workflows.

> **Rover is in active, rapid development.** Rover commands are subject to breaking changes without notice. Until the release of version 0.1.0 or higher, we do not yet recommend integrating Rover in critical production systems.
>
> For details, see [Public preview](./#public-preview).

## Prerequisites

We recommend reading [Rover conventions](./conventions) first, because this guide builds off of it.
Expand Down