---
title: Turborepo API reference
description: Learn about Turborepo's APIs using the reference.
---

import { Card, Cards } from '#components/card';

Turborepo's API reference is broken up into the following sections:

## Configuration

<Cards>
    <Card
        title="Configuring turbo.json"
        href="/docs/reference/configuration"
        description="Configure the behavior of `turbo`."
    />

    <Card
        title="Package Configurations"
        href="/docs/reference/package-configurations"
        description="Create configurations specific to a package."
    />

    <Card
        title="System environment variables"
        href="/docs/reference/system-environment-variables"
        description="Change `turbo`'s behavior using environment variables."
    />

    <Card
        title="File glob specification"
        href="/docs/reference/globs"
        description="Define files for `turbo` to use."
    />

</Cards>

## Commands

<Cards>
    <Card
        title="run"
        href="/docs/reference/run"
        description="Run tasks using `turbo`."
    />

    <Card
        title="watch"
        href="/docs/reference/watch"
        description="Dependency-aware, single-process task watcher."
    />
    <Card
        title="prune"
        href="/docs/reference/prune"
        description="Create partial monorepos for target workspaces."
    />
    <Card
        title="boundaries"
        href="/docs/reference/boundaries"
        description="Enforce best practices in your monorepo."
    />
    <Card
        title="ls"
        href="/docs/reference/ls"
        description="List packages in your monorepo."
    />

    <Card
        title="query"
        href="/docs/reference/query"
        description="Run GraphQL queries against your monorepo."
    />

    <Card
        title="generate"
        href="/docs/reference/generate"
        description="Extend your Turborepo with new apps and packages."
    />

    <Card
        title="login"
        href="/docs/reference/login"
        description="Log in to your Remote Cache provider."
    />

    <Card
        title="logout"
        href="/docs/reference/logout"
        description="Log out of your Remote Cache provider."
    />

    <Card
        title="link"
        href="/docs/reference/link"
        description="Link your repository to Remote Cache."
    />

    <Card
        title="unlink"
        href="/docs/reference/unlink"
        description="Disconnect your repository from Remote Cache."
    />

    <Card
        title="scan"
        href="/docs/reference/scan"
        description="Enable the fastest defaults for your Turborepo."
    />

    <Card
        title="bin"
        href="/docs/reference/bin"
        description="Get the path to the `turbo` binary."
    />

    <Card
        title="telemetry"
        href="/docs/reference/telemetry"
        description="Manage telemetry for the machine."
    />

</Cards>

## Packages

<Cards>
    <Card
        title="create-turbo"
        href="/docs/reference/create-turbo"
        description="Get started with Turborepo using an example."
    />

    <Card
        title="eslint-config-turbo"
        href="/docs/reference/eslint-config-turbo"
        description="Find environment variables not listed in `turbo.json`."
    />

    <Card
        title="turbo-ignore"
        href="/docs/reference/turbo-ignore"
        description="Skip work using `turbo-ignore`."
    />

    <Card
        title="@turbo/gen"
        href="/docs/reference/turbo-gen"
        description="Type definitions for Turborepo generators."
    />

</Cards>

## Flag syntax

Options that require a value can be passed with an equals sign, using quotes when spaces are needed.

```bash title="Terminal"
--opt=value
--opt="value with a space"
--opt value
--opt "value with a space"
```

## Global flags

### `--color`

Forces the use of color, even in non-interactive terminals. This is useful for enabling color output in CI environments like GitHub Actions that have support for rendering color.

### `--no-color`

Suppresses color in terminal output, even in interactive terminals.

### `--no-update-notifier`

Disables the update notification. This notification will be automatically disabled when running in CI environments, but can also be disabled manually via this flag.

Alternatively, you can disable the notification using [the `TURBO_NO_UPDATE_NOTIFIER` environment variable](/docs/reference/system-environment-variables).
