# What's in the box?

The pages in this category will (attempt to) break down some of the code powering DiscordKit, as well as take a brief look at its general architectural.

Those pages are written with a more experienced developer in mind, and might not be as beginner-friendly as the other pages in this guide. Hence, if you're just looking to build your own Discord bot and don't really care about what's going on in the box, these pages might not be for you.

If you prefer to explore the code on your own, feel free to check out the `bot-support` branch in DiscordKit's GitHub repository below:

{% embed url="<https://github.com/SwiftcordApp/DiscordKit/tree/bot-support>" %}

### A Note on DiscordKit's Bot Support

As you may be able to tell from the fact that all the bot support code lives in its own branch, DiscordKit's bot support is still in its very early stages. It was originally created to serve as a bot library for Swiftcord, a native Discord client for macOS built in SwiftUI. As the project progressed, it became clear that the code for supporting Discord's API (which was all built from scratch due to the lack of maintained Discord libraries for Swift) was becoming a project on its own. The code was moved to its own package and given a name, thus DiscordKit was born!

Since DiscordKit was (and still is as of writing) the only maintained Swift library for interacting with the REST and Gateway APIs, there was demand for bot support in DiscordKit. Eventually, I bit the bullet and decided to embark on the mission to refactor and add bot support to DiscordKit. That leads us to where we are today, with a minimal Swift API you can actually build a Discord bot with!

Linux support, which might be even tougher than bot support, is also coming Soon™!


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://swiftcord.gitbook.io/discordkit-guide/nitty-gritty/whats-in-the-box.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
