Installation

Common commands

Learn about common commands you need to know to work with the 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, run:

pnpm build

Building specific app

To build a specific app, run:

pnpm build:[app-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.

Supabase commands

Prerequisite: Docker installed

To run the Supabase instance locally, you need to have Docker installed on your machine.

You can always use the Supabase Cloud for your projects.

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

Starting containers

To start the Supabase containers, run:

pnpm db:start

It will run all the required containers for the Supabase instance. You can check config for them in packages/db/supabase/config.toml.

Stopping containers

To stop the Supabase containers, run:

pnpm db:stop

Displaying status

To check the status of the Supabase instance, run:

pnpm db:status

This will result in the following output:

Started supabase local development setup.
 
          API URL: http://127.0.0.1:54321
      GraphQL URL: http://127.0.0.1:54321/graphql/v1
   S3 Storage URL: http://127.0.0.1:54321/storage/v1/s3
           DB URL: postgresql://postgres:postgres@127.0.0.1:54322/postgres
       Studio URL: http://127.0.0.1:54323
       JWT secret: super-secret-jwt-token-with-at-least-32-characters-long
         anon key: your-anon-key
 service_role key: your-service-role-key
    S3 Access Key: your-access-key-id
    S3 Secret Key: your-secret-access-key
        S3 Region: local

You can check there what services are running on what ports and what are the credentials to connect to them.

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 db:generate

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

Running migrations

To run the migrations against the db, run:

pnpm 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 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 db:check

Last updated on

On this page

Ship your startup everywhere. In minutes.Get TurboStarter