Skip to content

Instantly share code, notes, and snippets.

View wadehammes's full-sized avatar

Wade Hammes wadehammes

View GitHub Profile
@wadehammes
wadehammes / README.md
Last active October 28, 2026 10:37
st: Graphite-style (gt) wrapper for GitHub Stacks CLI (gh stack) — create/update/prune/checkout + cheatsheet

st — Graphite-style wrapper for gh stack

st is a zsh function that wraps the GitHub Stacks CLI (gh stack) with familiar Graphite (gt) command names. Use it to create stacked branches, amend commits, and restack upstack without remembering the full gh stack surface area.

Setup

Prerequisites

  • GitHub CLI (gh) v2.0+, authenticated
  • gh stack extension v0.1.1+ (v0.2.0+ for git worktrees, v0.2.1+ for SSH Host aliases and api_host in hosts.yml): gh extension install github/gh-stack
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABawAAAC5CAYAAADEfXiyAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAFauSURBVHgB7d1dchtHuuf/J7MgjWJuzF6ByiswvQLRKxC9AlMR50jj6LAlWO6O6CtJVx3RbQqS/HdwxJ4I0iuwtAJTKzC9AsMrMHwzoaFQmf986gUogABYAPFSAL6fc9jEG0mZLGT9KvPJTCMANlqrdRRbZw+MmHZib7xpNu91BACwsb5v/WfPObdnbXT+VfO/3ggAYC7I1QCwXcjVq9MQABsrD9W/hJs7Xrw+dBY+CNYAsKFeHR4dhFB9oredS9rhE8EaAOYgz9U/h5sxuRoANh+5erWsANhYkbP74dOOAAC2g4m+EADA3OW5OhYAwHYgV68UHdbABvN0VgPAVvHiYwEAzB25GgC2C7l6teiwBjaZoQoEALaKp0MFABaCXA0A24VcvVJ0WAMbzIi5LQCArdBqnWioJlgDwAKQqwFge5CrV48Oa2CDMXURALZHQ7q7AgBYCHI1AGwPcvXq0WENbDLvaWQBYFskjs4UAFgUcjUAbA9y9crRYQ1sqFbrmFANAFvEGaHdB4AFIFcDwHYhV68eHdbAhmqIYUQQALaIEfOJAADmjlwNANuFXL16dFgDG8o7x4ggAGwTw/qqALAI5GoA2DLk6pWjwxrYUN74OL1hpC0AgI3n++urdgQAMDfkagDYLuTq1aPDGthQRmw2hcXLnwIA2Git1olWgWSVIHSoAMBckasBYHuQq+uBDmtgQ/l+A3suAICN1pBuf7q6978LAGBuyNUAsD3I1fVAhzWwqfIpLM4TrAFg4yWutM6eod0HgHkiVwPA9iBX1wId1sAGarWOSxvDONZcAoAN54xk7T7VfwAwV+RqANgu5Op6oMMa2ECNJN8YRtmIRhYANpwR80n+mc4UAJgjcjUAbBdydT3QYQ1soN
# Your init script
#
# Atom will evaluate this file each time a new window is opened. It is run
# after packages are loaded/activated and after the previous editor state
# has been restored.
#
# An example hack to log to the console when each text editor is saved.
#
# atom.workspace.observeTextEditors (editor) ->
# editor.onDidSave ->
// Future versions of Hyper may add additional config options,
// which will not automatically be merged into this file.
// See https://hyper.is#cfg for all currently supported options.
module.exports = {
config: {
// default font size in pixels for all tabs
fontSize: 14,
// font family with optional fallbacks
@wadehammes
wadehammes / gist:ed91a9bd2bfa41f632fd7ddfd35f48ea
Created August 25, 2016 20:24
Product Roadmap: new feature
ZAZU = [
":',.... ';: ,:` .''' ````,:::::,:;;;::,;';:+;++;;;;;;'''';++#++++'''''''''''''''+#+#+++++++++++++"
":;,.... `';: ,, .'+'` `,`.:;;;;:;;';;;'';;:;;:':+' ..:,:;:#+###;+''.:;;;;;'''''';##+#+++++++++++++"
"::..... ``';, ,, .';'` `:;;:;;'''';''';''''+'';:;:+: `#+##,,''` .,::;;,####+++++++++++++"
",:..... `';, ., ,;;,` `.::;';;''''+''''''''''++'';;:, ,:++#+,;;` `####+''++++++++++"
".;....` ``';, ., .::.`.`,::;;''+'''+++++++++'''+'++'';, ';++++';'. ,`.'+';,,:;;'''+++"
".;.`...` `';, .. `.,,.,:::;;'''++++++++++++++++++++++';. ,++,#+++;;, '+;,`.;;;,.`,;:+++"
";:...... .';, .. ..:;';;;;;;'+++++++++++++++++++++++++':` ''+';++#+', +++#+;.`.;;:.``,'+"
";:.....` .':, .. `,,:;;''''''''++++++++++++++#+++++++++++', .'+#+ ++++': +++++ ,:,`,;;:.`."
";,......`.',, ..` .::;;;''+++++''+++#++++++++++++++#++++++++':,::;'+` ,++#+: .++++;
@wadehammes
wadehammes / fabfile.py
Last active February 2, 2016 02:54
My fabfile for deploying my Wordpress instances.
from fabric.api import *
import datetime, time
env.colorize_errors = 'true'
### Remote Path ###
env.work_dir = '/var/www/html'
### Environment Utilities ###
@task
@wadehammes
wadehammes / SassMeister-input.scss
Created December 16, 2014 17:03
Generated by SassMeister.com.
// ----
// Sass (v3.4.9)
// Compass (v1.0.1)
// ----
/*
Example use:
JS to split text into individual parts:
// Split text for animations.
@wadehammes
wadehammes / SassMeister-input.scss
Last active August 29, 2015 14:11
Generated by SassMeister.com.
// ----
// Sass (v3.4.9)
// Compass (v1.0.1)
// ----
/*
This is a mixin that allows you to dynamically create selectors on anything.
This is useful for split text animations, like below.
JS to split text into individual parts:
@wadehammes
wadehammes / SassMeister-input.scss
Last active August 29, 2015 14:07
SCSS Mixin to Generate Value-based Classes
// ----
// Sass (v3.4.9)
// Compass (v1.0.1)
// ----
$baseFontSize: 16px;
@function strip-units($number) {
@return $number / ($number * 0 + 1);
}
@wadehammes
wadehammes / SassMeister-input-HTML.html
Created October 9, 2014 21:14
Generated by SassMeister.com.
<header>
<a class="link" href="#"><i class="icon">~</i>Link 1</a>
<a class="link" href="#"><i class="icon">~</i>Link 1</a>
<a class="link" href="#"><i class="icon">~</i>Link 1</a>
<a class="link" href="#"><i class="icon">~</i>Link 1</a>
</header>
<div class="box">
</div>