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

# Introduction

> What Pult is, and the handful of ideas everything else builds on.

Pult is the other side of your app. Every product has work that needs a person: reports to review, crashes to chase, customers to answer, accounts to fix. Pult gives your team one fast place to do that work, and you describe all of it in code that lives next to your app.

Nothing in Pult is configured by clicking. You define what exists in TypeScript, `pult build` turns it into a manifest, and the console follows. When someone in your team presses a button, Pult asks your app to do it, and your app decides.

## The pieces

**Inboxes** are where things land. An inbox has a shape (the data your app sends), a look (how an item renders) and a set of states it moves through. Your app sends items in as things happen, and Pult keeps one item per problem however often it repeats.

**Items** are what people work on. Each one has a title, a state, a timeline and whatever your app chose to show. Items can be assigned, tagged, snoozed, merged and closed, and they reopen on their own when the same problem comes back.

**Resources** are the records in your app: users, organizations, orders, repositories. You tell Pult how to fetch, find and show them. Every resource gets its own pages in the console, and any item that mentions a record links to it.

**Actions** are what your team may do. Ban a user, refund an order, purge a cache, send the weekly digest. Each action runs inside your app, with guardrails written next to it: when it applies, whether it needs confirmation, a fresh sign-in or a second person's approval. Some run on a schedule.

**Pages** are dashboards and tools made of blocks: your app's numbers, Pult's live counts, buttons for actions and switches for flags, arranged however you like. Home is one of them.

**Flags** are values your app reads and your team changes: features turned on for some users, kill switches, limits and settings.

**Roles** decide who sees which inboxes, resources and pages, who may run which actions and who may change which flags. People and agents both work through roles.

**Views, triage and notifications** shape the day to day: saved filters, rules that act on items automatically once they've proven themselves, and who gets told about what.

Everything is made of the same few pieces, so they combine freely. A button for any action, a flag's switch or a live count can sit on a page, a record or an item.

## How it fits together

```
your app ──send──▶ Pult ──▶ console ──▶ your team
your app ◀─action─ Pult ◀── console ◀── your team
```

Your app talks to Pult with the `pult` package. It sends items in over HTTPS and listens for requests from Pult over a WebSocket it opens itself, so your app needs no public endpoint. Everything in both directions is signed with your environment's key.

Each project has environments, listed in your config from development to production. One of them follows your code as you work; the others change only when you deploy to them.

## Where to go next

* [Quickstart](/start/quickstart) gets a first inbox working end to end.
* [Resources](/build/resources) and [Actions](/build/actions) cover the part your team will use most.
* [Using coding agents](/reference/coding-agents) explains how to hand the setup to an agent.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.