# Build TEN applications (/en/ai/ten-agent/develop/build-ten-applications)

> For AI agents: see the complete documentation index at [llms.txt](/llms.txt).

The TEN Framework provides language-specific build systems to compile applications and addons including extensions, extension groups, and protocols. TEN uses build processes that vary by language but follow consistent patterns for each platform and architecture combination. This guide covers how to build TEN projects using the appropriate build tools for each supported language.

## C++ [#c]

The TEN Framework uses `ten_gn`, a build system based on Google's GN, to compile C++ applications and extensions.

### Build parameters [#build-parameters]

When building C++ projects, specify the following parameters:

* **Platform**: `linux`, `mac`, `win`
* **Architecture**: `x86`, `x64`, `arm`, `arm64`
* **Build type**: `debug`, `release`

### Build applications [#build-applications]

To build a C++ application, run the following commands in the project root directory:

```bash
ten_gn gen <os> <arch> <build_type>
ten_gn build <os> <arch> <build_type>
```

### Build addons [#build-addons]

You can build C++ addons such as extensions, extension groups, and protocols using the same process as applications:

```bash
ten_gn gen <os> <arch> <build_type>
ten_gn build <os> <arch> <build_type>
```

## Go [#go]

The TEN Framework uses standard Go commands with TEN-specific build scripts for Go projects.

### Build applications [#build-applications-1]

To build a Go application, run this command in the project root directory:

```bash
go run ten_packages/system/ten_runtime_go/tools/build/main.go
```
