# rpk generate app

> For the complete documentation index, see [llms.txt](https://docs.redpanda.com/llms.txt). Component-specific: [streaming-full.txt](https://docs.redpanda.com/streaming-full.txt)

---
title: rpk generate app
latest-redpanda-tag: v26.2.1
latest-console-tag: v3.9.0
latest-operator-version: v26.2.1
# EOL = End-of-Life (support lifecycle status)
page-is-nearing-eol: "false"
page-is-past-eol: "false"
page-eol-date: July 28, 2027
latest-connect-version: 4.104.0
docname: rpk/rpk-generate/rpk-generate-app
page-component-name: streaming
page-version: "26.2"
page-component-version: "26.2"
page-component-title: Streaming
page-relative-src-path: rpk/rpk-generate/rpk-generate-app.adoc
page-edit-url: https://github.com/redpanda-data/docs/edit/main/modules/reference/pages/rpk/rpk-generate/rpk-generate-app.adoc
description: Generate a sample application to connect with Redpanda. This command generates a starter application to produce and consume from the settings defined in the rpk profile.
page-git-created-date: "2023-08-04"
page-git-modified-date: "2026-08-03"
support-status: supported
---

<!-- Source: https://docs.redpanda.com/streaming/current/reference/rpk/rpk-generate/rpk-generate-app.md -->

Generate a sample application to connect with Redpanda.

This command generates a starter application to produce and consume from the settings defined in the rpk profile. Its goal is to get you producing and consuming quickly with Redpanda in a language that is familiar to you.

By default, this will run interactively, prompting you to select a language and a user with which to create your application. To use this without interactivity, specify how you would like your application to be created using flags.

The `--language` option allows you to specify the language. The default is `go`. Available language: `go`.

The `--new-sasl-credentials` <user>:<password> allows you to generate a new SASL user with admin ACLs. If you don’t want to use your current profile user nor create a new one, you may use `--no-user` flag to generate the starter app without the user.

If you are having trouble connecting to your cluster, you can use `-X` admin.hosts=comma,`delimited`,host:ports to pass a specific admin api address.

If you are having trouble connecting to your cluster, you can use the common [`-X admin.hosts=<host:ports>`](https://docs.redpanda.com/streaming/current/reference/rpk/rpk-x-options/#adminhosts) flag to pass a specific Admin API address.

## [](#usage)Usage

```bash
rpk generate app [flags]
```

## [](#examples)Examples

This section provides examples of how to use `rpk generate app`.

Generate an app with interactive prompts:

```bash
rpk generate app
```

Generate an app in a specified language with the existing SASL user:

```bash
rpk generate app --language <lang>
```

Generate an app in the specified language with a new SASL user:

```bash
rpk generate app -l <lang> --new-sasl-credentials <user>:<password>
```

Generate an app in the `tmp` dir, but take no action on the user:

```bash
rpk generate app -l <lang> --no-user --output /tmp
```

## [](#flags)Flags

| Value | Type | Description |
| --- | --- | --- |
| -l, --language | string | The language for the generated code sample (go, python, java, js, rust). |
| --new-sasl-credentials | string | If provided, rpk will generate and use these credentials (<user>:<password>). |
| --no-user | bool | Generates the sample app without SASL user. |
| -o, --output | string | The path where the app will be written. |

## [](#global-flags)Global flags

| Value | Type | Description |
| --- | --- | --- |
| --config | string | Redpanda or rpk config file; default search paths are ~/.config/rpk/rpk.yaml, $PWD/redpanda.yaml, and /etc/redpanda/redpanda.yaml. |
| -X, --config-opt | stringArray | Override rpk configuration settings; -X help for detail or -X list for terser detail. |
| --ignore-profile | bool | Ignore rpk.yaml and redpanda.yaml; use default settings. |
| --profile | string | rpk profile to use. |
| -v, --verbose | bool | Enable verbose logging. |