summaryrefslogtreecommitdiff
path: root/Justfile
blob: 53268f5c05830fbbdafa5f177a1901df5c9f695f (plain)
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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
# =============================================
# FastForge – Pebble Intermittent Fasting App
# Justfile for Fedora Linux + Pebble SDK 4.9+ (2026)
# =============================================

emulator := "basalt"

# Default: show all available commands
default:
    @just --list

# Aliases (shortcuts)
alias b := build
alias i := install
alias d := dev
alias l := logs
alias s := screenshot
alias c := clean
alias k := kill

# ─────────────────────────────────────────────
# Core development commands
# ─────────────────────────────────────────────

# Build the app
build:
    pebble build

# Install to the basalt emulator (this also starts the emulator if it's not running)
install:
    pebble install --emulator {{emulator}}

# Build + Install (the command you will use most often)
dev:
    pebble build && pebble install --emulator {{emulator}}

# Show live logs (run this in a **second** terminal)
logs:
    pebble logs --emulator {{emulator}}

# Take a screenshot of the emulator
screenshot:
    pebble screenshot --emulator {{emulator}}

# ─────────────────────────────────────────────
# Emulator control
# ─────────────────────────────────────────────

# Kill / stop the running emulator (this is the fixed command)
kill:
    pebble kill

# ─────────────────────────────────────────────
# Maintenance commands
# ─────────────────────────────────────────────

# Clean all build artifacts
clean:
    rm -rf build/ *.pbw *.elf *.bin *.map *.o config.log .lock-waf* .wafpickle*

# Full clean + rebuild + install
rebuild:
    just clean
    just dev

# Quick rebuild + install
quick:
    just build && just install

# Build with DEBUG=1 compile flag
debug-build:
    DEBUG=1 pebble build

# Build + install debug app
debug-dev:
    DEBUG=1 pebble build && pebble install --emulator {{emulator}}

# ─────────────────────────────────────────────
# Debug / Testing helpers
# ─────────────────────────────────────────────

# Build, install, and remind you to open logs
dev-with-logs:
    @echo "✅ Building and installing..."
    just dev
    @echo ""
    @echo "🚀 Now open a second terminal and run:   just logs"

# Show current SDK version
sdk-version:
    pebble --version

# Help / reminder
help:
    @echo "FastForge development commands:"
    @echo "  just dev          → build + install (most used)"
    @echo "  just logs         → live logs (second terminal)"
    @echo "  just kill         → stop the emulator"
    @echo "  just clean        → remove build files"
    @echo "  just rebuild      → clean + dev"
    @echo ""
    @echo "Run 'just' to see all available commands."