# Quable CLI for Partners

## Overview

In addition to the general-purpose Quable CLI, partners building apps for the **Quable Partner Portal** have access to dedicated commands.  
These commands make it easier to **create, configure, and run Quable Apps** during development.

This page focuses exclusively on partner-only commands:

- `quable app create`  
- `quable app dev`  

For installation and general CLI usage (login, tunnel, config, etc.), see the [Quable CLI guide](../cli).

---

## `quable app create`

Create a new Quable App project from a template.  

```bash
quable app create <app-name>
```

### Description
- Bootstraps a new app project structure  
- Generates configuration files needed to connect the app to the Quable Partner Portal  
- Can include sample code depending on the chosen template  

### Example

```bash
quable app create my-first-app
```

This command will generate a local folder `my-first-app/` with the default app structure.

---

## `quable app dev`

Start the app in **development mode** and connect it to Quable via a secure tunnel.  

```bash
quable app dev
```

### Description
- Runs the app locally on your machine  
- Creates a secure tunnel so Quable can reach your app  
- Enables hot reloading (depending on your framework)  
- Useful for testing callbacks, events, and UI integration with the Partner Portal  

### Options
| Option | Description |
|--------|-------------|
| `--port <number>` | Specify the local port to use (default: 3000 or 4000 depending on setup) |
| `--provider <name>` | Override the default tunnel provider (e.g., serveo, ngrok, cloudflare) |

### Example

```bash
quable app dev --port 4000 --provider serveo
```

This will expose your app running on `http://localhost:4000` to a secure public URL, allowing Quable to interact with it.

---

## Best Practices for Partner Apps

- Always use `quable app dev` when testing integrations with Quable.  
- Keep sensitive configuration (tokens, secrets) in environment variables, not in your code.  
- Use `.gitignore` to avoid committing generated config files with secrets.  
- Validate your app with production-like data before submitting to the Partner Portal.  

---

## Next Steps

- [Quable CLI (general usage)](../cli)  
- [Partner Portal Documentation](../partner-portal)  
- [Submit your app](../partner-portal/publishing)  
