> ## Documentation Index
> Fetch the complete documentation index at: https://docs.patchwork.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Quickstart

> Start a patchwork-based project

## Setup your development environment

<Steps>
  <Step title="Install Foundry">
    Foundry is a smart contract development toolchain. You can install it by following the instructions at [Foundry's installation guide](https://book.getfoundry.sh/getting-started/installation).
  </Step>

  <Step title="Initialize Forge">
    In the root of a new empty project folder, run:

    ```shell theme={null}
    forge init
    ```
  </Step>

  <Step title="Install Patchwork Contracts Library">
    ```shell theme={null}
    forge install runic-inc/patchwork
    ```
  </Step>

  <Step title="Install OpenZeppelin Contracts">
    ```shell theme={null}
    forge install openzeppelin/openzeppelin-contracts
    ```
  </Step>

  <Step title="Configure Project Remappings">
    In project root, create the file `remappings.txt`

    ```
    @openzeppelin/=lib/openzeppelin-contracts/
    @patchwork/=lib/patchwork/src/
    forge-std/=lib/forge-std/src/
    lib/=lib/
    ```
  </Step>

  <Step title="Install PDK">
    Option 1 - Local project installation (recommended for npm/js projects)

    ```shell theme={null}
    npm i @patchworkdev/pdk
    ```

    Option 2 - Global binary installation

    ```shell theme={null}
    npm i -g @patchworkdev/pdk
    ```
  </Step>
</Steps>
