alfred: remove unused workflows
The alfredworkflow clean filter goes too: its path went stale when the
prefs moved to macos/, and jj never runs git filters.

Assisted-by: Claude Opus 5.5 via Claude Code
change umtkyxkvploqnvuvyntxkvwzuqtyntql
commit 5ab8794ee98e932d235c960123accdfea5c87ea1
author Alpha Chen <alpha@kejadlen.dev>
date
parent llkyzoqw
diff --git a/.config/git/config b/.config/git/config
index 36fb247d..ef06f129 100644
--- a/.config/git/config
+++ b/.config/git/config
@@ -80,8 +80,6 @@
 [commit]
 	verbose = true
 	gpgsign = true
-[filter "alfredworkflow"]
-	clean = alfredworkflow.clean
 [filter "dash-prefs"]
 	clean = clean-dash-prefs
 [filter "lfs"]
diff --git a/.gitattributes b/.gitattributes
index beda7f58..ef22ff80 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -1,2 +1 @@
-Alfred.alfredpreferences/workflows/*/info.plist filter=alfredworkflow
 macos/Dash.dashsync/Preferences.plist filter=dash-prefs
diff --git a/.gitmodules b/.gitmodules
index 865c522f..d8d71760 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,22 +1,3 @@
-[submodule "src/giphy.alfredworkflow"]
-	path = src/giphy.alfredworkflow
-	url = https://github.com/kejadlen/giphy.alfredworkflow.git
-[submodule "src/dark-sky.alfredworkflow"]
-	path = src/pirate-weather.alfredworkflow
-	url = https://github.com/kejadlen/pirate-weather.alfredworkflow.git
-[submodule "faker.alfredworkflow"]
-	path = src/faker.alfredworkflow
-	url = https://github.com/kejadlen/faker.alfredworkflow.git
-[submodule "fast-user-switching.alfredworkflow"]
-	path = src/fast-user-switching.alfredworkflow
-	url = https://github.com/kejadlen/fast-user-switching.alfredworkflow.git
-[submodule "soulver.alfredworkflow"]
-	path = src/soulver.alfredworkflow
-	url = https://github.com/kejadlen/soulver.alfredworkflow.git
-	branch = main
-[submodule "frink.alfredworkflow"]
-	path = src/frink.alfredworkflow
-	url = https://github.com/kejadlen/frink.alfredworkflow
 [submodule "fzf-git.sh"]
 	path = src/fzf-git.sh
 	url = https://github.com/kejadlen/fzf-git.sh.git
diff --git a/AGENTS.md b/AGENTS.md
index 073578c1..123e23c3 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -14,7 +14,7 @@ Key directories:
 - `ai/_AGENTS.md` — global agent conventions shared by both agents (symlinked in as `~/.pi/agent/AGENTS.md`; `ai/claude/CLAUDE.md` imports it)
 - `.ssh/` — SSH config
 - `.zsh/` — Zsh config
-- `src/` — git submodules (Alfred workflows, fzf-git, tpm)
+- `src/` — git submodules (fzf-git, tpm)
 - `Brewfile` — Homebrew dependencies
 
 ## Version Control
diff --git a/bin/alfredworkflow.clean b/bin/alfredworkflow.clean
deleted file mode 100755
index a98c9def..00000000
Binary files a/bin/alfredworkflow.clean and /dev/null differ
diff --git a/macos/Alfred.alfredpreferences/workflows/emoji b/macos/Alfred.alfredpreferences/workflows/emoji
deleted file mode 120000
index f65b8b6c..00000000
--- a/macos/Alfred.alfredpreferences/workflows/emoji
+++ /dev/null
@@ -1 +0,0 @@
-/Users/alpha/.dotfiles/src/emoji.alfredworkflow/workflow
\ No newline at end of file
diff --git a/macos/Alfred.alfredpreferences/workflows/faker b/macos/Alfred.alfredpreferences/workflows/faker
deleted file mode 120000
index 3944078f..00000000
--- a/macos/Alfred.alfredpreferences/workflows/faker
+++ /dev/null
@@ -1 +0,0 @@
-/Users/alpha/.dotfiles/src/faker.alfredworkflow
\ No newline at end of file
diff --git a/macos/Alfred.alfredpreferences/workflows/frink b/macos/Alfred.alfredpreferences/workflows/frink
deleted file mode 120000
index bf4d53f6..00000000
--- a/macos/Alfred.alfredpreferences/workflows/frink
+++ /dev/null
@@ -1 +0,0 @@
-/Users/alpha/.dotfiles/src/frink.alfredworkflow/workflow
\ No newline at end of file
diff --git a/macos/Alfred.alfredpreferences/workflows/giphy b/macos/Alfred.alfredpreferences/workflows/giphy
deleted file mode 120000
index e92dee87..00000000
--- a/macos/Alfred.alfredpreferences/workflows/giphy
+++ /dev/null
@@ -1 +0,0 @@
-/Users/alpha/.dotfiles/src/giphy.alfredworkflow/workflow
\ No newline at end of file
diff --git a/macos/Alfred.alfredpreferences/workflows/pirate-weather b/macos/Alfred.alfredpreferences/workflows/pirate-weather
deleted file mode 120000
index 2d3c2fa7..00000000
--- a/macos/Alfred.alfredpreferences/workflows/pirate-weather
+++ /dev/null
@@ -1 +0,0 @@
-/Users/alpha/.dotfiles/src/pirate-weather.alfredworkflow/workflow
\ No newline at end of file
diff --git a/macos/Alfred.alfredpreferences/workflows/soulver b/macos/Alfred.alfredpreferences/workflows/soulver
deleted file mode 120000
index 39ceceb2..00000000
--- a/macos/Alfred.alfredpreferences/workflows/soulver
+++ /dev/null
@@ -1 +0,0 @@
-/Users/alpha/.dotfiles/src/soulver.alfredworkflow/workflow
\ No newline at end of file
diff --git a/macos/Alfred.alfredpreferences/workflows/user.workflow.2DA2DBB5-8E61-456C-800C-F90E52E7FBB6 b/macos/Alfred.alfredpreferences/workflows/user.workflow.2DA2DBB5-8E61-456C-800C-F90E52E7FBB6
deleted file mode 120000
index 8efb6393..00000000
--- a/macos/Alfred.alfredpreferences/workflows/user.workflow.2DA2DBB5-8E61-456C-800C-F90E52E7FBB6
+++ /dev/null
@@ -1 +0,0 @@
-/Users/alpha/.dotfiles/src/alphred-tools/workflow
\ No newline at end of file
diff --git a/macos/Alfred.alfredpreferences/workflows/user.workflow.6EF87002-83DE-4BCF-AFE5-380719D3BA30/icon.png b/macos/Alfred.alfredpreferences/workflows/user.workflow.6EF87002-83DE-4BCF-AFE5-380719D3BA30/icon.png
deleted file mode 100644
index 1a15d86c..00000000
Binary files a/macos/Alfred.alfredpreferences/workflows/user.workflow.6EF87002-83DE-4BCF-AFE5-380719D3BA30/icon.png and /dev/null differ
diff --git a/macos/Alfred.alfredpreferences/workflows/user.workflow.6EF87002-83DE-4BCF-AFE5-380719D3BA30/info.plist b/macos/Alfred.alfredpreferences/workflows/user.workflow.6EF87002-83DE-4BCF-AFE5-380719D3BA30/info.plist
deleted file mode 100644
index 2108c048..00000000
--- a/macos/Alfred.alfredpreferences/workflows/user.workflow.6EF87002-83DE-4BCF-AFE5-380719D3BA30/info.plist
+++ /dev/null
@@ -1,167 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>bundleid</key>
-	<string>dev.kejadlen.pi-hole</string>
-	<key>category</key>
-	<string>Internet</string>
-	<key>connections</key>
-	<dict>
-		<key>C5FE7C51-5B6E-467C-817E-EF5F01B03533</key>
-		<array>
-			<dict>
-				<key>destinationuid</key>
-				<string>526D4C81-72C4-4B9E-81B0-64D88E8A0E9D</string>
-				<key>modifiers</key>
-				<integer>0</integer>
-				<key>modifiersubtext</key>
-				<string></string>
-				<key>vitoclose</key>
-				<false/>
-			</dict>
-		</array>
-		<key>F25A1BF6-EFD4-4D76-A569-8F66D1917539</key>
-		<array>
-			<dict>
-				<key>destinationuid</key>
-				<string>C5FE7C51-5B6E-467C-817E-EF5F01B03533</string>
-				<key>modifiers</key>
-				<integer>0</integer>
-				<key>modifiersubtext</key>
-				<string></string>
-				<key>vitoclose</key>
-				<false/>
-			</dict>
-		</array>
-	</dict>
-	<key>createdby</key>
-	<string>Alpha Chen</string>
-	<key>description</key>
-	<string></string>
-	<key>disabled</key>
-	<false/>
-	<key>name</key>
-	<string>Pi-hole</string>
-	<key>objects</key>
-	<array>
-		<dict>
-			<key>config</key>
-			<dict>
-				<key>lastpathcomponent</key>
-				<false/>
-				<key>onlyshowifquerypopulated</key>
-				<false/>
-				<key>removeextension</key>
-				<false/>
-				<key>text</key>
-				<string></string>
-				<key>title</key>
-				<string>Pi-hole disabled</string>
-			</dict>
-			<key>type</key>
-			<string>alfred.workflow.output.notification</string>
-			<key>uid</key>
-			<string>526D4C81-72C4-4B9E-81B0-64D88E8A0E9D</string>
-			<key>version</key>
-			<integer>1</integer>
-		</dict>
-		<dict>
-			<key>config</key>
-			<dict>
-				<key>concurrently</key>
-				<false/>
-				<key>escaping</key>
-				<integer>102</integer>
-				<key>script</key>
-				<string>query=$1
-
-curl -v "https://$PIHOLE_HOST/admin/api.php?disable={query}&amp;auth=$API_TOKEN"</string>
-				<key>scriptargtype</key>
-				<integer>0</integer>
-				<key>scriptfile</key>
-				<string></string>
-				<key>type</key>
-				<integer>0</integer>
-			</dict>
-			<key>type</key>
-			<string>alfred.workflow.action.script</string>
-			<key>uid</key>
-			<string>C5FE7C51-5B6E-467C-817E-EF5F01B03533</string>
-			<key>version</key>
-			<integer>2</integer>
-		</dict>
-		<dict>
-			<key>config</key>
-			<dict>
-				<key>argumenttrimmode</key>
-				<integer>0</integer>
-				<key>argumenttype</key>
-				<integer>1</integer>
-				<key>fixedorder</key>
-				<false/>
-				<key>items</key>
-				<string>[{"title":"30 seconds","arg":"30"},{"title":"1 minute","arg":"60"},{"title":"5 minutes","arg":"120","subtitle":""}]</string>
-				<key>keyword</key>
-				<string>ph</string>
-				<key>runningsubtext</key>
-				<string></string>
-				<key>subtext</key>
-				<string></string>
-				<key>title</key>
-				<string></string>
-				<key>withspace</key>
-				<true/>
-			</dict>
-			<key>type</key>
-			<string>alfred.workflow.input.listfilter</string>
-			<key>uid</key>
-			<string>F25A1BF6-EFD4-4D76-A569-8F66D1917539</string>
-			<key>version</key>
-			<integer>1</integer>
-		</dict>
-	</array>
-	<key>readme</key>
-	<string></string>
-	<key>uidata</key>
-	<dict>
-		<key>526D4C81-72C4-4B9E-81B0-64D88E8A0E9D</key>
-		<dict>
-			<key>xpos</key>
-			<integer>465</integer>
-			<key>ypos</key>
-			<integer>45</integer>
-		</dict>
-		<key>C5FE7C51-5B6E-467C-817E-EF5F01B03533</key>
-		<dict>
-			<key>xpos</key>
-			<integer>255</integer>
-			<key>ypos</key>
-			<integer>45</integer>
-		</dict>
-		<key>F25A1BF6-EFD4-4D76-A569-8F66D1917539</key>
-		<dict>
-			<key>xpos</key>
-			<integer>45</integer>
-			<key>ypos</key>
-			<integer>45</integer>
-		</dict>
-	</dict>
-	<key>variables</key>
-	<dict>
-		<key>API_TOKEN</key>
-		<string>0747e372decf96f455c816d84af4dcdb9035f534ee031b7a1cf99812e923a114</string>
-		<key>PIHOLE_HOST</key>
-		<string>pihole.kejadlen.dev</string>
-	</dict>
-	<key>variablesdontexport</key>
-	<array>
-		<string>API_TOKEN</string>
-		<string>PIHOLE_HOST</string>
-	</array>
-	<key>version</key>
-	<string></string>
-	<key>webaddress</key>
-	<string></string>
-</dict>
-</plist>
diff --git a/macos/Alfred.alfredpreferences/workflows/user.workflow.A95313FB-58AA-4D06-BBFC-524DCC42040F/98E2E165-F282-4876-AFF5-CD0DE474E024.png b/macos/Alfred.alfredpreferences/workflows/user.workflow.A95313FB-58AA-4D06-BBFC-524DCC42040F/98E2E165-F282-4876-AFF5-CD0DE474E024.png
deleted file mode 100644
index cf3b2f67..00000000
Binary files a/macos/Alfred.alfredpreferences/workflows/user.workflow.A95313FB-58AA-4D06-BBFC-524DCC42040F/98E2E165-F282-4876-AFF5-CD0DE474E024.png and /dev/null differ
diff --git a/macos/Alfred.alfredpreferences/workflows/user.workflow.A95313FB-58AA-4D06-BBFC-524DCC42040F/icon.png b/macos/Alfred.alfredpreferences/workflows/user.workflow.A95313FB-58AA-4D06-BBFC-524DCC42040F/icon.png
deleted file mode 100644
index cf3b2f67..00000000
Binary files a/macos/Alfred.alfredpreferences/workflows/user.workflow.A95313FB-58AA-4D06-BBFC-524DCC42040F/icon.png and /dev/null differ
diff --git a/macos/Alfred.alfredpreferences/workflows/user.workflow.A95313FB-58AA-4D06-BBFC-524DCC42040F/info.plist b/macos/Alfred.alfredpreferences/workflows/user.workflow.A95313FB-58AA-4D06-BBFC-524DCC42040F/info.plist
deleted file mode 100644
index 9d3102d5..00000000
--- a/macos/Alfred.alfredpreferences/workflows/user.workflow.A95313FB-58AA-4D06-BBFC-524DCC42040F/info.plist
+++ /dev/null
@@ -1,606 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>bundleid</key>
-	<string>com.aribtrarydefinitions.openinbrowser</string>
-	<key>category</key>
-	<string>Internet</string>
-	<key>connections</key>
-	<dict>
-		<key>1321D9F3-D897-44DC-BC6E-E01FB1304925</key>
-		<array>
-			<dict>
-				<key>destinationuid</key>
-				<string>75FB0C05-5AF8-4881-A885-6CAF3D7E1AD0</string>
-				<key>modifiers</key>
-				<integer>0</integer>
-				<key>modifiersubtext</key>
-				<string></string>
-				<key>vitoclose</key>
-				<false/>
-			</dict>
-		</array>
-		<key>220A3302-AC8B-456F-B181-EB6D20227FAD</key>
-		<array>
-			<dict>
-				<key>destinationuid</key>
-				<string>75FB0C05-5AF8-4881-A885-6CAF3D7E1AD0</string>
-				<key>modifiers</key>
-				<integer>0</integer>
-				<key>modifiersubtext</key>
-				<string></string>
-				<key>vitoclose</key>
-				<false/>
-			</dict>
-		</array>
-		<key>30436B39-AC9B-49B1-85A2-6F0574BCA081</key>
-		<array>
-			<dict>
-				<key>destinationuid</key>
-				<string>75FB0C05-5AF8-4881-A885-6CAF3D7E1AD0</string>
-				<key>modifiers</key>
-				<integer>0</integer>
-				<key>modifiersubtext</key>
-				<string></string>
-				<key>vitoclose</key>
-				<false/>
-			</dict>
-		</array>
-		<key>57787536-2F49-40B1-A9BD-DA657B3BA5B4</key>
-		<array>
-			<dict>
-				<key>destinationuid</key>
-				<string>95C2F736-8349-4A86-A264-A49F1B5CF664</string>
-				<key>modifiers</key>
-				<integer>0</integer>
-				<key>modifiersubtext</key>
-				<string></string>
-				<key>vitoclose</key>
-				<false/>
-			</dict>
-		</array>
-		<key>620103E3-E75D-40A8-A685-EF786B0EB5C5</key>
-		<array>
-			<dict>
-				<key>destinationuid</key>
-				<string>33048D95-C067-4DAA-892F-8F8E23FF84D8</string>
-				<key>modifiers</key>
-				<integer>0</integer>
-				<key>modifiersubtext</key>
-				<string></string>
-				<key>vitoclose</key>
-				<false/>
-			</dict>
-		</array>
-		<key>75FB0C05-5AF8-4881-A885-6CAF3D7E1AD0</key>
-		<array>
-			<dict>
-				<key>destinationuid</key>
-				<string>768DCDCD-2542-4E12-A547-68B9332111BD</string>
-				<key>modifiers</key>
-				<integer>0</integer>
-				<key>modifiersubtext</key>
-				<string></string>
-				<key>vitoclose</key>
-				<false/>
-			</dict>
-			<dict>
-				<key>destinationuid</key>
-				<string>57787536-2F49-40B1-A9BD-DA657B3BA5B4</string>
-				<key>modifiers</key>
-				<integer>0</integer>
-				<key>modifiersubtext</key>
-				<string></string>
-				<key>vitoclose</key>
-				<false/>
-			</dict>
-			<dict>
-				<key>destinationuid</key>
-				<string>620103E3-E75D-40A8-A685-EF786B0EB5C5</string>
-				<key>modifiers</key>
-				<integer>0</integer>
-				<key>modifiersubtext</key>
-				<string></string>
-				<key>vitoclose</key>
-				<false/>
-			</dict>
-			<dict>
-				<key>destinationuid</key>
-				<string>E5252AD2-EE3D-4457-BF33-952BE5892DD4</string>
-				<key>modifiers</key>
-				<integer>0</integer>
-				<key>modifiersubtext</key>
-				<string></string>
-				<key>vitoclose</key>
-				<false/>
-			</dict>
-		</array>
-		<key>768DCDCD-2542-4E12-A547-68B9332111BD</key>
-		<array>
-			<dict>
-				<key>destinationuid</key>
-				<string>1834C066-2588-468B-AC6A-8ABC71ED43BE</string>
-				<key>modifiers</key>
-				<integer>0</integer>
-				<key>modifiersubtext</key>
-				<string></string>
-				<key>vitoclose</key>
-				<false/>
-			</dict>
-		</array>
-		<key>98E2E165-F282-4876-AFF5-CD0DE474E024</key>
-		<array>
-			<dict>
-				<key>destinationuid</key>
-				<string>30436B39-AC9B-49B1-85A2-6F0574BCA081</string>
-				<key>modifiers</key>
-				<integer>0</integer>
-				<key>modifiersubtext</key>
-				<string></string>
-				<key>vitoclose</key>
-				<false/>
-			</dict>
-			<dict>
-				<key>destinationuid</key>
-				<string>220A3302-AC8B-456F-B181-EB6D20227FAD</string>
-				<key>modifiers</key>
-				<integer>262144</integer>
-				<key>modifiersubtext</key>
-				<string>Chrome</string>
-				<key>vitoclose</key>
-				<false/>
-			</dict>
-			<dict>
-				<key>destinationuid</key>
-				<string>1321D9F3-D897-44DC-BC6E-E01FB1304925</string>
-				<key>modifiers</key>
-				<integer>524288</integer>
-				<key>modifiersubtext</key>
-				<string>Firefox</string>
-				<key>vitoclose</key>
-				<false/>
-			</dict>
-			<dict>
-				<key>destinationuid</key>
-				<string>9E52CEE5-3CED-4C0E-9370-B6E4BA9860D9</string>
-				<key>modifiers</key>
-				<integer>1048576</integer>
-				<key>modifiersubtext</key>
-				<string>Safari</string>
-				<key>vitoclose</key>
-				<false/>
-			</dict>
-		</array>
-		<key>9E52CEE5-3CED-4C0E-9370-B6E4BA9860D9</key>
-		<array>
-			<dict>
-				<key>destinationuid</key>
-				<string>75FB0C05-5AF8-4881-A885-6CAF3D7E1AD0</string>
-				<key>modifiers</key>
-				<integer>0</integer>
-				<key>modifiersubtext</key>
-				<string></string>
-				<key>vitoclose</key>
-				<false/>
-			</dict>
-		</array>
-		<key>E5252AD2-EE3D-4457-BF33-952BE5892DD4</key>
-		<array>
-			<dict>
-				<key>destinationuid</key>
-				<string>A4ABEB7A-F7F4-4318-B7D2-6A9CA5ED9DC9</string>
-				<key>modifiers</key>
-				<integer>0</integer>
-				<key>modifiersubtext</key>
-				<string></string>
-				<key>vitoclose</key>
-				<false/>
-			</dict>
-		</array>
-	</dict>
-	<key>createdby</key>
-	<string>Alpha Chen</string>
-	<key>description</key>
-	<string></string>
-	<key>disabled</key>
-	<false/>
-	<key>name</key>
-	<string>Open in Browser</string>
-	<key>objects</key>
-	<array>
-		<dict>
-			<key>config</key>
-			<dict>
-				<key>browser</key>
-				<string></string>
-				<key>spaces</key>
-				<string></string>
-				<key>url</key>
-				<string>{query}</string>
-				<key>utf8</key>
-				<true/>
-			</dict>
-			<key>type</key>
-			<string>alfred.workflow.action.openurl</string>
-			<key>uid</key>
-			<string>1834C066-2588-468B-AC6A-8ABC71ED43BE</string>
-			<key>version</key>
-			<integer>1</integer>
-		</dict>
-		<dict>
-			<key>config</key>
-			<dict>
-				<key>inputstring</key>
-				<string>{var:browser}</string>
-				<key>matchcasesensitive</key>
-				<true/>
-				<key>matchmode</key>
-				<integer>0</integer>
-				<key>matchstring</key>
-				<string>default</string>
-			</dict>
-			<key>type</key>
-			<string>alfred.workflow.utility.filter</string>
-			<key>uid</key>
-			<string>768DCDCD-2542-4E12-A547-68B9332111BD</string>
-			<key>version</key>
-			<integer>1</integer>
-		</dict>
-		<dict>
-			<key>config</key>
-			<dict>
-				<key>argument</key>
-				<string>{query}</string>
-				<key>passthroughargument</key>
-				<false/>
-				<key>variables</key>
-				<dict>
-					<key>browser</key>
-					<string>default</string>
-				</dict>
-			</dict>
-			<key>type</key>
-			<string>alfred.workflow.utility.argument</string>
-			<key>uid</key>
-			<string>30436B39-AC9B-49B1-85A2-6F0574BCA081</string>
-			<key>version</key>
-			<integer>1</integer>
-		</dict>
-		<dict>
-			<key>config</key>
-			<dict>
-				<key>browser</key>
-				<string>com.google.chrome</string>
-				<key>spaces</key>
-				<string></string>
-				<key>url</key>
-				<string>{query}</string>
-				<key>utf8</key>
-				<true/>
-			</dict>
-			<key>type</key>
-			<string>alfred.workflow.action.openurl</string>
-			<key>uid</key>
-			<string>95C2F736-8349-4A86-A264-A49F1B5CF664</string>
-			<key>version</key>
-			<integer>1</integer>
-		</dict>
-		<dict>
-			<key>config</key>
-			<dict>
-				<key>inputstring</key>
-				<string>{var:browser}</string>
-				<key>matchcasesensitive</key>
-				<true/>
-				<key>matchmode</key>
-				<integer>0</integer>
-				<key>matchstring</key>
-				<string>chrome</string>
-			</dict>
-			<key>type</key>
-			<string>alfred.workflow.utility.filter</string>
-			<key>uid</key>
-			<string>57787536-2F49-40B1-A9BD-DA657B3BA5B4</string>
-			<key>version</key>
-			<integer>1</integer>
-		</dict>
-		<dict>
-			<key>config</key>
-			<dict>
-				<key>argument</key>
-				<string></string>
-				<key>passthroughargument</key>
-				<false/>
-				<key>variables</key>
-				<dict>
-					<key>browser</key>
-					<string>chrome</string>
-				</dict>
-			</dict>
-			<key>type</key>
-			<string>alfred.workflow.utility.argument</string>
-			<key>uid</key>
-			<string>220A3302-AC8B-456F-B181-EB6D20227FAD</string>
-			<key>version</key>
-			<integer>1</integer>
-		</dict>
-		<dict>
-			<key>config</key>
-			<dict>
-				<key>argumenttype</key>
-				<integer>1</integer>
-				<key>keyword</key>
-				<string>b</string>
-				<key>subtext</key>
-				<string>Default</string>
-				<key>text</key>
-				<string>Open in Browser</string>
-				<key>withspace</key>
-				<true/>
-			</dict>
-			<key>type</key>
-			<string>alfred.workflow.input.keyword</string>
-			<key>uid</key>
-			<string>98E2E165-F282-4876-AFF5-CD0DE474E024</string>
-			<key>version</key>
-			<integer>1</integer>
-		</dict>
-		<dict>
-			<key>config</key>
-			<dict>
-				<key>concurrently</key>
-				<false/>
-				<key>escaping</key>
-				<integer>102</integer>
-				<key>script</key>
-				<string>url = ARGV.first
-url = `pbpaste`.chomp if url.empty?
-url = "https://#{url}" unless url =~ %r|^[\w]+://|
-print url</string>
-				<key>scriptargtype</key>
-				<integer>1</integer>
-				<key>scriptfile</key>
-				<string></string>
-				<key>type</key>
-				<integer>2</integer>
-			</dict>
-			<key>type</key>
-			<string>alfred.workflow.action.script</string>
-			<key>uid</key>
-			<string>75FB0C05-5AF8-4881-A885-6CAF3D7E1AD0</string>
-			<key>version</key>
-			<integer>2</integer>
-		</dict>
-		<dict>
-			<key>config</key>
-			<dict>
-				<key>browser</key>
-				<string>org.mozilla.firefoxdeveloperedition</string>
-				<key>spaces</key>
-				<string></string>
-				<key>url</key>
-				<string>{query}</string>
-				<key>utf8</key>
-				<true/>
-			</dict>
-			<key>type</key>
-			<string>alfred.workflow.action.openurl</string>
-			<key>uid</key>
-			<string>33048D95-C067-4DAA-892F-8F8E23FF84D8</string>
-			<key>version</key>
-			<integer>1</integer>
-		</dict>
-		<dict>
-			<key>config</key>
-			<dict>
-				<key>argument</key>
-				<string></string>
-				<key>passthroughargument</key>
-				<false/>
-				<key>variables</key>
-				<dict>
-					<key>browser</key>
-					<string>firefox</string>
-				</dict>
-			</dict>
-			<key>type</key>
-			<string>alfred.workflow.utility.argument</string>
-			<key>uid</key>
-			<string>1321D9F3-D897-44DC-BC6E-E01FB1304925</string>
-			<key>version</key>
-			<integer>1</integer>
-		</dict>
-		<dict>
-			<key>config</key>
-			<dict>
-				<key>inputstring</key>
-				<string>{var:browser}</string>
-				<key>matchcasesensitive</key>
-				<true/>
-				<key>matchmode</key>
-				<integer>0</integer>
-				<key>matchstring</key>
-				<string>firefox</string>
-			</dict>
-			<key>type</key>
-			<string>alfred.workflow.utility.filter</string>
-			<key>uid</key>
-			<string>620103E3-E75D-40A8-A685-EF786B0EB5C5</string>
-			<key>version</key>
-			<integer>1</integer>
-		</dict>
-		<dict>
-			<key>config</key>
-			<dict>
-				<key>argument</key>
-				<string></string>
-				<key>passthroughargument</key>
-				<false/>
-				<key>variables</key>
-				<dict>
-					<key>browser</key>
-					<string>safari</string>
-				</dict>
-			</dict>
-			<key>type</key>
-			<string>alfred.workflow.utility.argument</string>
-			<key>uid</key>
-			<string>9E52CEE5-3CED-4C0E-9370-B6E4BA9860D9</string>
-			<key>version</key>
-			<integer>1</integer>
-		</dict>
-		<dict>
-			<key>config</key>
-			<dict>
-				<key>browser</key>
-				<string>com.apple.Safari</string>
-				<key>spaces</key>
-				<string></string>
-				<key>url</key>
-				<string>{query}</string>
-				<key>utf8</key>
-				<true/>
-			</dict>
-			<key>type</key>
-			<string>alfred.workflow.action.openurl</string>
-			<key>uid</key>
-			<string>A4ABEB7A-F7F4-4318-B7D2-6A9CA5ED9DC9</string>
-			<key>version</key>
-			<integer>1</integer>
-		</dict>
-		<dict>
-			<key>config</key>
-			<dict>
-				<key>inputstring</key>
-				<string>{var:browser}</string>
-				<key>matchcasesensitive</key>
-				<true/>
-				<key>matchmode</key>
-				<integer>0</integer>
-				<key>matchstring</key>
-				<string>safari</string>
-			</dict>
-			<key>type</key>
-			<string>alfred.workflow.utility.filter</string>
-			<key>uid</key>
-			<string>E5252AD2-EE3D-4457-BF33-952BE5892DD4</string>
-			<key>version</key>
-			<integer>1</integer>
-		</dict>
-	</array>
-	<key>readme</key>
-	<string></string>
-	<key>uidata</key>
-	<dict>
-		<key>1321D9F3-D897-44DC-BC6E-E01FB1304925</key>
-		<dict>
-			<key>note</key>
-			<string>Firefox</string>
-			<key>xpos</key>
-			<integer>310</integer>
-			<key>ypos</key>
-			<integer>270</integer>
-		</dict>
-		<key>1834C066-2588-468B-AC6A-8ABC71ED43BE</key>
-		<dict>
-			<key>xpos</key>
-			<integer>830</integer>
-			<key>ypos</key>
-			<integer>20</integer>
-		</dict>
-		<key>220A3302-AC8B-456F-B181-EB6D20227FAD</key>
-		<dict>
-			<key>note</key>
-			<string>Chrome</string>
-			<key>xpos</key>
-			<integer>310</integer>
-			<key>ypos</key>
-			<integer>180</integer>
-		</dict>
-		<key>30436B39-AC9B-49B1-85A2-6F0574BCA081</key>
-		<dict>
-			<key>note</key>
-			<string>Default</string>
-			<key>xpos</key>
-			<integer>310</integer>
-			<key>ypos</key>
-			<integer>90</integer>
-		</dict>
-		<key>33048D95-C067-4DAA-892F-8F8E23FF84D8</key>
-		<dict>
-			<key>xpos</key>
-			<integer>830</integer>
-			<key>ypos</key>
-			<integer>260</integer>
-		</dict>
-		<key>57787536-2F49-40B1-A9BD-DA657B3BA5B4</key>
-		<dict>
-			<key>xpos</key>
-			<integer>730</integer>
-			<key>ypos</key>
-			<integer>170</integer>
-		</dict>
-		<key>620103E3-E75D-40A8-A685-EF786B0EB5C5</key>
-		<dict>
-			<key>xpos</key>
-			<integer>730</integer>
-			<key>ypos</key>
-			<integer>290</integer>
-		</dict>
-		<key>75FB0C05-5AF8-4881-A885-6CAF3D7E1AD0</key>
-		<dict>
-			<key>xpos</key>
-			<integer>480</integer>
-			<key>ypos</key>
-			<integer>200</integer>
-		</dict>
-		<key>768DCDCD-2542-4E12-A547-68B9332111BD</key>
-		<dict>
-			<key>xpos</key>
-			<integer>730</integer>
-			<key>ypos</key>
-			<integer>50</integer>
-		</dict>
-		<key>95C2F736-8349-4A86-A264-A49F1B5CF664</key>
-		<dict>
-			<key>xpos</key>
-			<integer>830</integer>
-			<key>ypos</key>
-			<integer>140</integer>
-		</dict>
-		<key>98E2E165-F282-4876-AFF5-CD0DE474E024</key>
-		<dict>
-			<key>xpos</key>
-			<integer>40</integer>
-			<key>ypos</key>
-			<integer>200</integer>
-		</dict>
-		<key>9E52CEE5-3CED-4C0E-9370-B6E4BA9860D9</key>
-		<dict>
-			<key>note</key>
-			<string>Safari</string>
-			<key>xpos</key>
-			<integer>310</integer>
-			<key>ypos</key>
-			<integer>360</integer>
-		</dict>
-		<key>A4ABEB7A-F7F4-4318-B7D2-6A9CA5ED9DC9</key>
-		<dict>
-			<key>xpos</key>
-			<integer>830</integer>
-			<key>ypos</key>
-			<integer>390</integer>
-		</dict>
-		<key>E5252AD2-EE3D-4457-BF33-952BE5892DD4</key>
-		<dict>
-			<key>xpos</key>
-			<integer>730</integer>
-			<key>ypos</key>
-			<integer>420</integer>
-		</dict>
-	</dict>
-	<key>webaddress</key>
-	<string>http://github.com/kejadlen</string>
-</dict>
-</plist>
diff --git a/macos/Alfred.alfredpreferences/workflows/user.workflow.F918039A-9360-42F3-A012-C37000F2CDEB/dashAlfredWorkflow b/macos/Alfred.alfredpreferences/workflows/user.workflow.F918039A-9360-42F3-A012-C37000F2CDEB/dashAlfredWorkflow
deleted file mode 100755
index be592ade..00000000
Binary files a/macos/Alfred.alfredpreferences/workflows/user.workflow.F918039A-9360-42F3-A012-C37000F2CDEB/dashAlfredWorkflow and /dev/null differ
diff --git a/macos/Alfred.alfredpreferences/workflows/user.workflow.F918039A-9360-42F3-A012-C37000F2CDEB/dash_keyword_crate.png b/macos/Alfred.alfredpreferences/workflows/user.workflow.F918039A-9360-42F3-A012-C37000F2CDEB/dash_keyword_crate.png
deleted file mode 100644
index 07fbac83..00000000
Binary files a/macos/Alfred.alfredpreferences/workflows/user.workflow.F918039A-9360-42F3-A012-C37000F2CDEB/dash_keyword_crate.png and /dev/null differ
diff --git a/macos/Alfred.alfredpreferences/workflows/user.workflow.F918039A-9360-42F3-A012-C37000F2CDEB/dash_keyword_hs.png b/macos/Alfred.alfredpreferences/workflows/user.workflow.F918039A-9360-42F3-A012-C37000F2CDEB/dash_keyword_hs.png
deleted file mode 100644
index d8e263b5..00000000
Binary files a/macos/Alfred.alfredpreferences/workflows/user.workflow.F918039A-9360-42F3-A012-C37000F2CDEB/dash_keyword_hs.png and /dev/null differ
diff --git a/macos/Alfred.alfredpreferences/workflows/user.workflow.F918039A-9360-42F3-A012-C37000F2CDEB/dash_keyword_rb.png b/macos/Alfred.alfredpreferences/workflows/user.workflow.F918039A-9360-42F3-A012-C37000F2CDEB/dash_keyword_rb.png
deleted file mode 100644
index c556595d..00000000
Binary files a/macos/Alfred.alfredpreferences/workflows/user.workflow.F918039A-9360-42F3-A012-C37000F2CDEB/dash_keyword_rb.png and /dev/null differ
diff --git a/macos/Alfred.alfredpreferences/workflows/user.workflow.F918039A-9360-42F3-A012-C37000F2CDEB/dash_keyword_rs.png b/macos/Alfred.alfredpreferences/workflows/user.workflow.F918039A-9360-42F3-A012-C37000F2CDEB/dash_keyword_rs.png
deleted file mode 100644
index 90c1b97d..00000000
Binary files a/macos/Alfred.alfredpreferences/workflows/user.workflow.F918039A-9360-42F3-A012-C37000F2CDEB/dash_keyword_rs.png and /dev/null differ
diff --git a/macos/Alfred.alfredpreferences/workflows/user.workflow.F918039A-9360-42F3-A012-C37000F2CDEB/dash_note_readme.png b/macos/Alfred.alfredpreferences/workflows/user.workflow.F918039A-9360-42F3-A012-C37000F2CDEB/dash_note_readme.png
deleted file mode 100755
index 70c7df3f..00000000
Binary files a/macos/Alfred.alfredpreferences/workflows/user.workflow.F918039A-9360-42F3-A012-C37000F2CDEB/dash_note_readme.png and /dev/null differ
diff --git a/macos/Alfred.alfredpreferences/workflows/user.workflow.F918039A-9360-42F3-A012-C37000F2CDEB/icon.png b/macos/Alfred.alfredpreferences/workflows/user.workflow.F918039A-9360-42F3-A012-C37000F2CDEB/icon.png
deleted file mode 100755
index fe386d3c..00000000
Binary files a/macos/Alfred.alfredpreferences/workflows/user.workflow.F918039A-9360-42F3-A012-C37000F2CDEB/icon.png and /dev/null differ
diff --git a/macos/Alfred.alfredpreferences/workflows/user.workflow.F918039A-9360-42F3-A012-C37000F2CDEB/info.plist b/macos/Alfred.alfredpreferences/workflows/user.workflow.F918039A-9360-42F3-A012-C37000F2CDEB/info.plist
deleted file mode 100644
index 3f9111ca..00000000
--- a/macos/Alfred.alfredpreferences/workflows/user.workflow.F918039A-9360-42F3-A012-C37000F2CDEB/info.plist
+++ /dev/null
@@ -1,596 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>bundleid</key>
-	<string>com.kapeli.dash.workflow</string>
-	<key>category</key>
-	<string>Tools</string>
-	<key>connections</key>
-	<dict>
-		<key>12B8CAB5-9FEE-46F2-B67E-026F4BE48A88</key>
-		<array>
-			<dict>
-				<key>destinationuid</key>
-				<string>5C09F008-55F3-4966-BACC-DF3176E148A5</string>
-				<key>modifiers</key>
-				<integer>0</integer>
-				<key>modifiersubtext</key>
-				<string></string>
-			</dict>
-		</array>
-		<key>406C4166-C9CF-496F-8DB1-D43CE5211BEA</key>
-		<array>
-			<dict>
-				<key>destinationuid</key>
-				<string>5C09F008-55F3-4966-BACC-DF3176E148A5</string>
-				<key>modifiers</key>
-				<integer>0</integer>
-				<key>modifiersubtext</key>
-				<string></string>
-			</dict>
-		</array>
-		<key>5C09F008-55F3-4966-BACC-DF3176E148A5</key>
-		<array>
-			<dict>
-				<key>destinationuid</key>
-				<string>dash_action_normal</string>
-				<key>modifiers</key>
-				<integer>0</integer>
-				<key>modifiersubtext</key>
-				<string></string>
-			</dict>
-			<dict>
-				<key>destinationuid</key>
-				<string>dash_action_cmd</string>
-				<key>modifiers</key>
-				<integer>1048576</integer>
-				<key>modifiersubtext</key>
-				<string>Open</string>
-			</dict>
-			<dict>
-				<key>destinationuid</key>
-				<string>dash_action_alt</string>
-				<key>modifiers</key>
-				<integer>524288</integer>
-				<key>modifiersubtext</key>
-				<string>Copy</string>
-			</dict>
-		</array>
-		<key>dash_keyword_crate</key>
-		<array>
-			<dict>
-				<key>destinationuid</key>
-				<string>dash_action_normal</string>
-				<key>modifiers</key>
-				<integer>0</integer>
-				<key>modifiersubtext</key>
-				<string></string>
-			</dict>
-			<dict>
-				<key>destinationuid</key>
-				<string>dash_action_cmd</string>
-				<key>modifiers</key>
-				<integer>1048576</integer>
-				<key>modifiersubtext</key>
-				<string></string>
-			</dict>
-			<dict>
-				<key>destinationuid</key>
-				<string>dash_action_alt</string>
-				<key>modifiers</key>
-				<integer>524288</integer>
-				<key>modifiersubtext</key>
-				<string></string>
-			</dict>
-		</array>
-		<key>dash_keyword_hs</key>
-		<array>
-			<dict>
-				<key>destinationuid</key>
-				<string>dash_action_normal</string>
-				<key>modifiers</key>
-				<integer>0</integer>
-				<key>modifiersubtext</key>
-				<string></string>
-			</dict>
-			<dict>
-				<key>destinationuid</key>
-				<string>dash_action_cmd</string>
-				<key>modifiers</key>
-				<integer>1048576</integer>
-				<key>modifiersubtext</key>
-				<string></string>
-			</dict>
-			<dict>
-				<key>destinationuid</key>
-				<string>dash_action_alt</string>
-				<key>modifiers</key>
-				<integer>524288</integer>
-				<key>modifiersubtext</key>
-				<string></string>
-			</dict>
-		</array>
-		<key>dash_keyword_rb</key>
-		<array>
-			<dict>
-				<key>destinationuid</key>
-				<string>dash_action_normal</string>
-				<key>modifiers</key>
-				<integer>0</integer>
-				<key>modifiersubtext</key>
-				<string></string>
-			</dict>
-			<dict>
-				<key>destinationuid</key>
-				<string>dash_action_cmd</string>
-				<key>modifiers</key>
-				<integer>1048576</integer>
-				<key>modifiersubtext</key>
-				<string></string>
-			</dict>
-			<dict>
-				<key>destinationuid</key>
-				<string>dash_action_alt</string>
-				<key>modifiers</key>
-				<integer>524288</integer>
-				<key>modifiersubtext</key>
-				<string></string>
-			</dict>
-		</array>
-		<key>dash_keyword_rs</key>
-		<array>
-			<dict>
-				<key>destinationuid</key>
-				<string>dash_action_normal</string>
-				<key>modifiers</key>
-				<integer>0</integer>
-				<key>modifiersubtext</key>
-				<string></string>
-			</dict>
-			<dict>
-				<key>destinationuid</key>
-				<string>dash_action_cmd</string>
-				<key>modifiers</key>
-				<integer>1048576</integer>
-				<key>modifiersubtext</key>
-				<string></string>
-			</dict>
-			<dict>
-				<key>destinationuid</key>
-				<string>dash_action_alt</string>
-				<key>modifiers</key>
-				<integer>524288</integer>
-				<key>modifiersubtext</key>
-				<string></string>
-			</dict>
-		</array>
-	</dict>
-	<key>createdby</key>
-	<string>Kapeli</string>
-	<key>description</key>
-	<string>Search Dash for query</string>
-	<key>disabled</key>
-	<false/>
-	<key>name</key>
-	<string>Dash</string>
-	<key>objects</key>
-	<array>
-		<dict>
-			<key>config</key>
-			<dict>
-				<key>escaping</key>
-				<integer>127</integer>
-				<key>script</key>
-				<string>open -g "dash-workflow-callback://{query}?openInNewTab=${openInNewTab}"</string>
-				<key>type</key>
-				<integer>0</integer>
-			</dict>
-			<key>type</key>
-			<string>alfred.workflow.action.script</string>
-			<key>uid</key>
-			<string>dash_action_normal</string>
-			<key>version</key>
-			<integer>0</integer>
-		</dict>
-		<dict>
-			<key>config</key>
-			<dict>
-				<key>action</key>
-				<integer>0</integer>
-				<key>argument</key>
-				<integer>0</integer>
-				<key>leftcursor</key>
-				<false/>
-				<key>modsmode</key>
-				<integer>0</integer>
-			</dict>
-			<key>type</key>
-			<string>alfred.workflow.trigger.hotkey</string>
-			<key>uid</key>
-			<string>12B8CAB5-9FEE-46F2-B67E-026F4BE48A88</string>
-			<key>version</key>
-			<integer>0</integer>
-		</dict>
-		<dict>
-			<key>config</key>
-			<dict>
-				<key>escaping</key>
-				<integer>127</integer>
-				<key>script</key>
-				<string>open -g "dash-workflow-callback://{query}?modifierkey=cmd"</string>
-				<key>type</key>
-				<integer>0</integer>
-			</dict>
-			<key>type</key>
-			<string>alfred.workflow.action.script</string>
-			<key>uid</key>
-			<string>dash_action_cmd</string>
-			<key>version</key>
-			<integer>0</integer>
-		</dict>
-		<dict>
-			<key>config</key>
-			<dict>
-				<key>argumenttype</key>
-				<integer>0</integer>
-				<key>escaping</key>
-				<integer>110</integer>
-				<key>keyword</key>
-				<string>dash</string>
-				<key>runningsubtext</key>
-				<string>Searching for "{query}"</string>
-				<key>script</key>
-				<string>./dashAlfredWorkflow "{query}"</string>
-				<key>subtext</key>
-				<string>Search Dash for "{query}"</string>
-				<key>title</key>
-				<string>Search Dash</string>
-				<key>type</key>
-				<integer>0</integer>
-				<key>withspace</key>
-				<true/>
-			</dict>
-			<key>type</key>
-			<string>alfred.workflow.input.scriptfilter</string>
-			<key>uid</key>
-			<string>5C09F008-55F3-4966-BACC-DF3176E148A5</string>
-			<key>version</key>
-			<integer>0</integer>
-		</dict>
-		<dict>
-			<key>config</key>
-			<dict>
-				<key>action</key>
-				<integer>0</integer>
-				<key>argument</key>
-				<integer>1</integer>
-				<key>leftcursor</key>
-				<false/>
-				<key>modsmode</key>
-				<integer>0</integer>
-			</dict>
-			<key>type</key>
-			<string>alfred.workflow.trigger.hotkey</string>
-			<key>uid</key>
-			<string>406C4166-C9CF-496F-8DB1-D43CE5211BEA</string>
-			<key>version</key>
-			<integer>0</integer>
-		</dict>
-		<dict>
-			<key>config</key>
-			<dict>
-				<key>escaping</key>
-				<integer>127</integer>
-				<key>script</key>
-				<string>open -g "dash-workflow-callback://{query}?modifierkey=alt"</string>
-				<key>type</key>
-				<integer>0</integer>
-			</dict>
-			<key>type</key>
-			<string>alfred.workflow.action.script</string>
-			<key>uid</key>
-			<string>dash_action_alt</string>
-			<key>version</key>
-			<integer>0</integer>
-		</dict>
-		<dict>
-			<key>config</key>
-			<dict>
-				<key>argumenttype</key>
-				<integer>0</integer>
-				<key>escaping</key>
-				<integer>0</integer>
-				<key>runningsubtext</key>
-				<string>Please read what's in the "Script:" section below</string>
-				<key>script</key>
-				<string>Dash dynamically updates this workflow with docset and search profile keywords.
-
-Do not try to change the keywords from within Alfred, as Dash will overwrite your changes. If you want to change a keyword, change it from within Dash (in Settings &gt; Docsets).
-
-That said, you can edit anything else within this workflow (including adding new triggers/actions/hotkeys).</string>
-				<key>subtext</key>
-				<string>Please read what's in the "Script:" section below</string>
-				<key>title</key>
-				<string>PLEASE README</string>
-				<key>type</key>
-				<integer>0</integer>
-				<key>withspace</key>
-				<true/>
-			</dict>
-			<key>type</key>
-			<string>alfred.workflow.input.scriptfilter</string>
-			<key>uid</key>
-			<string>dash_note_readme</string>
-			<key>version</key>
-			<integer>0</integer>
-		</dict>
-		<dict>
-			<key>config</key>
-			<dict>
-				<key>argumenttype</key>
-				<integer>0</integer>
-				<key>escaping</key>
-				<integer>0</integer>
-				<key>runningsubtext</key>
-				<string>Please read what's in the "Script:" section below</string>
-				<key>script</key>
-				<string>Dash dynamically updates this workflow with docset and search profile keywords.
-
-Do not try to change the keywords from within Alfred, as Dash will overwrite your changes. If you want to change a keyword, change it from within Dash (in Settings &gt; Docsets).
-
-That said, you can edit anything else within this workflow (including adding new triggers/actions/hotkeys).</string>
-				<key>subtext</key>
-				<string>Please read what's in the "Script:" section below</string>
-				<key>title</key>
-				<string>PLEASE README</string>
-				<key>type</key>
-				<integer>0</integer>
-				<key>withspace</key>
-				<true/>
-			</dict>
-			<key>type</key>
-			<string>alfred.workflow.input.scriptfilter</string>
-			<key>uid</key>
-			<string>dash_note_readme</string>
-			<key>version</key>
-			<integer>0</integer>
-		</dict>
-		<dict>
-			<key>config</key>
-			<dict>
-				<key>argumenttype</key>
-				<integer>0</integer>
-				<key>escaping</key>
-				<integer>0</integer>
-				<key>runningsubtext</key>
-				<string>Please read what's in the "Script:" section below</string>
-				<key>script</key>
-				<string>Dash dynamically updates this workflow with docset and search profile keywords.
-
-Do not try to change the keywords from within Alfred, as Dash will overwrite your changes. If you want to change a keyword, change it from within Dash (in Settings &gt; Docsets).
-
-That said, you can edit anything else within this workflow (including adding new triggers/actions/hotkeys).</string>
-				<key>subtext</key>
-				<string>Please read what's in the "Script:" section below</string>
-				<key>title</key>
-				<string>PLEASE README</string>
-				<key>type</key>
-				<integer>0</integer>
-				<key>withspace</key>
-				<true/>
-			</dict>
-			<key>type</key>
-			<string>alfred.workflow.input.scriptfilter</string>
-			<key>uid</key>
-			<string>dash_note_readme</string>
-			<key>version</key>
-			<integer>0</integer>
-		</dict>
-		<dict>
-			<key>config</key>
-			<dict>
-				<key>argumenttype</key>
-				<integer>0</integer>
-				<key>escaping</key>
-				<integer>110</integer>
-				<key>keyword</key>
-				<string>crate</string>
-				<key>runningsubtext</key>
-				<string>Searching for "{query}"</string>
-				<key>script</key>
-				<string>./dashAlfredWorkflow "crate:{query}"</string>
-				<key>subtext</key>
-				<string>Search xdg and 1 other for "{query}"</string>
-				<key>title</key>
-				<string>Search xdg</string>
-				<key>type</key>
-				<integer>0</integer>
-				<key>withspace</key>
-				<true/>
-			</dict>
-			<key>type</key>
-			<string>alfred.workflow.input.scriptfilter</string>
-			<key>uid</key>
-			<string>dash_keyword_crate</string>
-			<key>version</key>
-			<integer>0</integer>
-		</dict>
-		<dict>
-			<key>config</key>
-			<dict>
-				<key>argumenttype</key>
-				<integer>0</integer>
-				<key>escaping</key>
-				<integer>110</integer>
-				<key>keyword</key>
-				<string>hs</string>
-				<key>runningsubtext</key>
-				<string>Searching for "{query}"</string>
-				<key>script</key>
-				<string>./dashAlfredWorkflow "hs:{query}"</string>
-				<key>subtext</key>
-				<string>Search Hammerspoon for "{query}"</string>
-				<key>title</key>
-				<string>Search Hammerspoon</string>
-				<key>type</key>
-				<integer>0</integer>
-				<key>withspace</key>
-				<true/>
-			</dict>
-			<key>type</key>
-			<string>alfred.workflow.input.scriptfilter</string>
-			<key>uid</key>
-			<string>dash_keyword_hs</string>
-			<key>version</key>
-			<integer>0</integer>
-		</dict>
-		<dict>
-			<key>config</key>
-			<dict>
-				<key>argumenttype</key>
-				<integer>0</integer>
-				<key>escaping</key>
-				<integer>110</integer>
-				<key>keyword</key>
-				<string>rb</string>
-				<key>runningsubtext</key>
-				<string>Searching for "{query}"</string>
-				<key>script</key>
-				<string>./dashAlfredWorkflow "rb:{query}"</string>
-				<key>subtext</key>
-				<string>Search Ruby 4 for "{query}"</string>
-				<key>title</key>
-				<string>Search Ruby 4</string>
-				<key>type</key>
-				<integer>0</integer>
-				<key>withspace</key>
-				<true/>
-			</dict>
-			<key>type</key>
-			<string>alfred.workflow.input.scriptfilter</string>
-			<key>uid</key>
-			<string>dash_keyword_rb</string>
-			<key>version</key>
-			<integer>0</integer>
-		</dict>
-		<dict>
-			<key>config</key>
-			<dict>
-				<key>argumenttype</key>
-				<integer>0</integer>
-				<key>escaping</key>
-				<integer>110</integer>
-				<key>keyword</key>
-				<string>rs</string>
-				<key>runningsubtext</key>
-				<string>Searching for "{query}"</string>
-				<key>script</key>
-				<string>./dashAlfredWorkflow "rs:{query}"</string>
-				<key>subtext</key>
-				<string>Search Rust for "{query}"</string>
-				<key>title</key>
-				<string>Search Rust</string>
-				<key>type</key>
-				<integer>0</integer>
-				<key>withspace</key>
-				<true/>
-			</dict>
-			<key>type</key>
-			<string>alfred.workflow.input.scriptfilter</string>
-			<key>uid</key>
-			<string>dash_keyword_rs</string>
-			<key>version</key>
-			<integer>0</integer>
-		</dict>
-	</array>
-	<key>readme</key>
-	<string>Usage:
-'dash {query}'
-'{keyword} {query}'
-
-The keyword is either a docset keyword (defined in Dash's Preferences &gt; Docsets) or a search profile keyword trigger (defined by clicking on the loupe icon of the main search field).</string>
-	<key>uidata</key>
-	<dict>
-		<key>12B8CAB5-9FEE-46F2-B67E-026F4BE48A88</key>
-		<dict>
-			<key>ypos</key>
-			<real>60</real>
-		</dict>
-		<key>406C4166-C9CF-496F-8DB1-D43CE5211BEA</key>
-		<dict>
-			<key>ypos</key>
-			<real>210</real>
-		</dict>
-		<key>5C09F008-55F3-4966-BACC-DF3176E148A5</key>
-		<dict>
-			<key>ypos</key>
-			<real>140</real>
-		</dict>
-		<key>dash_action_alt</key>
-		<dict>
-			<key>ypos</key>
-			<real>270</real>
-		</dict>
-		<key>dash_action_cmd</key>
-		<dict>
-			<key>ypos</key>
-			<real>140</real>
-		</dict>
-		<key>dash_action_normal</key>
-		<dict>
-			<key>ypos</key>
-			<real>10</real>
-		</dict>
-		<key>dash_keyword_crate</key>
-		<dict>
-			<key>ypos</key>
-			<integer>930</integer>
-		</dict>
-		<key>dash_keyword_hs</key>
-		<dict>
-			<key>ypos</key>
-			<integer>1050</integer>
-		</dict>
-		<key>dash_keyword_rb</key>
-		<dict>
-			<key>ypos</key>
-			<integer>1170</integer>
-		</dict>
-		<key>dash_keyword_rs</key>
-		<dict>
-			<key>ypos</key>
-			<integer>1290</integer>
-		</dict>
-		<key>dash_note_readme</key>
-		<dict>
-			<key>ypos</key>
-			<integer>690</integer>
-		</dict>
-	</dict>
-	<key>userconfigurationconfig</key>
-	<array>
-		<dict>
-			<key>config</key>
-			<dict>
-				<key>default</key>
-				<false/>
-				<key>required</key>
-				<false/>
-				<key>text</key>
-				<string>Results open in a new tab in Dash</string>
-			</dict>
-			<key>description</key>
-			<string></string>
-			<key>label</key>
-			<string>Open behavior</string>
-			<key>type</key>
-			<string>checkbox</string>
-			<key>variable</key>
-			<string>openInNewTab</string>
-		</dict>
-	</array>
-	<key>webaddress</key>
-	<string>kapeli.com</string>
-</dict>
-</plist>
diff --git a/src/alphred-tools/.gitignore b/src/alphred-tools/.gitignore
deleted file mode 100644
index eb5a316c..00000000
--- a/src/alphred-tools/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-target
diff --git a/src/alphred-tools/Cargo.lock b/src/alphred-tools/Cargo.lock
deleted file mode 100644
index 0bc736fd..00000000
--- a/src/alphred-tools/Cargo.lock
+++ /dev/null
@@ -1,334 +0,0 @@
-# This file is automatically @generated by Cargo.
-# It is not intended for manual editing.
-version = 4
-
-[[package]]
-name = "addr2line"
-version = "0.21.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb"
-dependencies = [
- "gimli",
-]
-
-[[package]]
-name = "adler"
-version = "1.0.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
-
-[[package]]
-name = "alphred"
-version = "0.1.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "183163a75cc7bff7166b9a74f5b79f653370b2474d05bd35c61f368f3a515046"
-dependencies = [
- "anyhow",
- "serde",
- "serde_json",
-]
-
-[[package]]
-name = "alphred-tools"
-version = "0.1.0"
-dependencies = [
- "alphred",
- "color-eyre",
- "serde_json",
-]
-
-[[package]]
-name = "anyhow"
-version = "1.0.95"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "34ac096ce696dc2fcabef30516bb13c0a68a11d30131d3df6f04711467681b04"
-
-[[package]]
-name = "backtrace"
-version = "0.3.71"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "26b05800d2e817c8b3b4b54abd461726265fa9789ae34330622f2db9ee696f9d"
-dependencies = [
- "addr2line",
- "cc",
- "cfg-if",
- "libc",
- "miniz_oxide",
- "object",
- "rustc-demangle",
-]
-
-[[package]]
-name = "cc"
-version = "1.2.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c8293772165d9345bdaaa39b45b2109591e63fe5e6fbc23c6ff930a048aa310b"
-dependencies = [
- "shlex",
-]
-
-[[package]]
-name = "cfg-if"
-version = "1.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
-
-[[package]]
-name = "color-eyre"
-version = "0.6.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "55146f5e46f237f7423d74111267d4597b59b0dad0ffaf7303bce9945d843ad5"
-dependencies = [
- "backtrace",
- "color-spantrace",
- "eyre",
- "indenter",
- "once_cell",
- "owo-colors",
- "tracing-error",
-]
-
-[[package]]
-name = "color-spantrace"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cd6be1b2a7e382e2b98b43b2adcca6bb0e465af0bdd38123873ae61eb17a72c2"
-dependencies = [
- "once_cell",
- "owo-colors",
- "tracing-core",
- "tracing-error",
-]
-
-[[package]]
-name = "eyre"
-version = "0.6.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7cd915d99f24784cdc19fd37ef22b97e3ff0ae756c7e492e9fbfe897d61e2aec"
-dependencies = [
- "indenter",
- "once_cell",
-]
-
-[[package]]
-name = "gimli"
-version = "0.28.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253"
-
-[[package]]
-name = "indenter"
-version = "0.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ce23b50ad8242c51a442f3ff322d56b02f08852c77e4c0b4d3fd684abc89c683"
-
-[[package]]
-name = "itoa"
-version = "1.0.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d75a2a4b1b190afb6f5425f10f6a8f959d2ea0b9c2b1d79553551850539e4674"
-
-[[package]]
-name = "lazy_static"
-version = "1.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"
-
-[[package]]
-name = "libc"
-version = "0.2.169"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a"
-
-[[package]]
-name = "memchr"
-version = "2.7.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3"
-
-[[package]]
-name = "miniz_oxide"
-version = "0.7.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b8a240ddb74feaf34a79a7add65a741f3167852fba007066dcac1ca548d89c08"
-dependencies = [
- "adler",
-]
-
-[[package]]
-name = "object"
-version = "0.32.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441"
-dependencies = [
- "memchr",
-]
-
-[[package]]
-name = "once_cell"
-version = "1.20.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775"
-
-[[package]]
-name = "owo-colors"
-version = "3.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c1b04fb49957986fdce4d6ee7a65027d55d4b6d2265e5848bbb507b58ccfdb6f"
-
-[[package]]
-name = "pin-project-lite"
-version = "0.2.16"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b"
-
-[[package]]
-name = "proc-macro2"
-version = "1.0.93"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "60946a68e5f9d28b0dc1c21bb8a97ee7d018a8b322fa57838ba31cc878e22d99"
-dependencies = [
- "unicode-ident",
-]
-
-[[package]]
-name = "quote"
-version = "1.0.38"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0e4dccaaaf89514f546c693ddc140f729f958c247918a13380cccc6078391acc"
-dependencies = [
- "proc-macro2",
-]
-
-[[package]]
-name = "rustc-demangle"
-version = "0.1.24"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f"
-
-[[package]]
-name = "ryu"
-version = "1.0.18"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f"
-
-[[package]]
-name = "serde"
-version = "1.0.217"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "02fc4265df13d6fa1d00ecff087228cc0a2b5f3c0e87e258d8b94a156e984c70"
-dependencies = [
- "serde_derive",
-]
-
-[[package]]
-name = "serde_derive"
-version = "1.0.217"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a9bf7cf98d04a2b28aead066b7496853d4779c9cc183c440dbac457641e19a0"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "serde_json"
-version = "1.0.135"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2b0d7ba2887406110130a978386c4e1befb98c674b4fba677954e4db976630d9"
-dependencies = [
- "itoa",
- "memchr",
- "ryu",
- "serde",
-]
-
-[[package]]
-name = "sharded-slab"
-version = "0.1.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6"
-dependencies = [
- "lazy_static",
-]
-
-[[package]]
-name = "shlex"
-version = "1.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
-
-[[package]]
-name = "syn"
-version = "2.0.96"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d5d0adab1ae378d7f53bdebc67a39f1f151407ef230f0ce2883572f5d8985c80"
-dependencies = [
- "proc-macro2",
- "quote",
- "unicode-ident",
-]
-
-[[package]]
-name = "thread_local"
-version = "1.1.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c"
-dependencies = [
- "cfg-if",
- "once_cell",
-]
-
-[[package]]
-name = "tracing"
-version = "0.1.41"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0"
-dependencies = [
- "pin-project-lite",
- "tracing-core",
-]
-
-[[package]]
-name = "tracing-core"
-version = "0.1.33"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e672c95779cf947c5311f83787af4fa8fffd12fb27e4993211a84bdfd9610f9c"
-dependencies = [
- "once_cell",
- "valuable",
-]
-
-[[package]]
-name = "tracing-error"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8b1581020d7a273442f5b45074a6a57d5757ad0a47dac0e9f0bd57b81936f3db"
-dependencies = [
- "tracing",
- "tracing-subscriber",
-]
-
-[[package]]
-name = "tracing-subscriber"
-version = "0.3.19"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e8189decb5ac0fa7bc8b96b7cb9b2701d60d48805aca84a238004d665fcc4008"
-dependencies = [
- "sharded-slab",
- "thread_local",
- "tracing-core",
-]
-
-[[package]]
-name = "unicode-ident"
-version = "1.0.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "adb9e6ca4f869e1180728b7950e35922a7fc6397f7b641499e8f3ef06e50dc83"
-
-[[package]]
-name = "valuable"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d"
diff --git a/src/alphred-tools/Cargo.toml b/src/alphred-tools/Cargo.toml
deleted file mode 100644
index f6005c1e..00000000
--- a/src/alphred-tools/Cargo.toml
+++ /dev/null
@@ -1,11 +0,0 @@
-[package]
-name = "alphred-tools"
-version = "0.1.0"
-edition = "2021"
-
-# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
-
-[dependencies]
-alphred = "*"
-color-eyre = "*"
-serde_json = "1.0.108"
diff --git a/src/alphred-tools/src/bin/rot13.rs b/src/alphred-tools/src/bin/rot13.rs
deleted file mode 100644
index 95bf848f..00000000
--- a/src/alphred-tools/src/bin/rot13.rs
+++ /dev/null
@@ -1,45 +0,0 @@
-use alphred::{Item, Workflow};
-use std::{env, process::Command};
-
-use color_eyre::eyre::Result;
-
-fn main() -> Result<()> {
-    color_eyre::install()?;
-
-    let workflow = Workflow::new(|| {
-        let input = match env::args().nth(1) {
-            Some(arg) => arg,
-            None => String::from_utf8(
-                Command::new("sh")
-                    .arg("-c")
-                    .arg("echo hello")
-                    .output()?
-                    .stdout,
-            )?,
-        };
-        let input = input.trim();
-        let output: String = input
-            .chars()
-            .map(|c| {
-                if c.is_ascii_alphabetic() {
-                    let origin = if c.is_lowercase() {
-                        b'a'
-                    } else if c.is_uppercase() {
-                        b'A'
-                    } else {
-                        unimplemented!()
-                    };
-                    ((((c as u8) - origin) + 13) % 26 + origin) as char
-                } else {
-                    c
-                }
-            })
-            .collect();
-        let item = Item::new(&output).arg(&output).subtitle(input);
-        Ok(vec![item])
-    });
-
-    println!("{}", workflow);
-
-    Ok(())
-}
diff --git a/src/alphred-tools/src/lib.rs b/src/alphred-tools/src/lib.rs
deleted file mode 100644
index 7d12d9af..00000000
--- a/src/alphred-tools/src/lib.rs
+++ /dev/null
@@ -1,14 +0,0 @@
-pub fn add(left: usize, right: usize) -> usize {
-    left + right
-}
-
-#[cfg(test)]
-mod tests {
-    use super::*;
-
-    #[test]
-    fn it_works() {
-        let result = add(2, 2);
-        assert_eq!(result, 4);
-    }
-}
diff --git a/src/alphred-tools/workflow/BF6DAC15-EB38-45F3-86A6-6BA4767A8D34.png b/src/alphred-tools/workflow/BF6DAC15-EB38-45F3-86A6-6BA4767A8D34.png
deleted file mode 100644
index f8689b8c..00000000
Binary files a/src/alphred-tools/workflow/BF6DAC15-EB38-45F3-86A6-6BA4767A8D34.png and /dev/null differ
diff --git a/src/alphred-tools/workflow/icon.png b/src/alphred-tools/workflow/icon.png
deleted file mode 100644
index 3269d4d6..00000000
Binary files a/src/alphred-tools/workflow/icon.png and /dev/null differ
diff --git a/src/alphred-tools/workflow/info.plist b/src/alphred-tools/workflow/info.plist
deleted file mode 100644
index 7bfc95de..00000000
--- a/src/alphred-tools/workflow/info.plist
+++ /dev/null
@@ -1,138 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>bundleid</key>
-	<string>dev.kejadlen.alphred-tools</string>
-	<key>category</key>
-	<string>Tools</string>
-	<key>connections</key>
-	<dict>
-		<key>BF6DAC15-EB38-45F3-86A6-6BA4767A8D34</key>
-		<array>
-			<dict>
-				<key>destinationuid</key>
-				<string>ADF20C3D-ABB1-4713-AEE3-88087C0E4930</string>
-				<key>modifiers</key>
-				<integer>0</integer>
-				<key>modifiersubtext</key>
-				<string></string>
-				<key>vitoclose</key>
-				<false/>
-			</dict>
-		</array>
-	</dict>
-	<key>createdby</key>
-	<string>Alpha Chen</string>
-	<key>description</key>
-	<string></string>
-	<key>disabled</key>
-	<false/>
-	<key>name</key>
-	<string>Alphred Tools</string>
-	<key>objects</key>
-	<array>
-		<dict>
-			<key>config</key>
-			<dict>
-				<key>alignment</key>
-				<integer>0</integer>
-				<key>backgroundcolor</key>
-				<string></string>
-				<key>fadespeed</key>
-				<integer>0</integer>
-				<key>fillmode</key>
-				<integer>0</integer>
-				<key>font</key>
-				<string></string>
-				<key>ignoredynamicplaceholders</key>
-				<false/>
-				<key>largetypetext</key>
-				<string>{query}</string>
-				<key>textcolor</key>
-				<string></string>
-				<key>wrapat</key>
-				<integer>50</integer>
-			</dict>
-			<key>type</key>
-			<string>alfred.workflow.output.largetype</string>
-			<key>uid</key>
-			<string>ADF20C3D-ABB1-4713-AEE3-88087C0E4930</string>
-			<key>version</key>
-			<integer>3</integer>
-		</dict>
-		<dict>
-			<key>config</key>
-			<dict>
-				<key>alfredfiltersresults</key>
-				<false/>
-				<key>alfredfiltersresultsmatchmode</key>
-				<integer>0</integer>
-				<key>argumenttreatemptyqueryasnil</key>
-				<true/>
-				<key>argumenttrimmode</key>
-				<integer>0</integer>
-				<key>argumenttype</key>
-				<integer>1</integer>
-				<key>escaping</key>
-				<integer>0</integer>
-				<key>keyword</key>
-				<string>rot13</string>
-				<key>queuedelaycustom</key>
-				<integer>3</integer>
-				<key>queuedelayimmediatelyinitially</key>
-				<true/>
-				<key>queuedelaymode</key>
-				<integer>0</integer>
-				<key>queuemode</key>
-				<integer>1</integer>
-				<key>runningsubtext</key>
-				<string></string>
-				<key>script</key>
-				<string></string>
-				<key>scriptargtype</key>
-				<integer>1</integer>
-				<key>scriptfile</key>
-				<string>rot13</string>
-				<key>subtext</key>
-				<string></string>
-				<key>title</key>
-				<string>rot13</string>
-				<key>type</key>
-				<integer>8</integer>
-				<key>withspace</key>
-				<false/>
-			</dict>
-			<key>type</key>
-			<string>alfred.workflow.input.scriptfilter</string>
-			<key>uid</key>
-			<string>BF6DAC15-EB38-45F3-86A6-6BA4767A8D34</string>
-			<key>version</key>
-			<integer>3</integer>
-		</dict>
-	</array>
-	<key>readme</key>
-	<string></string>
-	<key>uidata</key>
-	<dict>
-		<key>ADF20C3D-ABB1-4713-AEE3-88087C0E4930</key>
-		<dict>
-			<key>xpos</key>
-			<real>235</real>
-			<key>ypos</key>
-			<real>50</real>
-		</dict>
-		<key>BF6DAC15-EB38-45F3-86A6-6BA4767A8D34</key>
-		<dict>
-			<key>xpos</key>
-			<real>45</real>
-			<key>ypos</key>
-			<real>50</real>
-		</dict>
-	</dict>
-	<key>userconfigurationconfig</key>
-	<array/>
-	<key>webaddress</key>
-	<string>https://git.kejadlen.dev/alpha/alphred-tools</string>
-</dict>
-</plist>
diff --git a/src/alphred-tools/workflow/rot13 b/src/alphred-tools/workflow/rot13
deleted file mode 120000
index 7204689e..00000000
--- a/src/alphred-tools/workflow/rot13
+++ /dev/null
@@ -1 +0,0 @@
-/Users/alpha/.dotfiles/src/alphred-tools/target/release/rot13
\ No newline at end of file
diff --git a/src/faker.alfredworkflow b/src/faker.alfredworkflow
deleted file mode 160000
index 4e480c8c..00000000
--- a/src/faker.alfredworkflow
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 4e480c8c43dfa93aa9d9bf45869f15b214d29ee7
diff --git a/src/fast-user-switching.alfredworkflow b/src/fast-user-switching.alfredworkflow
deleted file mode 160000
index 6d3b7745..00000000
--- a/src/fast-user-switching.alfredworkflow
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 6d3b774538b1bbbb6855b15599249bb6956bac52
diff --git a/src/frink.alfredworkflow b/src/frink.alfredworkflow
deleted file mode 160000
index 03831ace..00000000
--- a/src/frink.alfredworkflow
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 03831acea7cd4578e86ac2305eb92fad6dc85cda
diff --git a/src/giphy.alfredworkflow b/src/giphy.alfredworkflow
deleted file mode 160000
index 0e516e32..00000000
--- a/src/giphy.alfredworkflow
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 0e516e3226d077aca33bd0e500b9434f6c612471
diff --git a/src/pirate-weather.alfredworkflow b/src/pirate-weather.alfredworkflow
deleted file mode 160000
index a448123b..00000000
--- a/src/pirate-weather.alfredworkflow
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit a448123b13d1609638ab8d6be063e55cdef0180a
diff --git a/src/soulver.alfredworkflow b/src/soulver.alfredworkflow
deleted file mode 160000
index 1b8b26fa..00000000
--- a/src/soulver.alfredworkflow
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 1b8b26fa1b0f5f3d7cb576af04d5aad545c16490