Common commands

Learn about common commands you need to know to work with the mobile project.

For sure, you don't need these commands to kickstart your project, but it's useful to know they exist for when you need them.

Want shorter commands?

You can set up aliases for these commands in your shell configuration file. For example, you can set up an alias for pnpm to p:

~/.bashrc
alias p='pnpm'

Or, if you're using Zsh, you can add the alias to ~/.zshrc:

~/.zshrc
alias p='pnpm'

Then run source ~/.bashrc or source ~/.zshrc to apply the changes.

You can now use p instead of pnpm in your terminal. For example, p i instead of pnpm install.

Installing dependencies

To install the dependencies, run:

pnpm install

Starting development server

Start development server by running:

pnpm dev

Building project

To build the project (including all apps and packages), run:

pnpm build

Building specific app/package

To build a specific app/package, run:

pnpm turbo build --filter=<package-name>

Cleaning project

To clean the project, run:

pnpm clean

Then, reinstall the dependencies:

pnpm install

Formatting code

To format code using Prettier, run:

pnpm format:fix

Linting code

To lint code using ESLint, run:

pnpm lint:fix

Typechecking

To typecheck the code using TypeScript, run:

pnpm typecheck

Adding UI components

To add a new web component, run:

pnpm --filter @turbostarter/ui-web ui:add

This command will add and export a new component to @turbostarter/ui-web package.

To add a new mobile component, run:

pnpm --filter @turbostarter/ui-mobile ui:add

This command will add and export a new component to @turbostarter/ui-mobile package.

Services commands

Prerequisite: Docker installed

To run the services containers locally, you need to have Docker installed on your machine.

You can always use the cloud-hosted solution (e.g. Neon, Turso for database) for your projects.

We have a few commands to help you manage the services containers (for local development).

Starting containers

To start the services containers, run:

pnpm services:start

It will run all the services containers. You can check their configs in docker-compose.yml.

Setting up services

To setup all the services, run:

pnpm services:setup

It will start all the services containers and run necessary setup steps.

Stopping containers

To stop the services containers, run:

pnpm services:stop

Displaying status

To check the status and logs of the services containers, run:

pnpm services:status

Displaying logs

To display the logs of the services containers, run:

pnpm services:logs

Database commands

We have a few commands to help you manage the database leveraging Drizzle CLI.

Generating migrations

To generate a new migration, run:

pnpm with-env turbo db:generate

It will create a new migration .sql file in the packages/db/migrations folder.

Running migrations

To run the migrations against the db, run:

pnpm with-env pnpm --filter @turbostarter/db db:migrate

It will apply all the pending migrations.

Pushing changes directly

Don't mess up with your schema!

Make sure you know what you're doing before pushing changes directly to the db.

To push changes directly to the db, run:

pnpm with-env pnpm --filter @turbostarter/db db:push

It lets you push your schema changes directly to the database and omit managing SQL migration files.

Checking database

To check the database schema consistency, run:

pnpm with-env pnpm --filter @turbostarter/db db:check

How is this guide?

Last updated on