Sno Station
Sno Station is your agents' workstation: open-source software that turns the AI agents you already run into one squad on your own machine. Two heads are better than one, and they get better with every
Monkey C and Jungle editor support for Garmin Connect IQ / Forerunner 55 development: VS Code extension and Zed extension — syntax highlighting, formatting, dark theme, file icons, and simulator previ
PluginsGitHub @hieudoanmOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Repository information has not been collected yet.
No updates detected yet. GitHub releases will appear here.
Connect IQ watchfaces and tooling for the Garmin Forerunner 55
Loading the full README.
Read the full README ↗Topics: garmin, connect-iq, monkey-c, watchface, vscode-extension
Live demo: https://hieudoanm.github.io/fr55/
Connect IQ watchfaces and tooling for the Garmin Forerunner 55 (fr55, 240×240 MIP).
Keywords: Garmin, Forerunner 55, FR55, Connect IQ, Monkey C, Watchfaces, VS Code Extension, VSIX.
apps/ — buildable Connect IQ watchface apps. Each app has its own manifest.xml, monkey.jungle, resources/, *View.mc, and *App.mc so it can be built/run independently.
hands/ — analog hour/minute hands.minimalism/ — hour/minute dots on a ring with centered heart rate/time.maximalism/ — 12-hour dot ring, minute marker, battery + heart rate.timezones/ — stacked London, local/Saigon, and Melbourne times.packages/extensions/vscode/ — Monkey C/Jungle VS Code extension with syntax highlighting, document formatting, a dark theme, file icons, and a Connect IQ SDK/simulator runtime preview command.packages/extensions/zed/ — Monkey C/Jungle Zed extension with Tree-sitter highlighting, an external formatter, a dark theme, file icons, and Connect IQ runtime-preview tasks.packages/landing/ — static landing/download page deployed to GitHub Pages.packages/README.md — overview of the editor extensions.assets/ — shared assets: design previews (assets/design/svg|png) and branding (assets/branding/svg|png: logo, Open Graph image).scripts/ — repo scripts, including Monkey C format/lint helpers (format.sh, lint.sh, monkeyc-tools.js)..github/workflows/ci.yaml — packages the VS Code extension and publishes a rolling latest GitHub release with the VSIX..
├── .github/workflows/ci.yaml # package VS Code extension + publish latest VSIX
├── apps/ # buildable Connect IQ watchface apps
│ ├── hands/
│ ├── maximalism/
│ ├── minimalism/
│ └── timezones/
├── assets/ # design previews, logos, OG images, svg-to-png.sh
├── packages/
│ ├── README.md # editor extensions overview
│ ├── extensions/
│ │ ├── vscode/ # Monkey C/Jungle VS Code extension
│ │ └── zed/ # Monkey C/Jungle Zed extension
│ └── landing/ # GitHub Pages landing page
└── scripts/ # Monkey C format/lint scripts
Each app is buildable from its own directory with the Connect IQ SDK.
cd apps/hands
make build # builds bin/hands.prg for fr55
make run # builds, starts simulator, launches with monkeydo
The app Makefiles use configurable variables:
make build DEVICE=fr55 \
SDK="$HOME/Library/Application Support/Garmin/ConnectIQ/Sdks/<sdk>" \
DEVELOPER_KEY="$HOME/.config/garmin/developer_key"
Direct SDK commands also work:
monkeyc -f apps/hands/monkey.jungle -d fr55 -o apps/hands/bin/hands.prg -y /path/to/developer_key -w
monkeydo apps/hands/bin/hands.prg fr55
packages/extensions/vscode provides editor support for .mc and .jungle files:
Format Document / Monkey C: Format Document).monkey.jungle + manifest.xml), starts the simulator, and runs the PRG with monkeydo. Configure monkeyC.sdkPath, monkeyC.developerKeyPath, and monkeyC.previewDevice as needed.Packaging:
cd packages/extensions/vscode
pnpm install --frozen-lockfile
pnpm exec vsce package --no-dependencies --out monkey-c.vsix
packages/extensions/zed brings the same editor surface to Zed using
Tree-sitter:
monkey-c-format) for both languages.cd packages/extensions/zed
./scripts/install.sh # put monkey-c-format / monkey-c-preview on PATH
make test # formatter tests + Jungle grammar tests
See packages/extensions/zed/README.md for Zed formatter
settings, task usage, and the vendored Jungle grammar requirement.
./scripts/format.sh # format all *.mc files
./scripts/lint.sh # check trailing whitespace/tabs/format drift
.github/workflows/ci.yaml runs for changes under apps/**, scripts/**, packages/extensions/vscode/**, packages/extensions/zed/**, packages/landing/**, and on workflow dispatch. On pushes to master, it updates the rolling GitHub release tagged latest:
monkey-c.vsixpackages/extensions/vscode/README.mdfr55), 240×240, API level target depends on each app manifest.dc.getWidth() / dc.getHeight()), but manifests/products should be checked before targeting other devices.GARMIN/APPS/ on the watch (USB mass storage) or use Garmin tools/simulator workflows.This project is licensed under the MIT License.