You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
An opinionated monorepo starter kit for building apps everywhere: web, mobile, desktop, and more.
6
10
7
-
- Web application using Next.js
8
-
- Mobile application using Expo
9
-
- APIs using Hono & Cloudflare Workers
10
-
- Desktop application using Tauri, Vite and Tanstack Router
11
-
- Browser extension using WXT
12
-
- Documentation site using Next.js + Fumadocs
11
+
## What's included
13
12
14
-
## Development
13
+
- Web application using [Next.js](https://nextjs.org/)
14
+
- Documentation site using [Fumadocs](http://fumadocs.vercel.app)
15
+
- Mobile application using [Expo](https://expo.dev/)
16
+
- API using [Hono](https://hono.dev/), built to be deployed on [Cloudflare Workers](https://workers.cloudflare.com/)
17
+
- Desktop application using [Tauri](https://tauri.app/)
18
+
- Browser extension using [WXT](https://wxt.dev/)
19
+
20
+
## Prerequisites
21
+
22
+
- We use [pnpm](https://pnpm.io/) as our package manager.
23
+
- You'll need Nodejs v22 or higher installed.
24
+
- You'll need Docker installed for running the database and Redis. I recommend using [OrbStack](https://orbstack.dev/) for managing your containers.
25
+
26
+
## Getting started
27
+
28
+
1. Install the dependencies using `pnpm`:
29
+
30
+
```bash
31
+
pnpm install
32
+
```
33
+
34
+
2. Start your local services using `docker`.
35
+
36
+
```bash
37
+
pnpm docker:up
38
+
```
39
+
40
+
3. Run the `setup-env` script to create the environment files:
41
+
42
+
```bash
43
+
pnpm env:setup
44
+
```
45
+
46
+
4. Start the development server:
47
+
48
+
```bash
49
+
pnpm dev
50
+
```
51
+
52
+
Since this monorepo has a lot of applications and packages you may not need for your project, you can run the `setup-template` script to select which workspaces you want to keep:
53
+
54
+
```bash
55
+
pnpm template:setup
56
+
```
15
57
16
-
To start the development server, run `pnpm dev` on the root directory.
58
+
If you later want to add or remove workspaces, you can use the following commands:
59
+
60
+
```bash
61
+
pnpm workspace:add # Adds a workspace from the template to the project
62
+
pnpm workspace:remove # Removes a workspace from the project
63
+
```
17
64
18
65
### Ports
19
66
20
-
Apps run in the 3000-3999 range. Packages run in the 8000-8999 range.
67
+
#### Apps
68
+
69
+
Apps run in the 3000-3999 range.
21
70
22
71
- Web: 3000
23
72
- API: 3001
@@ -26,5 +75,40 @@ Apps run in the 3000-3999 range. Packages run in the 8000-8999 range.
26
75
- Extension: 3004
27
76
- Docs: 3005
28
77
78
+
#### Packages
79
+
80
+
Packages run in the 8000-8999 range.
81
+
82
+
- Redis: 8079
83
+
- Database: 8080
29
84
- Email: 8081
30
85
- Queue: 8288
86
+
87
+
## Development
88
+
89
+
### Common Commands
90
+
91
+
Here are the most common commands you'll use during development:
92
+
93
+
-`pnpm dev` - Start all applications in development mode
94
+
-`pnpm build` - Build all applications
95
+
-`pnpm lint` - Run linting across the codebase using Biome
96
+
-`pnpm format` - Format code using Biome
97
+
-`pnpm typecheck` - Run TypeScript type checking
98
+
-`pnpm check` - Run linting and formatting
99
+
-`pnpm clean` - Clean build artifacts
100
+
-`pnpm clean:all` - Deep clean (build artifacts, cache, node_modules)
101
+
102
+
If you want to run a command for a specific workspace, you can use the following syntax:
103
+
104
+
```bash
105
+
pnpm <command> --filter <workspace>
106
+
```
107
+
108
+
### Managing Dependencies
109
+
110
+
-`pnpm deps:check` - Check for outdated dependencies
0 commit comments