# Chameleon > Documentation for the Chameleon Discord API framework. ## Docs - [Architecture](https://chameleon.voidlogger.xyz/core-concepts/architecture.md): Understand the design choices behind the framework: POJOs, flat stores, typed events, and memory-aware data handling. - [Events and middleware](https://chameleon.voidlogger.xyz/core-concepts/events-and-middleware.md): Use discriminated union events and the middleware pipeline to shape bot behavior early. - [REST result shape](https://chameleon.voidlogger.xyz/core-concepts/rest-result-shape.md): Understand the explicit success and failure model used across managers and the standalone REST client. - [Store and cache](https://chameleon.voidlogger.xyz/core-concepts/store-and-cache.md): How caching works, what data is stored, and how Chameleon balances memory and convenience. - [Typing and intents](https://chameleon.voidlogger.xyz/core-concepts/typing-and-intents.md): How commands, modal fields, and event payloads use TypeScript, and where intent-aware typing is already strong or still aspirational. - [Client setup](https://chameleon.voidlogger.xyz/getting-started/client-setup.md): Understand the client constructor, sharding options, cache tuning, and the runtime surfaces attached to the client. - [Installation](https://chameleon.voidlogger.xyz/getting-started/installation.md): Install Chameleon, understand the package format, and prepare a TypeScript project for development. - [Migrating from discord.js](https://chameleon.voidlogger.xyz/getting-started/migrating-from-discordjs.md): Translate the mental model of a discord.js bot into Chameleon without fighting the framework. - [Overview](https://chameleon.voidlogger.xyz/getting-started/overview.md): What Chameleon is, what it optimizes for, and where it differs from more class-heavy Discord frameworks. - [Quickstart](https://chameleon.voidlogger.xyz/getting-started/quickstart.md): Create a client, subscribe to typed gateway events, and log in with the smallest useful setup. - [Collectors and files](https://chameleon.voidlogger.xyz/guides/collectors-and-files.md): Wait for messages or component interactions, and send files from disk or memory. - [Commands and components](https://chameleon.voidlogger.xyz/guides/commands-and-components.md): Register slash commands, classic message components, and interaction handlers using the framework’s recommended public APIs. - [Components V2 and modals](https://chameleon.voidlogger.xyz/guides/components-v2-and-modals.md): Build V2 layouts and typed modal flows with the newer fluent helpers. - [Debugging and sharding](https://chameleon.voidlogger.xyz/guides/debugging-and-sharding.md): Use debug logging, understand current sharding support, and know where observability is already useful. - [Guilds, members, and roles](https://chameleon.voidlogger.xyz/guides/guilds-members-and-roles.md): Work with guild-level data, moderation actions, nested role and member managers, and audit-log-aware write operations. - [Message and channel managers](https://chameleon.voidlogger.xyz/guides/message-and-channel-managers.md): Use the most common runtime managers for sending messages, editing channels, threads, reactions, files, and Components V2 payloads. - [Patterns and pitfalls](https://chameleon.voidlogger.xyz/guides/patterns-and-pitfalls.md): The habits that fit Chameleon well, and the assumptions that tend to cause friction when coming from other Discord frameworks. - [REST and managers](https://chameleon.voidlogger.xyz/guides/rest-and-managers.md): Understand the manager model, the shared REST result shape, and when to reach for a manager versus raw REST. - [Slash commands](https://chameleon.voidlogger.xyz/guides/slash-commands.md): Define commands, option schemas, and subcommands with typed contexts. - [Store tuning](https://chameleon.voidlogger.xyz/guides/store-tuning.md): Adjust cache sizes and understand what the store is optimized for. - [Webhooks, invites, and application flows](https://chameleon.voidlogger.xyz/guides/webhooks-invites-and-application-flows.md): Use the less day-to-day managers for incoming content delivery, invite handling, and application metadata endpoints. - [Chameleon](https://chameleon.voidlogger.xyz/index.md): A type-safe Discord API framework built around memory efficiency, flat caches, typed events, and low-boilerplate builders. - [API reference](https://chameleon.voidlogger.xyz/reference/api-reference.md): How to use this Mintlify reference alongside the generated TypeDoc when you need exact signatures. - [Client and runtime API](https://chameleon.voidlogger.xyz/reference/client-and-runtime-api.md): The top-level runtime objects you instantiate, configure, and use across the whole framework. - [Commands, components, and modals API](https://chameleon.voidlogger.xyz/reference/commands-components-and-modals-api.md): A practical reference for the interactive surfaces: slash commands, classic components, Components V2, and typed modals. - [Current limitations](https://chameleon.voidlogger.xyz/reference/current-limitations.md): Known rough edges and design areas that are still evolving. - [Managers API](https://chameleon.voidlogger.xyz/reference/managers-api.md): A grouped map of the manager surface, including which managers cache entities, which are guild-scoped, and which are mostly transport wrappers. - [Public surface](https://chameleon.voidlogger.xyz/reference/public-surface.md): A practical map of the framework’s exported surface, organized by the job you are trying to do. - [Roadmap and design](https://chameleon.voidlogger.xyz/reference/roadmap-and-design.md): How the current documentation maps to the project roadmap and design goals.