# Standalone ActivityPub bots in TypeScript > A framework for creating your ActivityPub bots ## Table of Contents ### Concepts - [Bot](/concepts/bot.md): The Bot object is the main component of the library. It is used to register event handlers, and provides the entry point of the bot. Learn how to instantiate a Bot object, customize it for your needs, and expose your bot to the fediverse. - [Instance](/concepts/instance.md): An Instance owns the shared infrastructure and can host multiple bots, each with its own actor identity and event handlers. Learn how to create an instance, host static and dynamic bots on it, and migrate an existing single-bot deployment. - [Session](/concepts/session.md): The Session object is a short-lived object that actively communicates with the fediverse. Learn how to create a session and publish messages to the fediverse. - [Events](/concepts/events.md): BotKit provides a way to handle events that are emitted from the fediverse. Learn how to handle events and what kinds of events are available. - [Message](/concepts/message.md): The Message object represents a message that is published to the fediverse. Learn what things you can do with the Message object. - [Text](/concepts/text.md): The Text object is a mini-language for representing rich text formatting commonly used in the fediverse. Learn how to format your text using the Text object. - [Repository](/concepts/repository.md): A repository is a data access object that provides an abstraction over the underlying data source. This document provides an overview of repositories and how they are used in the framework. ### Deploy - [Storage and message queue](/deploy/store-mq.md): Learn how to configure the key–value store, message queue, and repository that back your BotKit bot, and how to choose backends for production. - [Deno Deploy](/deploy/deno-deploy.md): Deploy your BotKit bot to Deno Deploy, Deno's serverless platform, from a GitHub-connected app backed by a managed Deno KV database. - [Cloudflare Workers](/deploy/cfworkers.md): Deploy your BotKit bot to Cloudflare Workers with Workers KV and Cloudflare Queues, using Fedify's Cloudflare Workers adapter. - [Docker](/deploy/docker.md): Learn how to package your BotKit bot as a Docker container and deploy it to platforms like Fly.io and Railway. - [Self-hosted deployment](/deploy/self-hosting.md): Learn how to deploy your BotKit bot on your own Linux server with Deno or Node.js, systemd, and a Caddy reverse proxy.