---
title: Introduction
description: Loom is a full-stack TypeScript framework for AI agents. An agent is a folder of markdown and TypeScript; Loom supplies the rest.
---

:::note
Loom is in early development. APIs may change before 1.0.
:::

Loom is a full-stack framework for building AI agents in TypeScript. You write an agent as a folder: instructions in markdown, tools in TypeScript. Loom supplies the server, the streaming chat UI, thread storage, and data connectors. It runs on any model and deploys anywhere Node runs.

```
agents/support/
  instructions.md
  agent.ts
  tools/
    lookup-order.ts
```

## What Loom does

- **Conventions over wiring.** Drop files into `agents/`, and each agent gets an HTTP endpoint and a client hook.
- **Any model.** Loom is built on the AI SDK, so every AI SDK provider works, and so does a provider you write yourself.
- **Your data, safely.** Connectors such as Supabase expose your tables to an agent as tools: read-only and allowlisted by default.
- **The UI ships too.** A `useAgent` hook and a chat interface you copy into your project and style however you like.

## What Loom leaves out

Loom stays small on purpose. Retrieval, embeddings, evals, and workflow engines are not part of the core. Build them on top with the AI SDK directly; Loom will not get in the way.

## Next steps

- [Quickstart](/docs/quickstart): create your first agent.
- [Agents](/docs/agents): the folder convention in detail.
- [Models](/docs/models): bring any provider.
