# create-belt-app

> React Native Expo project starter and generator CLI

Latest version **0.9.0** (published 2026-04-17) · MIT license · 0 weekly downloads

## Install

```sh
npm install create-belt-app
pnpm add create-belt-app
yarn add create-belt-app
bun add create-belt-app
```

Provides the commands `belt`, `create-belt-app`.

## Health

**Score 55/100 (C)** — status: active.

Positive: esm support; no vulnerabilities; high maintenance score.

Warnings: low downloads; no types; pre 1.0.

## Facts

| | |
|---|---|
| Version | 0.9.0 |
| Published | 2026-04-17 |
| First published | 2024-02-02 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | ESM |
| Dependencies | 13 |
| Unpacked size | 606.2 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 138 |
| Author | thoughtbot, Inc. |
| Maintainers | ralphbot |

## Links

- npm: https://www.npmjs.com/package/create-belt-app
- Repository: https://github.com/thoughtbot/belt
- Homepage: https://github.com/thoughtbot/belt#readme
- Issues: https://github.com/thoughtbot/belt/issues
- npm.io page: https://npm.io/package/create-belt-app

## Dependencies (13)

- [eta](https://npm.io/package/eta.md) ^2.1.1
- [ora](https://npm.io/package/ora.md) ^6.3.0
- [chalk](https://npm.io/package/chalk.md) ^5.2.0
- [eslint](https://npm.io/package/eslint.md) ^8.45.0
- [ignore](https://npm.io/package/ignore.md) ^5.3.1
- [lodash](https://npm.io/package/lodash.md) ^4.17.21
- [ts-node](https://npm.io/package/ts-node.md) ^10.9.1
- [fs-extra](https://npm.io/package/fs-extra.md) ^11.1.1
- [prettier](https://npm.io/package/prettier.md) ^3.0.1
- [commander](https://npm.io/package/commander.md) ^10.0.1
- [@expo/config](https://npm.io/package/@expo/config.md) ^8.5.4
- [@inquirer/prompts](https://npm.io/package/@inquirer/prompts.md) ^3.2.0
- [@thoughtbot/eslint-config](https://npm.io/package/@thoughtbot/eslint-config.md) ^1.0.2

## Recent versions

- 0.9.0 (latest) — 2026-04-17
- 0.8.0 (beta) — 2025-09-01
- 0.8.1 — 2025-12-05
- 0.7.4 — 2024-09-13
- 0.7.3 — 2024-09-04
- 0.7.2 — 2024-08-23
- 0.7.1 — 2024-08-22
- 0.7.0 — 2024-08-22
- 0.6.1 — 2024-05-03
- 0.6.0 — 2024-05-03
- 0.5.2 — 2024-04-26
- 0.5.1 — 2024-04-26
- 0.5.0 — 2024-04-26
- 0.4.0 — 2024-03-29
- 0.3.2 — 2024-03-29
- … 4 more at https://npm.io/package/create-belt-app/versions

## README

<div align="center" style="padding: 20px 0px 20px 0px;">
  <img src="assets/belt-logo.svg" alt="Logo" width=250>
</div>

# Belt

_While we actively use Belt internally at thoughtbot, this project is still in early phases of development, so its API might still change frequently._

Belt is an opionated CLI tool for starting a new React Native app. It makes the mundane decisions for you using tooling and conventions that we at thoughtbot have battle-tested and found to work well for the many successful apps we have built for clients.

Here are some of what gets configured when you start a new Belt app:

- Expo
- ESLint
- Prettier
- TypeScript
- Jest
- React Native Testing Library
- MSW for mocking
- React Navigation with bottom tabs
- Tanstack Query for REST APIs. Apollo Client for GraphQL coming soon!
- Redux Toolkit for global state (coming soon!)

## Usage

Create a new React Native Expo app using Belt with:

```sh
# With NPM
npx create-belt-app MyApp

# With Yarn
npx create-belt-app MyApp --yarn

# With pnpm (experimental)
npx create-belt-app MyApp --pnpm

# With Bun (experimental)
npx create-belt-app MyApp --bun
```

then run the command you'd like to perform:

```sh
# eg. add TypeScript to the project
yarn belt add notifications

# or, with NPM
npx belt add notifications

# or, with PNPM
pnpm belt add notifications
```

## Contributing

See the [CONTRIBUTING](./CONTRIBUTING.md) document. Thank you, [contributors](https://github.com/thoughtbot/belt/graphs/contributors)!

## License

Belt is Copyright © 2024 thoughtbot. It is free software, and may be
redistributed under the terms specified in the [LICENSE](/LICENSE) file.

### About thoughtbot

<img src="https://thoughtbot.com/thoughtbot-logo-for-readmes.svg" width="375" />

Belt is maintained and funded by thoughtbot, inc.
The names and logos for thoughtbot are trademarks of thoughtbot, inc.

We love open source software! See [our other projects][community] or
[hire us][hire] to design, develop, and grow your product.

[community]: https://thoughtbot.com/community?utm_source=github
[hire]: https://thoughtbot.com/hire-us?utm_source=github

---
_Source: https://npm.io/package/create-belt-app · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
