---
title: "Introduction"
description: "What forges is, and what you can build with it."
canonical_url: "https://docs-oquac2tli-poetry.vercel.app/getting-started/introduction"
---
# Introduction

> What forges is, and what you can build with it.

`forges` is a TypeScript library for working with issues, pull requests, notifications, checks and webhooks on ten code forges. Each provider normalises the forge's responses into one data model and declares which operations it supports.

You write code against the model. The provider takes care of endpoints, pagination, authentication and rate limits.

## Supported forges

`forges` supports GitHub, GitLab, Bitbucket Cloud, Forgejo, Gitea, Gitee, Azure DevOps, Cursor Origin, Tangled and pushin.eu. Each one has a [provider page](https://docs-oquac2tli-poetry.vercel.app/providers) with its authentication options and the behaviour specific to that forge.

## What you can build

- A notification inbox that merges notifications from GitHub, GitLab and Forgejo.
- A bot that labels new issues and closes threads from a comment command.
- A release digest across repositories on different forges.
- A webhook receiver that turns deliveries from any forge into one event type.
- Tests that run against an in-memory forge, with no network.

The [examples](https://docs-oquac2tli-poetry.vercel.app/examples) are small, tested projects for the first three.

## How it works

1. A provider function such as `github()` returns a factory. No request goes out yet.
2. `create()` builds the provider. `createForges()` does this for a list of factories.
3. The provider exposes namespaces such as `threads`, `notifications`, `checks` and `webhooks`.
4. Each operation has a capability entry. `provider.can()` reads it, so you can check support before you call an operation that a forge might lack.

## Next steps

<card-group>
<card icon="i-lucide-download" title="Installation" to="https://docs-oquac2tli-poetry.vercel.app/getting-started/installation">

Add the package and pick an import path.

</card>

<card icon="i-lucide-terminal" title="Quick start" to="https://docs-oquac2tli-poetry.vercel.app/getting-started/quick-start">

Read an issue, write a comment and add a second forge.

</card>

<card icon="i-lucide-shapes" title="Data model" to="https://docs-oquac2tli-poetry.vercel.app/concepts/data-model">

Learn how refs, threads and events fit together.

</card>

<card icon="i-lucide-server" title="Providers" to="https://docs-oquac2tli-poetry.vercel.app/providers">

Find the authentication options for your forge.

</card>
</card-group>


## Sitemap

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