Skip to content

Commit 3885386

Browse files
icecrasher321waleedlatif1
authored andcommitted
improvements
1 parent dbdf30b commit 3885386

7 files changed

Lines changed: 102 additions & 62 deletions

File tree

.devcontainer/post-create.sh

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,14 +71,26 @@ fi
7171

7272
# Set up environment variables if .env doesn't exist for the sim app
7373
if [ ! -f "apps/sim/.env" ]; then
74-
echo "📄 Creating .env file from template..."
74+
echo "📄 Creating apps/sim/.env from template..."
7575
if [ -f "apps/sim/.env.example" ]; then
7676
cp apps/sim/.env.example apps/sim/.env
7777
else
7878
echo "DATABASE_URL=postgresql://postgres:postgres@db:5432/simstudio" > apps/sim/.env
7979
fi
8080
fi
8181

82+
# Set up env for the realtime server (must match the shared values in apps/sim/.env)
83+
if [ ! -f "apps/realtime/.env" ] && [ -f "apps/realtime/.env.example" ]; then
84+
echo "📄 Creating apps/realtime/.env from template..."
85+
cp apps/realtime/.env.example apps/realtime/.env
86+
fi
87+
88+
# Set up packages/db/.env for drizzle-kit and migration scripts
89+
if [ ! -f "packages/db/.env" ] && [ -f "packages/db/.env.example" ]; then
90+
echo "📄 Creating packages/db/.env from template..."
91+
cp packages/db/.env.example packages/db/.env
92+
fi
93+
8294
# Generate schema and run database migrations
8395
echo "🗃️ Running database schema generation and migrations..."
8496
echo "Generating schema..."

README.md

Lines changed: 52 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -1,69 +1,55 @@
1-
<p align="center">
2-
<a href="https://sim.ai" target="_blank" rel="noopener noreferrer">
3-
<picture>
4-
<source media="(prefers-color-scheme: dark)" srcset="apps/sim/public/logo/wordmark.svg">
5-
<source media="(prefers-color-scheme: light)" srcset="apps/sim/public/logo/wordmark-dark.svg">
6-
<img src="apps/sim/public/logo/wordmark-dark.svg" alt="Sim Logo" width="380"/>
7-
</picture>
8-
</a>
9-
</p>
10-
11-
<p align="center">The open-source platform to build AI agents and run your agentic workforce. Connect 1,000+ integrations and LLMs to orchestrate agentic workflows.</p>
12-
13-
<p align="center">
14-
<a href="https://sim.ai" target="_blank" rel="noopener noreferrer"><img src="https://img.shields.io/badge/sim.ai-33c482" alt="Sim.ai"></a>
15-
<a href="https://discord.gg/Hr4UWYEcTT" target="_blank" rel="noopener noreferrer"><img src="https://img.shields.io/badge/Discord-Join%20Server-5865F2?logo=discord&logoColor=white" alt="Discord"></a>
16-
<a href="https://x.com/simdotai" target="_blank" rel="noopener noreferrer"><img src="https://img.shields.io/twitter/follow/simdotai?style=social" alt="Twitter"></a>
17-
<a href="https://docs.sim.ai" target="_blank" rel="noopener noreferrer"><img src="https://img.shields.io/badge/Docs-33c482.svg" alt="Documentation"></a>
18-
</p>
19-
20-
<p align="center">
21-
<a href="https://deepwiki.com/simstudioai/sim" target="_blank" rel="noopener noreferrer"><img src="https://deepwiki.com/badge.svg" alt="Ask DeepWiki"></a> <a href="https://cursor.com/link/prompt?text=Help%20me%20set%20up%20Sim%20locally.%20Follow%20these%20steps%3A%0A%0A1.%20First%2C%20verify%20Docker%20is%20installed%20and%20running%3A%0A%20%20%20docker%20--version%0A%20%20%20docker%20info%0A%0A2.%20Clone%20the%20repository%3A%0A%20%20%20git%20clone%20https%3A%2F%2Fgithub.com%2Fsimstudioai%2Fsim.git%0A%20%20%20cd%20sim%0A%0A3.%20Start%20the%20services%20with%20Docker%20Compose%3A%0A%20%20%20docker%20compose%20-f%20docker-compose.prod.yml%20up%20-d%0A%0A4.%20Wait%20for%20all%20containers%20to%20be%20healthy%20(this%20may%20take%201-2%20minutes)%3A%0A%20%20%20docker%20compose%20-f%20docker-compose.prod.yml%20ps%0A%0A5.%20Verify%20the%20app%20is%20accessible%20at%20http%3A%2F%2Flocalhost%3A3000%0A%0AIf%20there%20are%20any%20errors%2C%20help%20me%20troubleshoot%20them.%20Common%20issues%3A%0A-%20Port%203000%2C%203002%2C%20or%205432%20already%20in%20use%0A-%20Docker%20not%20running%0A-%20Insufficient%20memory%20(needs%2012GB%2B%20RAM)%0A%0AFor%20local%20AI%20models%20with%20Ollama%2C%20use%20this%20instead%20of%20step%203%3A%0A%20%20%20docker%20compose%20-f%20docker-compose.ollama.yml%20--profile%20setup%20up%20-d"><img src="https://img.shields.io/badge/Set%20Up%20with-Cursor-000000?logo=cursor&logoColor=white" alt="Set Up with Cursor"></a>
22-
</p>
1+
2+
3+
The open-source platform to build AI agents and run your agentic workforce. Connect 1,000+ integrations and LLMs to orchestrate agentic workflows.
4+
5+
6+
7+
238

249
### Build Workflows with Ease
10+
2511
Design agent workflows visually on a canvas—connect agents, tools, and blocks, then run them instantly.
2612

27-
<p align="center">
28-
<img src="apps/sim/public/static/workflow.gif" alt="Workflow Builder Demo" width="800"/>
29-
</p>
13+
3014

3115
### Supercharge with Copilot
16+
3217
Leverage Copilot to generate nodes, fix errors, and iterate on flows directly from natural language.
3318

34-
<p align="center">
35-
<img src="apps/sim/public/static/copilot.gif" alt="Copilot Demo" width="800"/>
36-
</p>
19+
3720

3821
### Integrate Vector Databases
22+
3923
Upload documents to a vector store and let agents answer questions grounded in your specific content.
4024

41-
<p align="center">
42-
<img src="apps/sim/public/static/knowledge.gif" alt="Knowledge Uploads and Retrieval Demo" width="800"/>
43-
</p>
25+
4426

4527
## Quickstart
4628

4729
### Cloud-hosted: [sim.ai](https://sim.ai)
4830

49-
<a href="https://sim.ai" target="_blank" rel="noopener noreferrer"><img src="https://img.shields.io/badge/sim.ai-33c482?logo=data:image/svg%2bxml;base64,PHN2ZyB3aWR0aD0iNjE2IiBoZWlnaHQ9IjYxNiIgdmlld0JveD0iMCAwIDYxNiA2MTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF8xMTU5XzMxMykiPgo8cGF0aCBkPSJNNjE2IDBIMFY2MTZINjE2VjBaIiBmaWxsPSIjMzNjNDgyIi8+CjxwYXRoIGQ9Ik04MyAzNjUuNTY3SDExM0MxMTMgMzczLjgwNSAxMTYgMzgwLjM3MyAxMjIgMzg1LjI3MkMxMjggMzg5Ljk0OCAxMzYuMTExIDM5Mi4yODUgMTQ2LjMzMyAzOTIuMjg1QzE1Ny40NDQgMzkyLjI4NSAxNjYgMzkwLjE3MSAxNzIgMzg1LjkzOUMxNzcuOTk5IDM4MS40ODcgMTgxIDM3NS41ODYgMTgxIDM2OC4yMzlDMTgxIDM2Mi44OTUgMTc5LjMzMyAzNTguNDQyIDE3NiAzNTQuODhDMTcyLjg4OSAzNTEuMzE4IDE2Ny4xMTEgMzQ4LjQyMiAxNTguNjY3IDM0Ni4xOTZMMTMwIDMzOS41MTdDMTE1LjU1NSAzMzUuOTU1IDEwNC43NzggMzMwLjQ5OSA5Ny42NjY1IDMyMy4xNTFDOTAuNzc3NSAzMTUuODA0IDg3LjMzMzQgMzA2LjExOSA4Ny4zMzM0IDI5NC4wOTZDODcuMzMzNCAyODQuMDc2IDg5Ljg4OSAyNzUuMzkyIDk0Ljk5OTYgMjY4LjA0NUMxMDAuMzMzIDI2MC42OTcgMTA3LjU1NSAyNTUuMDIgMTE2LjY2NiAyNTEuMDEyQzEyNiAyNDcuMDA0IDEzNi42NjcgMjQ1IDE0OC42NjYgMjQ1QzE2MC42NjcgMjQ1IDE3MSAyNDcuMTE2IDE3OS42NjcgMjUxLjM0NkMxODguNTU1IDI1NS41NzYgMTk1LjQ0NCAyNjEuNDc3IDIwMC4zMzMgMjY5LjA0N0MyMDUuNDQ0IDI3Ni42MTcgMjA4LjExMSAyODUuNjM0IDIwOC4zMzMgMjk2LjA5OUgxNzguMzMzQzE3OC4xMTEgMjg3LjYzOCAxNzUuMzMzIDI4MS4wNyAxNjkuOTk5IDI3Ni4zOTRDMTY0LjY2NiAyNzEuNzE5IDE1Ny4yMjIgMjY5LjM4MSAxNDcuNjY3IDI2OS4zODFDMTM3Ljg4OSAyNjkuMzgxIDEzMC4zMzMgMjcxLjQ5NiAxMjUgMjc1LjcyNkMxMTkuNjY2IDI3OS45NTcgMTE3IDI4NS43NDYgMTE3IDI5My4wOTNDMTE3IDMwNC4wMDMgMTI1IDMxMS40NjIgMTQxIDMxNS40N0wxNjkuNjY3IDMyMi40ODNDMTgzLjQ0NSAzMjUuNiAxOTMuNzc4IDMzMC43MjIgMjAwLjY2NyAzMzcuODQ3QzIwNy41NTUgMzQ0Ljc0OSAyMTEgMzU0LjIxMiAyMTEgMzY2LjIzNUMyMTEgMzc2LjQ3NyAyMDguMjIyIDM4NS40OTQgMjAyLjY2NiAzOTMuMjg3QzE5Ny4xMTEgNDAwLjg1NyAxODkuNDQ0IDQwNi43NTggMTc5LjY2NyA0MTAuOTg5QzE3MC4xMTEgNDE0Ljk5NiAxNTguNzc4IDQxNyAxNDUuNjY3IDQxN0MxMjYuNTU1IDQxNyAxMTEuMzMzIDQxMi4zMjUgOTkuOTk5NyA0MDIuOTczQzg4LjY2NjggMzkzLjYyMSA4MyAzODEuMTUzIDgzIDM2NS41NjdaIiBmaWxsPSJ3aGl0ZSIvPgo8cGF0aCBkPSJNMjMyLjI5MSA0MTNWMjUwLjA4MkMyNDQuNjg0IDI1NC42MTQgMjUwLjE0OCAyNTQuNjE0IDI2My4zNzEgMjUwLjA4MlY0MTNIMjMyLjI5MVpNMjQ3LjUgMjM5LjMxM0MyNDEuOTkgMjM5LjMxMyAyMzcuMTQgMjM3LjMxMyAyMzIuOTUyIDIzMy4zMTZDMjI4Ljk4NCAyMjkuMDk1IDIyNyAyMjQuMjA5IDIyNyAyMTguNjU2QzIyNyAyMTIuODgyIDIyOC45ODQgMjA3Ljk5NSAyMzIuOTUyIDIwMy45OTdDMjM3LjE0IDE5OS45OTkgMjQxLjk5IDE5OCAyNDcuNSAxOThDMjUzLjIzMSAxOTggMjU4LjA4IDE5OS45OTkgMjYyLjA0OSAyMDMuOTk3QzI2Ni4wMTYgMjA3Ljk5NSAyNjggMjEyLjg4MiAyNjggMjE4LjY1NkMyNjggMjI0LjIwOSAyNjYuMDE2IDIyOS4wOTUgMjYyLjA0OSAyMzMuMzE2QzI1OC4wOCAyMzcuMzEzIDI1My4yMzEgMjM5LjMxMyAyNDcuNSAyMzkuMzEzWiIgZmlsbD0id2hpdGUiLz4KPHBhdGggZD0iTTMxOS4zMzMgNDEzSDI4OFYyNDkuNjc2SDMxNlYyNzcuMjMzQzMxOS4zMzMgMjY4LjEwNCAzMjUuNzc4IDI2MC4zNjQgMzM0LjY2NyAyNTQuMzUyQzM0My43NzggMjQ4LjExNyAzNTQuNzc4IDI0NSAzNjcuNjY3IDI0NUMzODIuMTExIDI0NSAzOTQuMTEyIDI0OC44OTcgNDAzLjY2NyAyNTYuNjlDNDEzLjIyMiAyNjQuNDg0IDQxOS40NDQgMjc0LjgzNyA0MjIuMzM0IDI4Ny43NTJINDE2LjY2N0M0MTguODg5IDI3NC44MzcgNDI1IDI2NC40ODQgNDM1IDI1Ni42OUM0NDUgMjQ4Ljg5NyA0NTcuMzM0IDI0NSA0NzIgMjQ1QzQ5MC42NjYgMjQ1IDUwNS4zMzQgMjUwLjQ1NSA1MTYgMjYxLjM2NkM1MjYuNjY3IDI3Mi4yNzYgNTMyIDI4Ny4xOTUgNTMyIDMwNi4xMjFWNDEzSDUwMS4zMzNWMzEzLjgwNEM1MDEuMzMzIDMwMC44ODkgNDk4IDI5MC45ODEgNDkxLjMzMyAyODQuMDc4QzQ4NC44ODkgMjc2Ljk1MiA0NzYuMTExIDI3My4zOSA0NjUgMjczLjM5QzQ1Ny4yMjIgMjczLjM5IDQ1MC4zMzMgMjc1LjE3MSA0NDQuMzM0IDI3OC43MzRDNDM4LjU1NiAyODIuMDc0IDQzNCAyODYuOTcyIDQzMC42NjcgMjkzLjQzQzQyNy4zMzMgMjk5Ljg4NyA0MjUuNjY3IDMwNy40NTcgNDI1LjY2NyAzMTYuMTQxVjQxM0gzOTQuNjY3VjMxMy40NjlDMzk0LjY2NyAzMDAuNTU1IDM5MS40NDUgMjkwLjc1OCAzODUgMjg0LjA3OEMzNzguNTU2IDI3Ny4xNzUgMzY5Ljc3OCAyNzMuNzI0IDM1OC42NjcgMjczLjcyNEMzNTAuODg5IDI3My43MjQgMzQ0IDI3NS41MDUgMzM4IDI3OS4wNjhDMzMyLjIyMiAyODIuNDA4IDMyNy42NjcgMjg3LjMwNyAzMjQuMzMzIDI5My43NjNDMzIxIDI5OS45OTggMzE5LjMzMyAzMDcuNDU3IDMxOS4zMzMgMzE2LjE0MVY0MTNaIiBmaWxsPSJ3aGl0ZSIvPgo8L2c+CjxkZWZzPgo8Y2xpcFBhdGggaWQ9ImNsaXAwXzExNTlfMzEzIj4KPHJlY3Qgd2lkdGg9IjYxNiIgaGVpZ2h0PSI2MTYiIGZpbGw9IndoaXRlIi8+CjwvY2xpcFBhdGg+CjwvZGVmcz4KPC9zdmc+&logoColor=white" alt="Sim.ai"></a>
31+
5032

5133
### Self-hosted: NPM Package
5234

5335
```bash
5436
npx simstudio
5537
```
56-
http://localhost:3000
38+
39+
[http://localhost:3000](http://localhost:3000)
5740

5841
#### Note
42+
5943
Docker must be installed and running on your machine.
6044

6145
#### Options
6246

63-
| Flag | Description |
64-
|------|-------------|
47+
48+
| Flag | Description |
49+
| ------------------- | ----------------------------------- |
6550
| `-p, --port <port>` | Port to run Sim on (default `3000`) |
66-
| `--no-pull` | Skip pulling latest Docker images |
51+
| `--no-pull` | Skip pulling latest Docker images |
52+
6753

6854
### Self-hosted: Docker Compose
6955

@@ -89,51 +75,69 @@ bun install
8975
bun run prepare # Set up pre-commit hooks
9076
```
9177

92-
2. Set up PostgreSQL with pgvector:
78+
1. Set up PostgreSQL with pgvector:
9379

9480
```bash
9581
docker run --name simstudio-db -e POSTGRES_PASSWORD=your_password -e POSTGRES_DB=simstudio -p 5432:5432 -d pgvector/pgvector:pg17
9682
```
9783

9884
Or install manually via the [pgvector guide](https://github.com/pgvector/pgvector#installation).
9985

100-
3. Configure environment:
86+
1. Configure environment:
10187

10288
```bash
89+
# Main app env (large, app-specific: OAuth secrets, LLM keys, etc.)
10390
cp apps/sim/.env.example apps/sim/.env
104-
# Create your secrets
10591
perl -i -pe "s/your_encryption_key/$(openssl rand -hex 32)/" apps/sim/.env
10692
perl -i -pe "s/your_internal_api_secret/$(openssl rand -hex 32)/" apps/sim/.env
10793
perl -i -pe "s/your_api_encryption_key/$(openssl rand -hex 32)/" apps/sim/.env
108-
# DB configs for migration
94+
95+
# Realtime server env (small: just the ~6 shared values)
96+
cp apps/realtime/.env.example apps/realtime/.env
97+
# Copy DATABASE_URL, BETTER_AUTH_URL, BETTER_AUTH_SECRET, INTERNAL_API_SECRET,
98+
# and NEXT_PUBLIC_APP_URL from apps/sim/.env into apps/realtime/.env so both
99+
# services use the same auth secret and DB.
100+
101+
# DB migration env
109102
cp packages/db/.env.example packages/db/.env
110-
# Edit both .env files to set DATABASE_URL="postgresql://postgres:your_password@localhost:5432/simstudio"
103+
104+
# Edit each .env to set DATABASE_URL="postgresql://postgres:your_password@localhost:5432/simstudio"
111105
```
112106

113-
4. Run migrations:
107+
We use per-app `.env` files (the Turborepo-canonical pattern) rather than a
108+
single root `.env`. This mirrors production — each service has its own env
109+
block in Docker Compose / k8s — and keeps sim's app secrets (OAuth, LLM keys,
110+
Stripe, etc.) out of the realtime server's process scope. The shared values
111+
(DATABASE_URL, BETTER_AUTH_SECRET, INTERNAL_API_SECRET, etc.) are duplicated
112+
across `apps/sim/.env` and `apps/realtime/.env`; that's the trade-off.
113+
114+
Production uses env vars passed through Docker Compose / Kubernetes directly
115+
and does not read any `.env` files.
116+
117+
1. Run migrations:
114118

115119
```bash
116120
cd packages/db && bun run db:migrate
117121
```
118122

119-
5. Start development servers:
123+
1. Start development servers:
120124

121125
```bash
122126
bun run dev:full # Starts Next.js app and realtime socket server
123127
```
124128

125-
Or run separately: `bun run dev` (Next.js) and `cd apps/sim && bun run dev:sockets` (realtime).
129+
Or run separately: `bun run dev` (Next.js) and `bun run dev:sockets` (realtime). All scripts run from the repo root.
126130

127131
## Copilot API Keys
128132

129133
Copilot is a Sim-managed service. To use Copilot on a self-hosted instance:
130134

131-
- Go to https://sim.ai → Settings → Copilot and generate a Copilot API key
132-
- Set `COPILOT_API_KEY` environment variable in your self-hosted apps/sim/.env file to that value
135+
- Go to [https://sim.ai](https://sim.ai) → Settings → Copilot and generate a Copilot API key
136+
- Set `COPILOT_API_KEY` in `apps/sim/.env` to that value
133137

134138
## Environment Variables
135139

136-
See the [environment variables reference](https://docs.sim.ai/self-hosting/environment-variables) for the full list, or [`apps/sim/.env.example`](apps/sim/.env.example) for defaults.
140+
See the [environment variables reference](https://docs.sim.ai/self-hosting/environment-variables) for the full list, or [`apps/sim/.env.example`](apps/sim/.env.example) (main app) and [`apps/realtime/.env.example`](apps/realtime/.env.example) (realtime server) for defaults.
137141

138142
## Tech Stack
139143

@@ -160,4 +164,4 @@ We welcome contributions! Please see our [Contributing Guide](.github/CONTRIBUTI
160164

161165
This project is licensed under the Apache License 2.0 - see the [LICENSE](LICENSE) file for details.
162166

163-
<p align="center">Made with ❤️ by the Sim Team</p>
167+
Made with ❤️ by the Sim Team

apps/realtime/.env.example

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# Environment variables required by the @sim/realtime (Socket.IO) server.
2+
# These MUST match the corresponding values in apps/sim/.env for auth to work.
3+
# See apps/realtime/src/env.ts for the full zod schema.
4+
5+
# Core
6+
NODE_ENV=development
7+
PORT=3002
8+
9+
# Database — must point at the same Postgres as the main app
10+
DATABASE_URL=postgresql://postgres:postgres@localhost:5432/simstudio
11+
12+
# Auth — shared with apps/sim (Better Auth "Shared Database Session" pattern)
13+
BETTER_AUTH_URL=http://localhost:3000
14+
BETTER_AUTH_SECRET=your_better_auth_secret_min_32_chars
15+
16+
# Internal RPC — shared with apps/sim
17+
INTERNAL_API_SECRET=your_internal_api_secret_min_32_chars
18+
19+
# Public app URL — used for CORS allow-list and base URL resolution
20+
NEXT_PUBLIC_APP_URL=http://localhost:3000
21+
22+
# Optional: Redis for cross-pod room management
23+
# Leave unset for single-pod / in-memory rooms
24+
# REDIS_URL=redis://localhost:6379
25+
26+
# Optional: extra Socket.IO CORS allow-list (comma-separated)
27+
# ALLOWED_ORIGINS=https://embed.example.com,https://admin.example.com
28+
29+
# Optional: disable auth entirely for trusted private networks
30+
# DISABLE_AUTH=true

apps/realtime/src/env.ts

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,9 @@ const EnvSchema = z.object({
88
BETTER_AUTH_SECRET: z.string().min(32),
99
INTERNAL_API_SECRET: z.string().min(32),
1010
NEXT_PUBLIC_APP_URL: z.string().url(),
11-
INTERNAL_API_BASE_URL: z.string().url().optional(),
1211
ALLOWED_ORIGINS: z.string().optional(),
13-
SOCKET_SERVER_URL: z.string().url().optional(),
1412
PORT: z.coerce.number().int().positive().default(3002),
1513
SOCKET_PORT: z.coerce.number().int().positive().optional(),
16-
HOSTNAME: z.string().default('0.0.0.0'),
1714
DISABLE_AUTH: z
1815
.string()
1916
.optional()
@@ -46,7 +43,3 @@ export const isAuthDisabled = env.DISABLE_AUTH === true && !isHosted
4643
export function getBaseUrl(): string {
4744
return env.NEXT_PUBLIC_APP_URL
4845
}
49-
50-
export function getInternalApiBaseUrl(): string {
51-
return env.INTERNAL_API_BASE_URL ?? env.NEXT_PUBLIC_APP_URL
52-
}

apps/realtime/src/index.test.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,6 @@ vi.mock('@/env', () => ({
4545
INTERNAL_API_SECRET: 'test-internal-api-secret-at-least-32-chars',
4646
NEXT_PUBLIC_APP_URL: 'http://localhost:3000',
4747
PORT: 3002,
48-
HOSTNAME: '0.0.0.0',
4948
DISABLE_AUTH: false,
5049
},
5150
isProd: false,
@@ -54,7 +53,6 @@ vi.mock('@/env', () => ({
5453
isHosted: false,
5554
isAuthDisabled: false,
5655
getBaseUrl: () => 'http://localhost:3000',
57-
getInternalApiBaseUrl: () => 'http://localhost:3000',
5856
}))
5957

6058
vi.mock('@/middleware/auth', () => ({

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@
1111
"scripts": {
1212
"build": "turbo run build",
1313
"dev": "turbo run dev",
14-
"dev:sockets": "bun --cwd apps/realtime run dev",
15-
"dev:full": "bunx concurrently -n \"App,Realtime\" -c \"cyan,magenta\" \"bun --cwd apps/sim run dev\" \"bun --cwd apps/realtime run dev\"",
14+
"dev:sockets": "cd apps/realtime && bun run dev",
15+
"dev:full": "bunx concurrently -n \"App,Realtime\" -c \"cyan,magenta\" \"cd apps/sim && bun run dev\" \"cd apps/realtime && bun run dev\"",
1616
"test": "turbo run test",
1717
"format": "turbo run format",
1818
"format:check": "turbo run format:check",

packages/db/.env.example

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,5 @@
1-
# Database URL (Required for migrations and database operations)
2-
DATABASE_URL="postgresql://postgres:your_password@localhost:5432/simstudio"
1+
# Database connection used by @sim/db scripts (drizzle-kit generate,
2+
# db:migrate, register-sso-provider, etc.). Must match DATABASE_URL in
3+
# apps/sim/.env and apps/realtime/.env.
4+
5+
DATABASE_URL="postgresql://postgres:postgres@localhost:5432/simstudio"

0 commit comments

Comments
 (0)