> ## Documentation Index
> Fetch the complete documentation index at: https://villagesql-adam-docs-update-to-c841e1caaff.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Welcome to the VillageSQL Docs

> VillageSQL developer documentation: install the MySQL drop-in replacement, build extensions with VEF, and create custom types and functions.

## What is VillageSQL Server?

VillageSQL is the innovation platform for MySQL and a new path for MySQL in the agentic AI era. VillageSQL Server for MySQL is an open-source, drop-in replacement, and extensible tracking fork of MySQL. It introduces a robust extension framework that supports custom data types and custom functions (with custom indexes coming soon). VillageSQL's mission is to empower the MySQL community by enabling permissionless innovation.

## Getting Started

<Columns cols={2}>
  <Card title="Quickstart" icon="rocket" href="/mysql-8.4/0.0.4/quickstart">
    Install VillageSQL and get your first database running.
  </Card>

  <Card title="VillageSQL on GitHub" icon="github" href="https://github.com/villagesql/villagesql-server">
    View the source code and contribute to the project.
  </Card>
</Columns>

## Extensions for MySQL

VillageSQL is a drop-in replacement for MySQL but adds on the ability to load extensions that modify the server's behavior. Extensions support:

* **Custom Data Types:** Extensions can define new types (e.g., `UUID`, `COMPLEX`, `INET6`) that behave like native types.
* **Custom Functions:** Add high-performance functions in C++ or Rust, callable from SQL.
* **Seamless Integration:** Extensions are managed via simple SQL commands (`INSTALL EXTENSION`, `UNINSTALL EXTENSION`).

### Built-in Extensions

VillageSQL Server 0.0.4 includes two built-in extensions when building from source:

* **`vsql_complex`**: adds support for complex number data type
* **`vsql_simple`**: demonstrates building custom types and functions

Additional extensions are available in separate repositories. See the [extensions list](/extensions).

### Build an Extension

Start with the [extension template](https://github.com/villagesql/vsql-extension-template) and follow the [C++ guide](/guides/cpp-extensions) or [Rust guide](/guides/rust-extensions). For a guided, AI-assisted workflow, try the [Extension Builder](https://villagesql.com/agent-skills).

## Why VillageSQL?

<CardGroup cols={2}>
  <Card title="Drop-in Compatibility" icon="check-double">
    Fully compatible with the MySQL protocol, clients, and drivers. If it works with MySQL, it works with VillageSQL.
  </Card>

  <Card title="Extensible Core" icon="puzzle-piece">
    Dynamically load new features via extensions using `INSTALL EXTENSION`.
  </Card>

  <Card title="Open Ecosystem" icon="users">
    Community-driven development with a focus on enabling innovation through extensions.
  </Card>

  <Card title="Familiar Tooling" icon="wrench">
    Use standard MySQL tools (`mysqld`, `mysql` client) and configurations.
  </Card>
</CardGroup>

## Community

Follow the latest news and join the conversation.

<Columns cols={2}>
  <Card title="Latest News" icon="newspaper" href="https://villagesql.com/blog">
    Catch up with the latest news on the blog.
  </Card>

  <Card title="Discord" icon="discord" href="https://discord.gg/KSr6whd3Fr">
    Chat with the community on Discord.
  </Card>

  <Card title="Issues" icon="bug" href="https://github.com/villagesql/villagesql-server/issues">
    Report bugs or request new features.
  </Card>

  <Card title="Discussions" icon="comments" href="https://github.com/villagesql/villagesql-server/discussions">
    Join the discussion on GitHub Discussions.
  </Card>
</Columns>
