---
title: Crafting your repository
description: Design and build your Turborepo.
---

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

Architecting a monorepo is a careful process. Through these guides, you'll learn how to design and build a monorepo that will make every team faster - no matter the size.

The guides in this section will take you through building a multi-package workspace, commonly referred to as a monorepo. They are meant to be read in order as they build on top of the knowledge from previous guides, but you can read them in any order or skip to the pages specific to your use case.

By the time you've read through all of this section, you should have a good understanding of how to design and build a monorepo with Turborepo.

<Callout type="info">
  Turborepo can also be used to speed up single-package workspaces. Visit the
  [single-package workspace](/docs/guides/single-package-workspaces) section for
  more information.
</Callout>

## From zero to `turbo`

<Cards>
    <Card
        href="/docs/crafting-your-repository/structuring-a-repository"
        title="1. Structuring a repository"
        description="Design the directory structure of your monorepo."
    />

    <Card
        href="/docs/crafting-your-repository/managing-dependencies"
        title="2. Managing dependencies"
        description="Using dependencies for sharing code"
    />

    <Card
        href="/docs/crafting-your-repository/creating-an-internal-package"
        title="3. Creating an internal package"
        description="Make a package in your repository"
    />

    <Card
        href="/docs/crafting-your-repository/configuring-tasks"
        title="4. Configuring tasks"
        description="Design your task patterns"
    />

    <Card
        href="/docs/crafting-your-repository/running-tasks"
        title="5. Running tasks"
        description="Run tasks as fast as possible"
    />

    <Card
        href="/docs/crafting-your-repository/caching"
        title="6. Caching"
        description="Never do the same work twice"
    />

    <Card
        href="/docs/crafting-your-repository/developing-applications"
        title="7. Developing apps"
        description="Run many apps in parallel"
    />

    <Card
        href="/docs/crafting-your-repository/using-environment-variables"
        title="8. Using environment variables"
        description="Account for variables in your environment"
    />

    <Card
        href="/docs/crafting-your-repository/constructing-ci"
        title="9. Constructing CI"
        description="Ship your applications"
    />

    <Card
        href="/docs/crafting-your-repository/upgrading"
        title="10. Upgrading"
        description="Upgrading your Turborepo version"
    />
    <Card
        href="/docs/crafting-your-repository/understanding-your-repository"
        title="11. Understanding your repository"
        description="Understanding your codebase with Turborepo"
    />

</Cards>

## More guides

We also have more guides centered around [specific tools, use cases, and other topics](/docs/guides).
