@quickcall/all-configs 0.0.0-stage → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (163) hide show
  1. package/README.md +15 -2
  2. package/bin/all-configs.js +44 -0
  3. package/package.json +20 -4
  4. package/runtime/allconfigs/__init__.py +1 -0
  5. package/runtime/allconfigs/__main__.py +42 -0
  6. package/runtime/allconfigs/__pycache__/__init__.cpython-312.pyc +0 -0
  7. package/runtime/allconfigs/__pycache__/__main__.cpython-312.pyc +0 -0
  8. package/runtime/allconfigs/__pycache__/modules.cpython-312.pyc +0 -0
  9. package/runtime/allconfigs/__pycache__/probe.cpython-312.pyc +0 -0
  10. package/runtime/allconfigs/__pycache__/runner.cpython-312.pyc +0 -0
  11. package/runtime/allconfigs/modules.py +221 -0
  12. package/runtime/allconfigs/probe.py +60 -0
  13. package/runtime/install.sh +74 -0
  14. package/runtime/lib/common.sh +147 -0
  15. package/runtime/lib/uninstall.sh +35 -0
  16. package/runtime/modules/aldente/install.sh +23 -0
  17. package/runtime/modules/aldente/module.toml +11 -0
  18. package/runtime/modules/aliases/aliases.sh +31 -0
  19. package/runtime/modules/aliases/install.sh +36 -0
  20. package/runtime/modules/aliases/module.toml +7 -0
  21. package/runtime/modules/aqua-voice/install.sh +23 -0
  22. package/runtime/modules/aqua-voice/module.toml +11 -0
  23. package/runtime/modules/betterdisplay/install.sh +23 -0
  24. package/runtime/modules/betterdisplay/module.toml +11 -0
  25. package/runtime/modules/bitwarden/install.sh +19 -0
  26. package/runtime/modules/bitwarden/module.toml +11 -0
  27. package/runtime/modules/browsers/install.sh +33 -0
  28. package/runtime/modules/browsers/module.toml +11 -0
  29. package/runtime/modules/bun/install.sh +72 -0
  30. package/runtime/modules/bun/module.toml +7 -0
  31. package/runtime/modules/caveman/install.sh +79 -0
  32. package/runtime/modules/caveman/module.toml +7 -0
  33. package/runtime/modules/claude/install.sh +22 -0
  34. package/runtime/modules/claude/module.toml +7 -0
  35. package/runtime/modules/codex/install.sh +20 -0
  36. package/runtime/modules/codex/module.toml +7 -0
  37. package/runtime/modules/docker/install.sh +19 -0
  38. package/runtime/modules/docker/module.toml +11 -0
  39. package/runtime/modules/external-skills/install.sh +30 -0
  40. package/runtime/modules/external-skills/module.toml +4 -0
  41. package/runtime/modules/ffmpeg/install.sh +13 -0
  42. package/runtime/modules/ffmpeg/module.toml +11 -0
  43. package/runtime/modules/fonts/install.sh +62 -0
  44. package/runtime/modules/fonts/module.toml +8 -0
  45. package/runtime/modules/ghostty/config +44 -0
  46. package/runtime/modules/ghostty/install.sh +64 -0
  47. package/runtime/modules/ghostty/module.toml +9 -0
  48. package/runtime/modules/ghostty/themes/ayu-dark +22 -0
  49. package/runtime/modules/ghostty/themes/catppuccin-frappe +23 -0
  50. package/runtime/modules/ghostty/themes/catppuccin-latte +23 -0
  51. package/runtime/modules/ghostty/themes/catppuccin-latte.conf +23 -0
  52. package/runtime/modules/ghostty/themes/catppuccin-macchiato +23 -0
  53. package/runtime/modules/ghostty/themes/catppuccin-mocha +23 -0
  54. package/runtime/modules/ghostty/themes/visual-studio-light +27 -0
  55. package/runtime/modules/ghostty/themes/vscode-light +24 -0
  56. package/runtime/modules/ghostty/themes/vscode-light-soft +24 -0
  57. package/runtime/modules/ghostty/xterm-ghostty.terminfo +81 -0
  58. package/runtime/modules/github/install.sh +101 -0
  59. package/runtime/modules/github/module.toml +8 -0
  60. package/runtime/modules/hf/install.sh +98 -0
  61. package/runtime/modules/hf/module.toml +7 -0
  62. package/runtime/modules/karabiner/README.md +146 -0
  63. package/runtime/modules/karabiner/agents.md +39 -0
  64. package/runtime/modules/karabiner/app_launchers.json +236 -0
  65. package/runtime/modules/karabiner/custom_delete_mapping.json +13 -0
  66. package/runtime/modules/karabiner/fn_to_control.json +9 -0
  67. package/runtime/modules/karabiner/install.sh +60 -0
  68. package/runtime/modules/karabiner/karabiner.json +866 -0
  69. package/runtime/modules/karabiner/keychron-modifier-swap.sh +80 -0
  70. package/runtime/modules/karabiner/module.toml +8 -0
  71. package/runtime/modules/karabiner/remap_caps_lock_shift_super.json +23 -0
  72. package/runtime/modules/karabiner/remap_escape_to_control.json +49 -0
  73. package/runtime/modules/karabiner/rename_caps_lock_to_super.json +23 -0
  74. package/runtime/modules/karabiner/right_shift_mouse_click.json +44 -0
  75. package/runtime/modules/karabiner/swap_esc_delete.json +10 -0
  76. package/runtime/modules/karabiner/troubleshooting.md +242 -0
  77. package/runtime/modules/karabiner/vim_arrow_keys.json +477 -0
  78. package/runtime/modules/keepingyouawake/install.sh +23 -0
  79. package/runtime/modules/keepingyouawake/module.toml +11 -0
  80. package/runtime/modules/keycastr/install.sh +23 -0
  81. package/runtime/modules/keycastr/module.toml +11 -0
  82. package/runtime/modules/multi-github/install.sh +179 -0
  83. package/runtime/modules/multi-github/module.toml +4 -0
  84. package/runtime/modules/ncdu/install.sh +13 -0
  85. package/runtime/modules/ncdu/module.toml +11 -0
  86. package/runtime/modules/node/install.sh +73 -0
  87. package/runtime/modules/node/module.toml +11 -0
  88. package/runtime/modules/nvim/.neoconf.json +15 -0
  89. package/runtime/modules/nvim/init.lua +2 -0
  90. package/runtime/modules/nvim/install.sh +142 -0
  91. package/runtime/modules/nvim/lazy-lock.json +35 -0
  92. package/runtime/modules/nvim/lazyvim.json +10 -0
  93. package/runtime/modules/nvim/lua/config/autocmds.lua +18 -0
  94. package/runtime/modules/nvim/lua/config/keymaps.lua +10 -0
  95. package/runtime/modules/nvim/lua/config/lazy.lua +53 -0
  96. package/runtime/modules/nvim/lua/config/options.lua +3 -0
  97. package/runtime/modules/nvim/lua/plugins/image.lua +9 -0
  98. package/runtime/modules/nvim/lua/plugins/markdown.lua +56 -0
  99. package/runtime/modules/nvim/lua/plugins/noice.lua +17 -0
  100. package/runtime/modules/nvim/lua/plugins/rose-pine.lua +16 -0
  101. package/runtime/modules/nvim/lua/plugins/snacks.lua +20 -0
  102. package/runtime/modules/nvim/module.toml +8 -0
  103. package/runtime/modules/nvim/stylua.toml +3 -0
  104. package/runtime/modules/p10k/install.sh +46 -0
  105. package/runtime/modules/p10k/module.toml +8 -0
  106. package/runtime/modules/p10k/p10k.zsh +1711 -0
  107. package/runtime/modules/pi/install.sh +77 -0
  108. package/runtime/modules/pi/module.toml +8 -0
  109. package/runtime/modules/pi/packages +5 -0
  110. package/runtime/modules/pi/settings.json +21 -0
  111. package/runtime/modules/presentify/install.sh +25 -0
  112. package/runtime/modules/presentify/module.toml +7 -0
  113. package/runtime/modules/rectangle/RectangleConfig.json +353 -0
  114. package/runtime/modules/rectangle/install.sh +64 -0
  115. package/runtime/modules/rectangle/module.toml +11 -0
  116. package/runtime/modules/shortcat/install.sh +19 -0
  117. package/runtime/modules/shortcat/module.toml +11 -0
  118. package/runtime/modules/skills/install.sh +25 -0
  119. package/runtime/modules/skills/module.toml +4 -0
  120. package/runtime/modules/skills/skills-lock.json +35 -0
  121. package/runtime/modules/slack/install.sh +23 -0
  122. package/runtime/modules/slack/module.toml +11 -0
  123. package/runtime/modules/spotify/install.sh +23 -0
  124. package/runtime/modules/spotify/module.toml +11 -0
  125. package/runtime/modules/ssh-keygen/install.sh +130 -0
  126. package/runtime/modules/ssh-keygen/module.toml +4 -0
  127. package/runtime/modules/statusline/install.sh +69 -0
  128. package/runtime/modules/statusline/module.toml +7 -0
  129. package/runtime/modules/statusline/statusline.sh +168 -0
  130. package/runtime/modules/statusline/turn-counter.sh +11 -0
  131. package/runtime/modules/superfile/cheatsheet.md +127 -0
  132. package/runtime/modules/superfile/config.toml +181 -0
  133. package/runtime/modules/superfile/hotkeys.toml +96 -0
  134. package/runtime/modules/superfile/install.sh +73 -0
  135. package/runtime/modules/superfile/module.toml +7 -0
  136. package/runtime/modules/tailscale/install.sh +29 -0
  137. package/runtime/modules/tailscale/module.toml +11 -0
  138. package/runtime/modules/tinycast/install.sh +68 -0
  139. package/runtime/modules/tinycast/module.toml +7 -0
  140. package/runtime/modules/tinycast/settings.json +226 -0
  141. package/runtime/modules/tmux/.tmux.conf.local +168 -0
  142. package/runtime/modules/tmux/README.md +50 -0
  143. package/runtime/modules/tmux/install.sh +57 -0
  144. package/runtime/modules/tmux/installer.mjs +191 -0
  145. package/runtime/modules/tmux/module.toml +8 -0
  146. package/runtime/modules/tmux/shell-helpers.sh +20 -0
  147. package/runtime/modules/tmux/uninstall.sh +134 -0
  148. package/runtime/modules/uv/install.sh +72 -0
  149. package/runtime/modules/uv/module.toml +7 -0
  150. package/runtime/modules/vlc/install.sh +23 -0
  151. package/runtime/modules/vlc/module.toml +11 -0
  152. package/runtime/modules/vscode/install.sh +33 -0
  153. package/runtime/modules/vscode/keybindings.json +74 -0
  154. package/runtime/modules/vscode/module.toml +8 -0
  155. package/runtime/modules/vscode/settings.json +426 -0
  156. package/runtime/modules/vscode/tasks.json +1 -0
  157. package/runtime/modules/yt-dlp/install.sh +13 -0
  158. package/runtime/modules/yt-dlp/module.toml +11 -0
  159. package/runtime/modules/zed/install.sh +43 -0
  160. package/runtime/modules/zed/module.toml +8 -0
  161. package/runtime/modules/zed/settings.json +208 -0
  162. package/runtime/modules/zoxide/install.sh +41 -0
  163. package/runtime/modules/zoxide/module.toml +11 -0
@@ -0,0 +1,77 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+
4
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
5
+ ROOT_DIR="$(cd "$SCRIPT_DIR/../.." && pwd)"
6
+ source "$ROOT_DIR/lib/common.sh"
7
+
8
+ usage() {
9
+ cat << USAGE
10
+ Usage: ${0##*/} [options]
11
+
12
+ Options:
13
+ -h, --help Show this help
14
+
15
+ Examples:
16
+ ${0##*/}
17
+ USAGE
18
+ exit 0
19
+ }
20
+
21
+ while [[ $# -gt 0 ]]; do
22
+ case "$1" in
23
+ -h|--help) usage ;;
24
+ *) fail "Unknown option: $1"; exit 1 ;;
25
+ esac
26
+ done
27
+
28
+ step "Installing Pi"
29
+
30
+ if command -v node &>/dev/null; then
31
+ if ! node -e 'const [maj,min,patch]=process.versions.node.split(".").map(Number); process.exit(maj > 22 || (maj === 22 && (min > 19 || (min === 19 && patch >= 0))) ? 0 : 1)'; then
32
+ warn "node $(node --version) too old for Pi — installing supported Node first"
33
+ bash "$ROOT_DIR/modules/node/install.sh"
34
+ fi
35
+ else
36
+ warn "node not found — installing supported Node first"
37
+ bash "$ROOT_DIR/modules/node/install.sh"
38
+ fi
39
+
40
+ if command -v pi &> /dev/null; then
41
+ ok "pi ${D}$(pi --version 2>/dev/null | head -1)${R}"
42
+ else
43
+ warn "pi not found — installing via official installer"
44
+ curl -fsSL https://pi.dev/install.sh | sh
45
+ export PATH="$HOME/.local/bin:$PATH"
46
+ ok "pi installed ${D}$(pi --version 2>/dev/null | head -1)${R}"
47
+ fi
48
+
49
+ # Ensure pi is on PATH for the rest of this script
50
+ export PATH="$HOME/.local/bin:$PATH"
51
+
52
+ step "Configuring Pi settings"
53
+
54
+ PI_AGENT_DIR="$HOME/.pi/agent"
55
+ mkdir -p "$PI_AGENT_DIR"
56
+
57
+ backup_file "$PI_AGENT_DIR/settings.json"
58
+ cp "$SCRIPT_DIR/settings.json" "$PI_AGENT_DIR/settings.json"
59
+ ok "Pi settings ${D}→ ~/.pi/agent/settings.json${R}"
60
+
61
+ step "Installing Pi extension packages"
62
+
63
+ # Read package list from pi/packages (blank lines + # comments ignored)
64
+ while IFS= read -r pkg; do
65
+ [[ -z "$pkg" || "$pkg" == \#* ]] && continue
66
+ if pi list 2>/dev/null | grep -q "${pkg#npm:}"; then
67
+ ok "already installed: $pkg"
68
+ else
69
+ pi install "$pkg" --approve 2>&1 | tail -5
70
+ ok "installed: $pkg"
71
+ fi
72
+ done < <(grep -v '^\s*#\|^\s*$' "$SCRIPT_DIR/packages")
73
+
74
+ echo ""
75
+ echo -e " ${GRN}Done!${R} Run ${CYN}pi${R} to start"
76
+ echo -e " ${D}Pi config: ~/.pi/agent/settings.json${R}"
77
+ echo ""
@@ -0,0 +1,8 @@
1
+ name = "pi"
2
+ description = "Pi coding agent CLI, settings, and package extensions"
3
+ platforms = ["mac", "linux"]
4
+ kind = "config"
5
+
6
+ [detect]
7
+ commands = ["pi"]
8
+ paths = ["~/.pi/agent/settings.json"]
@@ -0,0 +1,5 @@
1
+ # Pi extension packages (npm, git, or URL sources)
2
+ # One per line. Blank lines and # comments ignored.
3
+ # Keep in sync with "packages" in pi/settings.json.
4
+ npm:pi-web-access
5
+ npm:@tintinweb/pi-subagents
@@ -0,0 +1,21 @@
1
+ {
2
+ "defaultProvider": "kimi-coding",
3
+ "defaultModel": "kimi-for-coding",
4
+ "defaultThinkingLevel": "medium",
5
+ "hideThinkingBlock": true,
6
+ "packages": [
7
+ "npm:@tintinweb/pi-subagents",
8
+ "npm:pi-web-access"
9
+ ],
10
+ "treeFilterMode": "all",
11
+ "theme": "light",
12
+ "images": {
13
+ "blockImages": false
14
+ },
15
+ "terminal": {
16
+ "showTerminalProgress": true
17
+ },
18
+ "steeringMode": "one-at-a-time",
19
+ "transport": "auto",
20
+ "doubleEscapeAction": "tree"
21
+ }
@@ -0,0 +1,25 @@
1
+ #!/usr/bin/env bash
2
+ set -e
3
+
4
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
5
+ ROOT_DIR="$(cd "$SCRIPT_DIR/../.." && pwd)"
6
+ source "$ROOT_DIR/lib/common.sh"
7
+
8
+ step "Installing Presentify from the Mac App Store"
9
+
10
+ if [[ "$PLATFORM" != "mac" ]]; then
11
+ warn "Presentify module currently supports macOS only"
12
+ exit 0
13
+ fi
14
+
15
+ if ! command -v mas &>/dev/null; then
16
+ step "Installing mas (Mac App Store CLI)"
17
+ brew_install_formula mas
18
+ fi
19
+
20
+ step "Installing Presentify (ID: 1507246666)"
21
+ mas install 1507246666
22
+
23
+ echo ""
24
+ echo -e " ${GRN}Done!${R}"
25
+ echo ""
@@ -0,0 +1,7 @@
1
+ name = "presentify"
2
+ description = "Installs Presentify from the Mac App Store"
3
+ platforms = ["mac"]
4
+ kind = "app"
5
+
6
+ [detect]
7
+ apps = ["Presentify"]
@@ -0,0 +1,353 @@
1
+ {
2
+ "bundleId" : "com.knollsoft.Rectangle",
3
+ "defaults" : {
4
+ "SUEnableAutomaticChecks" : {
5
+ "bool" : false
6
+ },
7
+ "allowAnyShortcut" : {
8
+ "bool" : true
9
+ },
10
+ "almostMaximizeHeight" : {
11
+ "float" : 0
12
+ },
13
+ "almostMaximizeWidth" : {
14
+ "float" : 0
15
+ },
16
+ "altThirdCycle" : {
17
+ "int" : 0
18
+ },
19
+ "alternateDefaultShortcuts" : {
20
+ "bool" : true
21
+ },
22
+ "alwaysAccountForStage" : {
23
+ "int" : 0
24
+ },
25
+ "applyGapsToMaximize" : {
26
+ "int" : 0
27
+ },
28
+ "applyGapsToMaximizeHeight" : {
29
+ "int" : 0
30
+ },
31
+ "attemptMatchOnNextPrevDisplay" : {
32
+ "int" : 0
33
+ },
34
+ "autoMaximize" : {
35
+ "int" : 0
36
+ },
37
+ "cascadeAllDeltaSize" : {
38
+ "float" : 30
39
+ },
40
+ "centerHalfCycles" : {
41
+ "int" : 0
42
+ },
43
+ "centeredDirectionalMove" : {
44
+ "int" : 0
45
+ },
46
+ "cornerSnapAreaSize" : {
47
+ "float" : 20
48
+ },
49
+ "curtainChangeSize" : {
50
+ "int" : 0
51
+ },
52
+ "cycleSizesIsChanged" : {
53
+ "bool" : false
54
+ },
55
+ "disabledApps" : {
56
+
57
+ },
58
+ "doubleClickTitleBar" : {
59
+ "int" : 0
60
+ },
61
+ "doubleClickTitleBarIgnoredApps" : {
62
+
63
+ },
64
+ "doubleClickTitleBarRestore" : {
65
+ "int" : 0
66
+ },
67
+ "dragFromStage" : {
68
+ "int" : 0
69
+ },
70
+ "enhancedUI" : {
71
+ "int" : 1
72
+ },
73
+ "footprintAlpha" : {
74
+ "float" : 0.3
75
+ },
76
+ "footprintAnimationDurationMultiplier" : {
77
+ "float" : 0
78
+ },
79
+ "footprintBorderWidth" : {
80
+ "float" : 2
81
+ },
82
+ "footprintColor" : {
83
+
84
+ },
85
+ "footprintFade" : {
86
+ "int" : 0
87
+ },
88
+ "fullIgnoreBundleIds" : {
89
+
90
+ },
91
+ "gapSize" : {
92
+ "float" : 0
93
+ },
94
+ "hapticFeedbackOnSnap" : {
95
+ "int" : 0
96
+ },
97
+ "hideMenubarIcon" : {
98
+ "bool" : true
99
+ },
100
+ "horizontalSplitRatio" : {
101
+ "float" : 50
102
+ },
103
+ "ignoreDragSnapToo" : {
104
+ "int" : 0
105
+ },
106
+ "ignoredSnapAreas" : {
107
+ "int" : 0
108
+ },
109
+ "landscapeSnapAreas" : {
110
+
111
+ },
112
+ "launchOnLogin" : {
113
+ "bool" : true
114
+ },
115
+ "minimumWindowHeight" : {
116
+ "float" : 0
117
+ },
118
+ "minimumWindowWidth" : {
119
+ "float" : 0
120
+ },
121
+ "missionControlDragging" : {
122
+ "int" : 0
123
+ },
124
+ "missionControlDraggingAllowedOffscreenDistance" : {
125
+ "float" : 25
126
+ },
127
+ "missionControlDraggingDisallowedDuration" : {
128
+ "int" : 250
129
+ },
130
+ "moveCursor" : {
131
+ "int" : 0
132
+ },
133
+ "moveCursorAcrossDisplays" : {
134
+ "int" : 0
135
+ },
136
+ "notifiedOfProblemApps" : {
137
+ "bool" : false
138
+ },
139
+ "obtainWindowOnClick" : {
140
+ "int" : 0
141
+ },
142
+ "portraitSnapAreas" : {
143
+
144
+ },
145
+ "relaunchOpensMenu" : {
146
+ "bool" : false
147
+ },
148
+ "resizeOnDirectionalMove" : {
149
+ "bool" : false
150
+ },
151
+ "screenEdgeGapBottom" : {
152
+ "float" : 0
153
+ },
154
+ "screenEdgeGapLeft" : {
155
+ "float" : 0
156
+ },
157
+ "screenEdgeGapRight" : {
158
+ "float" : 0
159
+ },
160
+ "screenEdgeGapTop" : {
161
+ "float" : 0
162
+ },
163
+ "screenEdgeGapTopNotch" : {
164
+ "float" : 0
165
+ },
166
+ "screenEdgeGapsOnMainScreenOnly" : {
167
+ "bool" : false
168
+ },
169
+ "screensOrderedByX" : {
170
+ "int" : 0
171
+ },
172
+ "selectedCycleSizes" : {
173
+ "int" : 0
174
+ },
175
+ "shortEdgeSnapAreaSize" : {
176
+ "float" : 145
177
+ },
178
+ "showAdditionalSizesInMenu" : {
179
+ "int" : 0
180
+ },
181
+ "showAllActionsInMenu" : {
182
+ "int" : 0
183
+ },
184
+ "sixthsSnapArea" : {
185
+ "int" : 0
186
+ },
187
+ "sizeOffset" : {
188
+ "float" : 0
189
+ },
190
+ "snapEdgeMarginBottom" : {
191
+ "float" : 5
192
+ },
193
+ "snapEdgeMarginLeft" : {
194
+ "float" : 5
195
+ },
196
+ "snapEdgeMarginRight" : {
197
+ "float" : 5
198
+ },
199
+ "snapEdgeMarginTop" : {
200
+ "float" : 5
201
+ },
202
+ "snapModifiers" : {
203
+ "int" : 0
204
+ },
205
+ "specifiedHeight" : {
206
+ "float" : 1050
207
+ },
208
+ "specifiedWidth" : {
209
+ "float" : 1680
210
+ },
211
+ "stageSize" : {
212
+ "float" : 190
213
+ },
214
+ "subsequentExecutionMode" : {
215
+ "int" : 1
216
+ },
217
+ "systemWideMouseDown" : {
218
+ "int" : 0
219
+ },
220
+ "systemWideMouseDownApps" : {
221
+
222
+ },
223
+ "todo" : {
224
+ "int" : 0
225
+ },
226
+ "todoApplication" : {
227
+
228
+ },
229
+ "todoMode" : {
230
+ "bool" : false
231
+ },
232
+ "todoSidebarSide" : {
233
+ "int" : 1
234
+ },
235
+ "todoSidebarWidth" : {
236
+ "float" : 400
237
+ },
238
+ "traverseSingleScreen" : {
239
+ "int" : 0
240
+ },
241
+ "unsnapRestore" : {
242
+ "int" : 0
243
+ },
244
+ "verticalSplitRatio" : {
245
+ "float" : 50
246
+ },
247
+ "widthStepSize" : {
248
+ "float" : 30
249
+ },
250
+ "windowSnapping" : {
251
+ "int" : 0
252
+ }
253
+ },
254
+ "shortcuts" : {
255
+ "bottomHalf" : {
256
+ "keyCode" : 125,
257
+ "modifierFlags" : 786432
258
+ },
259
+ "bottomLeft" : {
260
+ "keyCode" : 38,
261
+ "modifierFlags" : 786432
262
+ },
263
+ "bottomRight" : {
264
+ "keyCode" : 40,
265
+ "modifierFlags" : 786432
266
+ },
267
+ "centerHalf" : {
268
+ "keyCode" : 8,
269
+ "modifierFlags" : 786432
270
+ },
271
+ "centerThird" : {
272
+ "keyCode" : 3,
273
+ "modifierFlags" : 786432
274
+ },
275
+ "centerTwoThirds" : {
276
+ "keyCode" : 15,
277
+ "modifierFlags" : 786432
278
+ },
279
+ "firstThird" : {
280
+ "keyCode" : 2,
281
+ "modifierFlags" : 786432
282
+ },
283
+ "firstTwoThirds" : {
284
+ "keyCode" : 14,
285
+ "modifierFlags" : 786432
286
+ },
287
+ "larger" : {
288
+ "keyCode" : 24,
289
+ "modifierFlags" : 786432
290
+ },
291
+ "lastThird" : {
292
+ "keyCode" : 5,
293
+ "modifierFlags" : 786432
294
+ },
295
+ "lastTwoThirds" : {
296
+ "keyCode" : 17,
297
+ "modifierFlags" : 786432
298
+ },
299
+ "leftHalf" : {
300
+ "keyCode" : 123,
301
+ "modifierFlags" : 1572864
302
+ },
303
+ "maximize" : {
304
+ "keyCode" : 3,
305
+ "modifierFlags" : 1572864
306
+ },
307
+ "maximizeHeight" : {
308
+ "keyCode" : 126,
309
+ "modifierFlags" : 917504
310
+ },
311
+ "nextDisplay" : {
312
+ "keyCode" : 124,
313
+ "modifierFlags" : 1835008
314
+ },
315
+ "previousDisplay" : {
316
+ "keyCode" : 123,
317
+ "modifierFlags" : 1835008
318
+ },
319
+ "reflowTodo" : {
320
+ "keyCode" : 45,
321
+ "modifierFlags" : 786432
322
+ },
323
+ "restore" : {
324
+ "keyCode" : 51,
325
+ "modifierFlags" : 786432
326
+ },
327
+ "rightHalf" : {
328
+ "keyCode" : 124,
329
+ "modifierFlags" : 1572864
330
+ },
331
+ "smaller" : {
332
+ "keyCode" : 27,
333
+ "modifierFlags" : 786432
334
+ },
335
+ "toggleTodo" : {
336
+ "keyCode" : 11,
337
+ "modifierFlags" : 786432
338
+ },
339
+ "topHalf" : {
340
+ "keyCode" : 126,
341
+ "modifierFlags" : 786432
342
+ },
343
+ "topLeft" : {
344
+ "keyCode" : 32,
345
+ "modifierFlags" : 786432
346
+ },
347
+ "topRight" : {
348
+ "keyCode" : 34,
349
+ "modifierFlags" : 786432
350
+ }
351
+ },
352
+ "version" : "101"
353
+ }
@@ -0,0 +1,64 @@
1
+ #!/usr/bin/env bash
2
+ set -e
3
+
4
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
5
+ ROOT_DIR="$(cd "$SCRIPT_DIR/../.." && pwd)"
6
+ source "$ROOT_DIR/lib/common.sh"
7
+
8
+ step "Installing Rectangle"
9
+
10
+ if [[ "$PLATFORM" != "mac" ]]; then
11
+ warn "Rectangle module currently supports macOS only"
12
+ exit 0
13
+ fi
14
+
15
+ brew_install_cask rectangle
16
+
17
+ CONFIG_SRC="$SCRIPT_DIR/RectangleConfig.json"
18
+ if [[ -f "$CONFIG_SRC" ]]; then
19
+ step "Installing Rectangle JSON config"
20
+ python3 - "$CONFIG_SRC" <<'PY'
21
+ import json
22
+ import subprocess
23
+ import sys
24
+
25
+ config_path = sys.argv[1]
26
+ with open(config_path, "r", encoding="utf-8") as f:
27
+ config = json.load(f)
28
+
29
+ bundle_id = config.get("bundleId", "com.knollsoft.Rectangle")
30
+
31
+ def run(args):
32
+ subprocess.run(["defaults", "write", bundle_id, *args], check=True)
33
+
34
+ for key, value in config.get("defaults", {}).items():
35
+ if "bool" in value:
36
+ run([key, "-bool", "true" if value["bool"] else "false"])
37
+ elif "int" in value:
38
+ run([key, "-int", str(value["int"])])
39
+ elif "float" in value:
40
+ run([key, "-float", str(value["float"])])
41
+ elif "string" in value:
42
+ run([key, "-string", str(value["string"])])
43
+ elif value == {}:
44
+ run([key, "-dict"])
45
+
46
+ for key, value in config.get("shortcuts", {}).items():
47
+ if "keyCode" in value and "modifierFlags" in value:
48
+ run([
49
+ key,
50
+ "-dict",
51
+ "keyCode", "-int", str(value["keyCode"]),
52
+ "modifierFlags", "-int", str(value["modifierFlags"]),
53
+ ])
54
+ PY
55
+ ok "Rectangle JSON config installed"
56
+ warn "Restart Rectangle after install so shortcuts reload"
57
+ warn "Grant Accessibility permission to Rectangle on first launch if macOS asks"
58
+ else
59
+ warn "RectangleConfig.json not found; skipping"
60
+ fi
61
+
62
+ echo ""
63
+ echo -e " ${GRN}Done!${R}"
64
+ echo ""
@@ -0,0 +1,11 @@
1
+ name = "rectangle"
2
+ description = "Installs Rectangle via Homebrew"
3
+ platforms = ["mac"]
4
+ kind = "app"
5
+
6
+ [detect]
7
+ brew = ["rectangle"]
8
+ apps = ["Rectangle"]
9
+
10
+ [uninstall]
11
+ brew = ["rectangle"]
@@ -0,0 +1,19 @@
1
+ #!/usr/bin/env bash
2
+ set -e
3
+
4
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
5
+ ROOT_DIR="$(cd "$SCRIPT_DIR/../.." && pwd)"
6
+ source "$ROOT_DIR/lib/common.sh"
7
+
8
+ step "Installing Shortcat"
9
+
10
+ if [[ "$PLATFORM" != "mac" ]]; then
11
+ warn "Shortcat module currently supports macOS only"
12
+ exit 0
13
+ fi
14
+
15
+ brew_install_cask shortcat
16
+
17
+ echo ""
18
+ echo -e " ${GRN}Done!${R}"
19
+ echo ""
@@ -0,0 +1,11 @@
1
+ name = "shortcat"
2
+ description = "Installs Shortcat via Homebrew"
3
+ platforms = ["mac"]
4
+ kind = "app"
5
+
6
+ [detect]
7
+ brew = ["shortcat"]
8
+ apps = ["Shortcat"]
9
+
10
+ [uninstall]
11
+ brew = ["shortcat"]
@@ -0,0 +1,25 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+
4
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
5
+ ROOT_DIR="$(cd "$SCRIPT_DIR/../.." && pwd)"
6
+ source "$ROOT_DIR/lib/common.sh"
7
+
8
+ step "Installing personal skills (quickcall-dev/skills)"
9
+
10
+ if ! command -v npx &>/dev/null; then
11
+ warn "npx not found — installing node first"
12
+ bash "$ROOT_DIR/modules/node/install.sh"
13
+ fi
14
+
15
+ AGENTS="--agent claude-code --agent codex --agent pi"
16
+
17
+ # Personal skills from quickcall-dev/skills — no local skill copies
18
+ npx --yes skills add quickcall-dev/skills --skill doc $AGENTS -g -y
19
+ npx --yes skills add quickcall-dev/skills --skill markdown-to-pdf $AGENTS -g -y
20
+ npx --yes skills add quickcall-dev/skills --skill product-ui-kit $AGENTS -g -y
21
+ ok "Personal skills installed from source"
22
+
23
+ echo ""
24
+ echo -e " ${GRN}Done!${R} Skills installed from source; no local skill copies are used"
25
+ echo ""
@@ -0,0 +1,4 @@
1
+ name = "skills"
2
+ description = "Personal QuickCall skills (doc, markdown-to-pdf, product-ui-kit) for Claude Code, Codex, and Pi"
3
+ platforms = ["mac", "linux"]
4
+ kind = "config"
@@ -0,0 +1,35 @@
1
+ {
2
+ "version": 1,
3
+ "skills": {
4
+ "autoresearch-fleet": {
5
+ "source": "quickcall-dev/skills",
6
+ "sourceType": "github",
7
+ "computedHash": "90bea585c9c10daa4413eaa9d92cc03d79bd5234de38f18e5ad17690c6ae4f08"
8
+ },
9
+ "dag-fleet": {
10
+ "source": "quickcall-dev/skills",
11
+ "sourceType": "github",
12
+ "computedHash": "dca7b4a25e07fbe593316cb191bf3fa438f5ef4ef533b8f1cdbaf6fbc520677e"
13
+ },
14
+ "doc": {
15
+ "source": "quickcall-dev/skills",
16
+ "sourceType": "github",
17
+ "computedHash": "c45501527cb9b9912bb3b47a0c934543aae66e198f02ac738bc562e77399a577"
18
+ },
19
+ "fleet-plan": {
20
+ "source": "quickcall-dev/skills",
21
+ "sourceType": "github",
22
+ "computedHash": "0820936ba653b1670857bebb13d2635649d9f698014d8f3b095a12c2c47ffe26"
23
+ },
24
+ "iterative-fleet": {
25
+ "source": "quickcall-dev/skills",
26
+ "sourceType": "github",
27
+ "computedHash": "8e097b37fbf5829caf23b8d36abdffdc812451f6d50b13e6e4c127c1961e358d"
28
+ },
29
+ "worktree-fleet": {
30
+ "source": "quickcall-dev/skills",
31
+ "sourceType": "github",
32
+ "computedHash": "e8cc337d1e58e77ae9a1eb5b68730063291db6fda2d93fe2131cbc54acd6d3ce"
33
+ }
34
+ }
35
+ }