summaryrefslogtreecommitdiff
path: root/justfile
blob: 9c264b8aea387a0a34d09755adfd41bccb985885 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
# Common commands for the OpenCut fork. Run inside the devshell (`nix develop`)
# or anywhere bun + node are on PATH. `just` lists all recipes.

default:
    @just --list

# Install dependencies
install:
    bun install

# Create apps/web/.env.local from the example if missing (dev server 500s without it)
env:
    @test -f apps/web/.env.local || { cp apps/web/.env.example apps/web/.env.local && echo "Created apps/web/.env.local from example"; }

# First-time setup: install + env file
setup: install env
    @echo "Ready. Run 'just dev'."

# Start the web editor dev server (http://localhost:3000, editor at /editor/<project_id>)
dev: env
    bun dev:web

# Production build of the web app
build:
    bun build:web

# Run tests; pass a path for a single file: just test apps/web/src/timeline
test *args:
    bun test {{args}}

# Lint the web app
lint:
    bun lint:web

# Lint and auto-fix
lint-fix:
    bun lint:web:fix

# Typecheck the web app (pre-existing upstream errors exist; only care about files you touched)
typecheck:
    cd apps/web && bunx tsc --noEmit

# Format the web app source with Prettier
format:
    cd apps/web && bun run format

# Full local quality gate: tests, typecheck, production build.
# Full lint is NOT part of the gate yet (~112 pre-existing upstream errors);
# lint the files you touched with `just lint`.
verify:
    bun test
    cd apps/web && bunx tsc --noEmit
    bun build:web

# Build the Rust WASM package (run ./script/setup-rust once first)
wasm:
    bun build:wasm

# Rebuild the WASM package on Rust changes
wasm-watch:
    bun dev:wasm

# Run Rust tests for one crate: just rust-test time
rust-test crate:
    cargo test -p {{crate}}

# Run the GPUI desktop app (after apps/desktop/script/setup)
desktop:
    cargo run -p opencut-desktop

# Start optional local services (postgres, redis) — not needed for editor work
services:
    docker compose up -d db redis serverless-redis-http

# Start the full self-hosted stack at http://localhost:3100
stack:
    docker compose up -d