# Enable

The enable command is used to enable features in a Vela project. It can be used to enable authentication, API access, S3 storage, SMTP email sending, teams, payments and more. You'll be prompted for configuration options for each feature and the command will generate the necessary code.

### Syntax

```
$ vela enable <feature>
```

Features have dependencies on each other — enabling API keys, for example, needs both auth and the API first. Each page lists what it depends on. Anything enabled can be turned back off with [`vela disable`](/disable).

### In any SvelteKit project

[`ai`](/enable/ai), [`analytics`](/enable/analytics), [`backend`](/enable/backend), [`cms`](/enable/cms), [`content-negotiation`](/enable/content-negotiation) and [`i18n`](/enable/i18n) work in a project Vela did not create, such as one from `sv create`. They adapt to what the project has: no route groups, no shadcn-svelte, no test harness.

[`auth`](/enable/auth) and [`blog`](/enable/blog) generate shadcn-svelte pages, as does everything that builds on auth: [`api-keys`](/enable/api-keys), [`notifications`](/enable/notifications), [`teams`](/enable/teams), [`payments`](/enable/payments) and [`subscriptions`](/enable/subscriptions). In a project without [shadcn-svelte](/ui) they are refused before anything is changed.