Skip to content

Instantly share code, notes, and snippets.

View tatejennings's full-sized avatar
🏠
Working from home

Tate Jennings tatejennings

🏠
Working from home
View GitHub Profile
@tatejennings
tatejennings / swift-design-patterns.md
Last active March 1, 2026 00:58
Swift Design Patterns for Modern SwiftUI Apps

Swift Design Patterns for Modern SwiftUI Apps

A practical reference for design patterns that matter in modern SwiftUI development. This guide focuses on patterns that solve real problems in declarative, state-driven architectures — and explicitly calls out classic patterns that SwiftUI makes obsolete.


Table of Contents

  1. MVVM with @Observable
  2. MV Pattern (Model-View)
@tatejennings
tatejennings / solid-principles-swift.md
Last active March 1, 2026 00:21
SOLID Principles in Swift: A Developer's Reference Guide

SOLID Principles in Swift: A Developer's Reference Guide

A practical reference for applying SOLID principles in modern Swift development. Each principle includes the core concept, real-world Swift examples, common violations to watch for, and how it maps to modular Swift Package Manager (SPM) architectures.


Table of Contents

  1. Single Responsibility Principle (SRP)
  2. Open/Closed Principle (OCP)
@tatejennings
tatejennings / claude-code-docs-and-context-guide.md
Last active February 4, 2026 19:53
Claude Code Documentation & Context Management Guide

Claude Code Documentation & Context Management Guide

A reference guide for structuring project documentation and managing context effectively with Claude Code.


Project Documentation Structure

Recommended /docs Folder

@tatejennings
tatejennings / git-worktrees-quick-start-guide.md
Created January 29, 2026 21:53
Stop Stashing and Start Using Git Worktrees

Stop Stashing and Start Using Git Worktrees

If you've ever found yourself mid-feature, deep in a flow state, only to have someone ping you with "Can you hotfix this real quick?" — you know the pain. You stash your work, switch branches, fix the thing, switch back, pop the stash, and pray nothing got weird.

There's a better way. It's called git worktrees, and once you start using them, you'll wonder why you ever lived without them.

What's a Worktree?

A worktree lets you check out multiple branches of the same repo in different folders — simultaneously. No stashing. No switching. Just cd to another directory.

@tatejennings
tatejennings / git-essentials-for-gui-users.md
Created January 23, 2026 02:56
Git for GUI Users: Actually Understanding What You're Doing

Git for GUI Users: Actually Understanding What You're Doing

You've been clicking buttons in GitKraken/Fork/SourceTree for years. Here's what those buttons actually do.


The Mental Model

Git tracks snapshots of your project. Think of it like save points in a video game.

@tatejennings
tatejennings / SwiftAsyncAwaitBestPractices.md
Created January 17, 2026 22:22
Swift Async/Await Best Practices

Swift Async/Await Best Practices

A practical reference for writing clean, safe, and performant asynchronous Swift code.


Core Concepts

Marking Functions as Async

@tatejennings
tatejennings / .gitignore
Last active August 29, 2015 14:10 — forked from wwvuillemot/.gitignore
Git Ignore for Unity 3D
# =============== #
# Unity generated #
# =============== #
# temporary files that you do not want to share with other users
Temp/
Obj/
UnityGenerated/
Library/
# optional, but you likely do not want to store
# your builds in your git repo due to size
@tatejennings
tatejennings / TopViewController
Last active August 29, 2015 14:08 — forked from snikch/gist:3661188
Get the top most view controller in an iOS application
- (UIViewController *)topViewController{
return [self topViewController:[UIApplication sharedApplication].keyWindow.rootViewController];
}
- (UIViewController *)topViewController:(UIViewController *)rootViewController {
if (rootViewController.presentedViewController == nil) {
return rootViewController;
}