---
title: "Installation"
description: "Add forges to your project."
canonical_url: "https://docs-8831a2g1f-poetry.vercel.app/getting-started/installation"
---
# Installation

> Add forges to your project.

Install the package from npm:

<code-group>

```sh [pnpm]
pnpm add forges
```

```sh [npm]
npm install forges
```

```sh [yarn]
yarn add forges
```

```sh [bun]
bun add forges
```

</code-group>

`forges` requires Node.js 22.18 or later. The package is ESM only and ships its own types. It has no runtime dependencies and uses the global `fetch`. To use another implementation, pass a `fetch` option to a provider.

## Import paths

The root entry exports every provider and the shared helpers:

```ts
import { createForges, github } from 'forges'
```

Each provider also has its own subpath. A bundle that imports one subpath contains one forge:

```ts
import { github } from 'forges/github'
```

<table>
<thead>
  <tr>
    <th>
      Subpath
    </th>
    
    <th>
      Contents
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      <code>
        forges/github
      </code>
      
      , <code>
        forges/gitlab
      </code>
      
       and so on
    </td>
    
    <td>
      One provider. See <a href="https://docs-8831a2g1f-poetry.vercel.app/providers">
        Providers
      </a>
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        forges/env
      </code>
    </td>
    
    <td>
      <a href="https://docs-8831a2g1f-poetry.vercel.app/guides/environment">
        Configure providers from the environment
      </a>
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        forges/fake
      </code>
    </td>
    
    <td>
      An in-memory forge for <a href="https://docs-8831a2g1f-poetry.vercel.app/guides/testing">
        tests
      </a>
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        forges/testing
      </code>
    </td>
    
    <td>
      Fixture replay and webhook signing for <a href="https://docs-8831a2g1f-poetry.vercel.app/guides/testing">
        tests
      </a>
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        forges/schema
      </code>
    </td>
    
    <td>
      <a href="https://docs-8831a2g1f-poetry.vercel.app/reference/json-schemas">
        JSON Schemas
      </a>
      
       for the model types
    </td>
  </tr>
</tbody>
</table>

## Browsers

Every provider except pushin.eu has a Lite factory, such as `githubLite()`, that leaves out webhook code. Use it in browser code. Read [Browser bundles](https://docs-8831a2g1f-poetry.vercel.app/guides/bundling) for sizes and details.


## Sitemap

See the full [sitemap](https://docs-8831a2g1f-poetry.vercel.app/sitemap.md) for all pages.
