# rpk generate app

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

---
title: rpk generate app
latest-operator-version: v26.1.4
latest-console-tag: v3.7.3
latest-connect-version: 4.93.0
latest-redpanda-tag: v26.1.9
docname: rpk/rpk-generate/rpk-generate-app
page-component-name: cloud-data-platform
page-version: master
page-component-version: master
page-component-title: Cloud
page-relative-src-path: rpk/rpk-generate/rpk-generate-app.adoc
page-edit-url: https://github.com/redpanda-data/cloud-docs/edit/main/modules/reference/pages/rpk/rpk-generate/rpk-generate-app.adoc
page-git-created-date: "2024-07-25"
page-git-modified-date: "2026-05-26"
---

<!-- Source: https://docs.redpanda.com/cloud-data-platform/reference/rpk/rpk-generate/rpk-generate-app.md -->

> 📝 **NOTE**
>
> This command is only supported in Serverless clusters.

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. Available language: `go`.

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.

## [](#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. Available language: go. |
| --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. |