@@ -18,4 +18,75 @@ url = "https://storage.googleapis.com/claude-code-dist-86c565f3-f756-42ad-8dfa-d
1818[macos-x64]
1919url = "https://storage.googleapis.com/claude-code-dist-86c565f3-f756-42ad-8dfa-d59b1c096819/claude-code-releases/{version}/darwin-x64/claude"
2020""" , version_list_url = " https://storage.googleapis.com/claude-code-dist-86c565f3-f756-42ad-8dfa-d59b1c096819/claude-code-releases/stable" }
21+ cloudflared = " latest"
2122"npm:firebase-tools" = " 14.26.0" # Pin to a stable version for reproducibility
23+
24+ [tasks .dev ]
25+ run = '''
26+ echo "Starting Flutter dev server on http://localhost:8080"
27+ flutter run -d web-server --web-port 8080
28+ '''
29+
30+ [tasks .tunnel-setup ]
31+ run = '''
32+ echo "Setting up Cloudflare Tunnel for tunnel.cambeerfestival.app"
33+ echo ""
34+
35+ # Check if already logged in
36+ if [ ! -f ~/.cloudflared/cert.pem ]; then
37+ echo "Step 1: Login to Cloudflare (browser will open)..."
38+ cloudflared tunnel login
39+ else
40+ echo "✓ Already logged in to Cloudflare"
41+ fi
42+
43+ # Check if tunnel already exists
44+ if cloudflared tunnel list 2>/dev/null | grep -q "cbf-dev-tunnel"; then
45+ echo "✓ Tunnel 'cbf-dev-tunnel' already exists"
46+ else
47+ echo ""
48+ echo "Step 2: Creating tunnel 'cbf-dev-tunnel'..."
49+ cloudflared tunnel create cbf-dev-tunnel
50+ fi
51+
52+ # Route DNS
53+ echo ""
54+ echo "Step 3: Setting up DNS route for tunnel.cambeerfestival.app..."
55+ cloudflared tunnel route dns cbf-dev-tunnel tunnel.cambeerfestival.app
56+
57+ echo ""
58+ echo "✅ Setup complete! You can now run: MISE_ENV=dev ./bin/mise run dev-tunnel"
59+ '''
60+
61+ [tasks .dev-tunnel ]
62+ run = '''
63+ # Start Cloudflare Tunnel in the background
64+ echo "Starting Cloudflare Tunnel..."
65+ cloudflared tunnel --config .cloudflared/config.yml run &
66+ TUNNEL_PID=$!
67+
68+ # Wait for tunnel to be ready
69+ echo "Waiting for tunnel to start..."
70+ sleep 3
71+
72+ echo ""
73+ echo "✅ Tunnel running at: https://tunnel.cambeerfestival.app"
74+ echo ""
75+ echo "Starting Flutter dev server on http://localhost:8080"
76+ echo "Press Ctrl+C to stop both services."
77+ echo ""
78+
79+ # Cleanup function
80+ cleanup() {
81+ echo ""
82+ echo "Stopping tunnel..."
83+ kill $TUNNEL_PID 2>/dev/null
84+ exit
85+ }
86+
87+ # Set up cleanup on exit
88+ trap cleanup EXIT INT TERM
89+
90+ # Run Flutter in foreground (so you can use 'r' for hot reload, etc.)
91+ flutter run -d web-server --web-port 8080
92+ '''
0 commit comments