Skip to content

Instantly share code, notes, and snippets.

View jamonholmgren's full-sized avatar

Jamon Holmgren jamonholmgren

View GitHub Profile
@jamonholmgren
jamonholmgren / AGENTS.md
Created February 26, 2026 20:37
My current AGENTS.md for Into the Dawn

AGENTS

Mode

Determine your mode from the user's request before doing anything else:

  • Plan — User describes a feature, bug, or idea. The Project Manager reads GAME_DESIGN + PROGRESS + TODOS, consults relevant experts to flesh out the plan, produces concrete steps, creates/updates TODO entries, and stops for user review. No code yet.
  • Build — User says "do this" or points at a specific TODO. The Project Manager identifies which experts and docs are relevant, gets their input on approach, then implements. After implementation, experts review and the PM runs the quality checklist. Lint and commit.
  • Review — User asks for review, or you're finishing a build. The Project Manager runs relevant experts against recent changes and produces a structured report with an overall assessment.
  • Loop — User explicitly requests the agent loop. Read Docs/AGENT_LOOP.md and follow it.
@jamonholmgren
jamonholmgren / Sync.gd
Created September 2, 2025 04:00
A Godot 4.4+ sync system. *Tips hat* This represents probably 50+ hours of hard work; I'm abandoning it, because I think simpler RPCs are probably better. But it still has a place in my heart.
# This class should be added as an autoload called "Sync".
# This is an efficient way to sync data to other players.
#
# Usage in a node:
# func _ready():
# Sync.enable(self)
#
# func on_sync(p: Sync.SyncPack) -> void:
# # All data is always collected
# global_transform = p.sync(global_transform)
mkdir -p "$HOME/homebrew"
git clone https://github.com/Homebrew/brew "$HOME/homebrew/.linuxbrew/Homebrew"
mkdir -p "$HOME/homebrew/bin"
ln -s "$HOME/homebrew/.linuxbrew/Homebrew/bin/brew" "$HOME/homebrew/bin/brew"
# Homebrew (per-user)
eval "$($HOME/homebrew/bin/brew shellenv)"
# Put casks in your user ~/Applications so we never need sudo
export HOMEBREW_CASK_OPTS="--appdir=$HOME/Applications"
mkdir -p "$HOME/Applications"
# Reload shell
@jamonholmgren
jamonholmgren / iphone-x-screen-unresponsive.md
Last active August 12, 2025 03:10
Here's how to reinstall iOS on an iPhone X when the screen is unresponsive (but still works otherwise).

How to reinstall iOS on an iPhone X where the touchscreen is unresponsive

My daughter's iPhone X got into a state where the touchscreen didn't respond to any touches. We force-restarted it several times by doing the "Up Volume, Down Volume, Hold Power" sequence, but it did not work -- the touchscreen stayed unresponsive.

I plugged it into my Mac with a lightning cable and went to Finder (because iTunes isn't available anymore). Clicking on the iPhone asks me to Trust it, but clicking Trust just results in a spinner. I think it wanted me to log into the iphone and tap Trust there, but of course I can't -- the touchscreen wasn't responding.

Trust me bro

So, I figured out this alternative sequence.

@jamonholmgren
jamonholmgren / 0-README.md
Last active August 6, 2025 13:45
Probably one of my more cursed spelunking expeditions. Run Objective-C from a string passed in from JavaScript.

Running Objective-C (sorta) from JavaScript directly

To do this:

const result = invokeObjC(`[[NSString stringWithString:[[[@[@"One", @"Two", @"Three"] mutableCopy] addObject:@"Four"] componentsJoinedByString:@" | "]] uppercaseString]`)
console.log(result) // "ONE | TWO | THREE | FOUR"

I don't know how useful this will be. But ... it was enjoyable to play with!

🧠 bit – A Human-Centered Git Wrapper

bit is a clean, intuitive layer over Git that uses plain English and readable tags to simplify common version control tasks.

  • No flags
  • No staging
  • No Git-isms
  • Just clean, natural workflows

@jamonholmgren
jamonholmgren / npm-vs-yarn-vs-bun-install-benchmarking.md
Last active July 29, 2025 18:40
npm vs yarn vs bun install benchmarking for ignite-cli

NPM vs Yarn -- install time benchmarking with Ignite CLI

Benchmark Results (average of 5 runs)

Test Scenario Lock Cache Yarn 4 Node 22 Node 24 Bun 1.2
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Earth and Moon 3D Simulation</title>
<style>
body {
margin: 0;
font-family: Arial, sans-serif;
@jamonholmgren
jamonholmgren / react-native-macos-start.md
Last active March 5, 2026 08:32
Getting started with react-native-macos (as of May 2, 2025 -- version 0.78.3)

Getting started with react-native-macos

React Native for macOS is a really powerful implementation of React Native for building Mac apps, but the RN macos documentation (as of today) is straight up wrong and won't work.

Here's how to spin one up!

Prerequisites

This assumes you are on a Mac and have installed all the prerequisites for RN iOS.