diff options
| -rw-r--r-- | AGENTS.md | 133 | ||||
| -rw-r--r-- | Justfile | 10 | ||||
| -rw-r--r-- | README.md | 42 | ||||
| -rw-r--r-- | package.json | 2 |
4 files changed, 84 insertions, 103 deletions
@@ -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 @@ -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 @@ -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, |
