# 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-operator-version: v26.1.4
# EOL = End-of-Life (support lifecycle status)
page-is-nearing-eol: "false"
page-is-past-eol: "true"
page-eol-date: July 31, 2025
latest-console-tag: v3.7.3
latest-connect-version: 4.93.0
docname: rpk/rpk-generate/rpk-generate-app
page-component-name: streaming
page-version: "24.2"
page-component-version: "24.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/v/24.2/modules/reference/pages/rpk/rpk-generate/rpk-generate-app.adoc
page-git-created-date: "2023-08-04"
page-git-modified-date: "2024-11-20"
support-status: past end-of-life
---

<!-- Source: https://docs.redpanda.com/streaming/24.2/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 runs interactively, prompting you to select a language and a user with which to create your application. To use this without interactivity, specify how you want your application to be created using flags.

The `--language` flag lets you specify the language. There is no default.

The `--new-sasl—​user` flag lets you generate a new SASL user with admin ACLs. If you don’t want to use your current profile user or don’t want to create a new one, you can use the `--no-user` flag to generate the starter app without the user.

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

## [](#examples)Examples

-   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-user <user>:<password>
    ```

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

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


## [](#usage)Usage

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

## [](#flags)Flags

| Value | Type | Description |
| --- | --- | --- |
| -h, --help | - | Help for app. |
| -l, --language | string | The language you want the code sample to be generated with. |
| --new-sasl-credentials | string | If provided, rpk will generate and use these credentials (<user>:<password>). |
| --no-user | - | Generates the sample app without SASL user. |
| -o, --output | string | The path where the app will be written. |
| --config | string | Redpanda or rpk config file; default search paths are /var/lib/redpanda/.config/rpk/rpk.yaml, $PWD/redpanda.yaml, and /etc/redpanda/redpanda.yaml. |
| -X, --config-opt | stringArray | Override rpk configuration settings. See rpk -X or execute rpk -X help for inline detail or rpk -X list for terser detail. |
| --profile | string | Profile to use. See rpk profile for more details. |
| -v, --verbose | - | Enable verbose logging. |