summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-04-12 09:54:55 +0300
committerPaul Buetow <paul@buetow.org>2026-04-12 09:54:55 +0300
commite79498af8150788e73a1db6b699c3d774de1eb6c (patch)
tree10114e6dac3db0652a02db6316818545421898f3
parent319b9c3d867739d30336a5b2cefd031c0c9ca998 (diff)
task 02: finalize day-1 Pebble setup workflow
-rw-r--r--AGENTS.md133
-rw-r--r--Justfile10
-rw-r--r--README.md42
-rw-r--r--package.json2
4 files changed, 84 insertions, 103 deletions
diff --git a/AGENTS.md b/AGENTS.md
index 1884278..aa60b8f 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -1,100 +1,56 @@
-**✅ Here is the complete, clean `AGENTS.md` file** — ready to copy and save.
+# FastForge - AGENTS.md
+Pebble Intermittent Fasting Tracker Development Guide
+Fedora Linux + Rebble Pebble SDK 4.9+ (April 2026)
-```markdown
-# FastForge – AGENTS.md
-**Pebble Intermittent Fasting Tracker Development Guide**
-**Fedora Linux + Rebble Pebble SDK 4.9+ (April 2026)**
+This file is the primary workflow reference for FastForge contributors.
-This document contains **everything** an agent (or you after a reboot) needs to know to work on FastForge.
-
----
-
-## 1. One-Time Initial Setup (already completed)
+## 1. One-Time Initial Setup
```bash
-# 1. System dependencies
sudo dnf update
sudo dnf install -y python3-pip nodejs SDL-devel dtc uv just
-
-# 2. Install pebble-tool via uv
uv tool install pebble-tool --python 3.13
-
-# 3. Install latest SDK
pebble sdk install latest
```
----
-
-## 2. After Every Reboot – Restore uv Environment
-
-After rebooting your laptop, the `pebble` command is usually not in PATH. Run this **every time** you open a new terminal:
+## 2. After Every Reboot - Restore uv Tool PATH
```bash
-# Restore uv tool path
export PATH="$HOME/.local/bin:$PATH"
-
-# Verify
pebble --version
```
-**Make it permanent** (recommended):
+Optional permanent fix:
+
```bash
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
```
----
+## 3. Justfile Workflow
-## 3. Justfile Usage (Recommended Workflow)
+Available commands:
-We use `just` as the command runner.
+- `just`: list commands
+- `just dev`: build + install to emulator
+- `just logs`: live logs (second terminal)
+- `just kill`: stop emulator
+- `just clean`: remove build artifacts
+- `just rebuild`: clean + full rebuild + install
+- `just quick`: quick rebuild + install
+- `just screenshot`: screenshot of emulator
+- `just sdk-version`: print Pebble SDK/tool version
-### All available commands
+Daily loop after reboot:
-```bash
-just # Show all available commands
-just dev # ← MOST USED: build + install to emulator
-just logs # Live logs (open in a second terminal)
-just kill # Stop the emulator
-just clean # Remove all build artifacts
-just rebuild # Clean + full rebuild + install
-just quick # Quick rebuild + install
-just screenshot # Take a screenshot of the emulator
-just sdk-version # Show current Pebble SDK version
-```
-
-**Daily workflow after reboot:**
-
-1. Run the uv environment commands above
-2. `cd ~/g/fastforge`
+1. Restore PATH (`export PATH="$HOME/.local/bin:$PATH"`).
+2. `cd /home/paul/git/fastforge`
3. `just dev`
-4. Open **second terminal** → `just logs`
+4. In a second terminal run `just logs`
----
-
-## 4. Full Daily Development Loop
-
-```bash
-# 1. Restore environment
-export PATH="$HOME/.local/bin:$PATH"
+## 4. Commit Policy
-# 2. Go to project
-cd ~/g/fastforge
-
-# 3. Edit code (src/c/fastforge.c)
-
-# 4. Build + test
-just dev
-
-# 5. Watch logs in another terminal
-just logs
-```
-
----
-
-## 5. What to Commit to Git
-
-**Only commit these files:**
+Commit these project files when changed:
- `README.md`
- `AGENTS.md`
@@ -105,35 +61,18 @@ just logs
- `src/c/fastforge.c`
- `.gitignore`
-**Never commit:**
-- `build/` folder
-- `*.pbw`, `*.elf`, `*.bin`, `*.o`, etc.
-- Any `.lock-waf*`, `.wafpickle*`, `config.log`
-
----
-
-## 6. Troubleshooting
-
-- `pebble: command not found` → run the PATH export from section 2
-- Emulator doesn’t start → `just kill` then `just dev`
-- Build fails → `just clean` then `just rebuild`
-- Want to change app version → edit `package.json` → `just dev`
-
----
-
-**Last updated:** April 6, 2026
-**Maintained for:** All agents working on FastForge
-
-```
-
----
+Do not commit generated artifacts:
-**How to save it:**
+- `build/`
+- `*.pbw`, `*.elf`, `*.bin`, `*.o`, `*.map`
+- `.lock-waf*`, `.wafpickle*`, `config.log`
-1. Copy everything above (from `# FastForge – AGENTS.md` to the end)
-2. Paste into a new file named **`AGENTS.md`** in your `fastforge` folder
-3. Save it
+## 5. Troubleshooting
-You now have a single, complete reference file.
+- `pebble: command not found`: restore PATH from section 2.
+- Emulator does not start: run `just kill` then `just dev`.
+- Build fails: run `just clean` then `just rebuild`.
+- Change app version: update `package.json`, then run `just dev`.
-Would you like me to also create the full `main.c` skeleton for FastForge next? Just say **“give me the full FastForge main.c”**.
+Last updated: April 12, 2026
+Maintained for: FastForge agents
diff --git a/Justfile b/Justfile
index 2f5365e..3fa272d 100644
--- a/Justfile
+++ b/Justfile
@@ -3,6 +3,8 @@
# Justfile for Fedora Linux + Pebble SDK 4.9+ (2026)
# =============================================
+emulator := "basalt"
+
# Default: show all available commands
default:
@just --list
@@ -26,19 +28,19 @@ build:
# Install to the basalt emulator (this also starts the emulator if it's not running)
install:
- pebble install --emulator basalt
+ pebble install --emulator {{emulator}}
# Build + Install (the command you will use most often)
dev:
- pebble build && pebble install --emulator basalt
+ pebble build && pebble install --emulator {{emulator}}
# Show live logs (run this in a **second** terminal)
logs:
- pebble logs
+ pebble logs --emulator {{emulator}}
# Take a screenshot of the emulator
screenshot:
- pebble screenshot
+ pebble screenshot --emulator {{emulator}}
# ─────────────────────────────────────────────
# Emulator control
diff --git a/README.md b/README.md
index 1f10505..d0ae877 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1,43 @@
# FastForge
-WIP - Come back later.
+FastForge is a Pebble watchapp for intermittent fasting tracking, built with the Rebble SDK.
+
+## Day-1 Setup (Fedora + Rebble SDK 4.9+)
+
+```bash
+sudo dnf update
+sudo dnf install -y python3-pip nodejs SDL-devel dtc uv just
+uv tool install pebble-tool --python 3.13
+pebble sdk install latest
+```
+
+## After Reboot
+
+```bash
+export PATH="$HOME/.local/bin:$PATH"
+pebble --version
+```
+
+## Development Workflow
+
+```bash
+cd /home/paul/git/fastforge
+just dev
+```
+
+In a second terminal:
+
+```bash
+cd /home/paul/git/fastforge
+export PATH="$HOME/.local/bin:$PATH"
+just logs
+```
+
+Useful commands:
+
+- `just`: list commands
+- `just dev`: build + install to basalt emulator
+- `just logs`: live logs from basalt emulator
+- `just screenshot`: screenshot from basalt emulator
+- `just kill`: stop emulator
+- `just clean`: remove build artifacts
diff --git a/package.json b/package.json
index 2e2224a..2d7759c 100644
--- a/package.json
+++ b/package.json
@@ -6,7 +6,7 @@
"private": true,
"dependencies": {},
"pebble": {
- "displayName": "fastforge",
+ "displayName": "FastForge",
"uuid": "dee8dfc5-60b2-4c77-9315-08d96d7e4e38",
"sdkVersion": "3",
"enableMultiJS": true,