Skip to content

Commit c0a8d11

Browse files
committed
feat: sliding tab bar, merge categories 14→9, and enrich package lists
- Replace horizontal tab overflow with width-adaptive sliding window tab bar showing active tab + neighbors + position indicator (e.g. 5/9) - Merge categories: AI & ML → Development, API & Debug → DevOps, Editors + Terminals → Dev Environment, Design + Utilities → Productivity - Add 20 new packages: git-lfs, tig, pre-commit, cmake, zig, elixir, miniconda, lazydocker, dive, ngrok, tableplus, datagrip, pgadmin4, sublime-text, webstorm, kitty, ghostty, brave-browser, appcleaner, shottr - Update presets with new packages and fix snapshot test data
1 parent 53a75d4 commit c0a8d11

5 files changed

Lines changed: 194 additions & 64 deletions

File tree

internal/cli/root.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import (
1111
)
1212

1313
var (
14-
version = "0.17.0"
14+
version = "0.18.0"
1515
cfg = &config.Config{}
1616
)
1717

internal/config/data/packages.yaml

Lines changed: 76 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,14 @@ categories:
3838
desc: GitHub CLI
3939
- name: git-delta
4040
desc: Better git diff
41+
- name: git-lfs
42+
desc: Git Large File Storage
4143
- name: lazygit
4244
desc: Terminal UI for git
45+
- name: tig
46+
desc: Text-mode git interface
47+
- name: pre-commit
48+
desc: Git hooks framework
4349
- name: stow
4450
desc: Symlink farm manager
4551

@@ -66,6 +72,19 @@ categories:
6672
desc: Terminal multiplexer
6773
- name: neovim
6874
desc: Modern Vim
75+
- name: cmake
76+
desc: Cross-platform build system
77+
- name: zig
78+
desc: Systems programming language
79+
- name: elixir
80+
desc: Functional programming language
81+
- name: ollama
82+
desc: Run LLMs locally
83+
- name: llm
84+
desc: CLI for LLMs
85+
- name: miniconda
86+
desc: Minimal Conda installer
87+
cask: true
6988

7089
- name: DevOps
7190
icon: "☁️"
@@ -86,6 +105,24 @@ categories:
86105
desc: AWS CLI
87106
- name: argocd
88107
desc: GitOps for Kubernetes
108+
- name: lazydocker
109+
desc: Terminal UI for Docker
110+
- name: dive
111+
desc: Explore Docker image layers
112+
- name: httpie
113+
desc: HTTP client
114+
- name: ngrok
115+
desc: Secure tunnels to localhost
116+
cask: true
117+
- name: postman
118+
desc: API platform
119+
cask: true
120+
- name: proxyman
121+
desc: HTTP debugging proxy
122+
cask: true
123+
- name: orbstack
124+
desc: Docker & Linux VMs
125+
cask: true
89126

90127
- name: Database
91128
icon: "🗄"
@@ -100,16 +137,17 @@ categories:
100137
desc: Analytical SQL database
101138
- name: mysql
102139
desc: MySQL client
140+
- name: tableplus
141+
desc: Database GUI client
142+
cask: true
143+
- name: datagrip
144+
desc: JetBrains database IDE
145+
cask: true
146+
- name: pgadmin4
147+
desc: PostgreSQL admin GUI
148+
cask: true
103149

104-
- name: AI & ML
105-
icon: "🤖"
106-
packages:
107-
- name: ollama
108-
desc: Run LLMs locally
109-
- name: llm
110-
desc: CLI for LLMs
111-
112-
- name: Editors
150+
- name: Dev Environment
113151
icon: "📝"
114152
packages:
115153
- name: visual-studio-code
@@ -121,6 +159,27 @@ categories:
121159
- name: zed
122160
desc: High-performance editor
123161
cask: true
162+
- name: sublime-text
163+
desc: Lightweight text editor
164+
cask: true
165+
- name: webstorm
166+
desc: JavaScript IDE
167+
cask: true
168+
- name: warp
169+
desc: Modern terminal
170+
cask: true
171+
- name: iterm2
172+
desc: Terminal emulator
173+
cask: true
174+
- name: alacritty
175+
desc: GPU-accelerated terminal
176+
cask: true
177+
- name: kitty
178+
desc: GPU-based terminal
179+
cask: true
180+
- name: ghostty
181+
desc: Fast native terminal
182+
cask: true
124183

125184
- name: Browsers
126185
icon: "🌐"
@@ -137,18 +196,8 @@ categories:
137196
- name: microsoft-edge
138197
desc: Edge browser
139198
cask: true
140-
141-
- name: Terminals
142-
icon: "💻"
143-
packages:
144-
- name: warp
145-
desc: Modern terminal
146-
cask: true
147-
- name: iterm2
148-
desc: Terminal emulator
149-
cask: true
150-
- name: alacritty
151-
desc: GPU-accelerated terminal
199+
- name: brave-browser
200+
desc: Privacy-focused browser
152201
cask: true
153202

154203
- name: Productivity
@@ -175,10 +224,6 @@ categories:
175224
- name: telegram
176225
desc: Messaging
177226
cask: true
178-
179-
- name: Utilities
180-
icon: "🔧"
181-
packages:
182227
- name: stats
183228
desc: System monitor in menubar
184229
cask: true
@@ -197,10 +242,12 @@ categories:
197242
- name: iina
198243
desc: Modern media player
199244
cask: true
200-
201-
- name: Design
202-
icon: "🎨"
203-
packages:
245+
- name: appcleaner
246+
desc: Thorough app uninstaller
247+
cask: true
248+
- name: shottr
249+
desc: Screenshot & annotation
250+
cask: true
204251
- name: figma
205252
desc: Design tool
206253
cask: true
@@ -211,21 +258,6 @@ categories:
211258
desc: Image compression
212259
cask: true
213260

214-
- name: API & Debug
215-
icon: "🔍"
216-
packages:
217-
- name: httpie
218-
desc: HTTP client
219-
- name: postman
220-
desc: API platform
221-
cask: true
222-
- name: proxyman
223-
desc: HTTP debugging
224-
cask: true
225-
- name: orbstack
226-
desc: Docker & Linux VMs
227-
cask: true
228-
229261
- name: NPM Global
230262
icon: "📦"
231263
packages:

internal/config/data/presets.yaml

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,15 @@ presets:
1919
- tldr
2020
- gh
2121
- git-delta
22+
- git-lfs
2223
- lazygit
2324
- stow
2425
cask:
2526
- warp
2627
- raycast
2728
- maccy
2829
- stats
30+
- rectangle
2931

3032
developer:
3133
name: developer
@@ -47,13 +49,16 @@ presets:
4749
- tldr
4850
- gh
4951
- git-delta
52+
- git-lfs
5053
- lazygit
54+
- pre-commit
5155
- stow
5256
- node
5357
- go
5458
- pnpm
5559
- docker
5660
- docker-compose
61+
- lazydocker
5762
- tmux
5863
- neovim
5964
- httpie
@@ -63,12 +68,15 @@ presets:
6368
- maccy
6469
- stats
6570
- scroll-reverser
71+
- rectangle
6672
- visual-studio-code
6773
- orbstack
6874
- google-chrome
6975
- arc
7076
- postman
7177
- notion
78+
- tableplus
79+
- appcleaner
7280
npm:
7381
- typescript
7482
- tsx
@@ -96,13 +104,18 @@ presets:
96104
- tldr
97105
- gh
98106
- git-delta
107+
- git-lfs
99108
- lazygit
109+
- tig
110+
- pre-commit
100111
- stow
101112
- node
102113
- go
103114
- pnpm
104115
- docker
105116
- docker-compose
117+
- lazydocker
118+
- dive
106119
- tmux
107120
- neovim
108121
- httpie
@@ -111,6 +124,7 @@ presets:
111124
- rustup
112125
- deno
113126
- bun
127+
- cmake
114128
- kubectl
115129
- helm
116130
- k9s
@@ -128,21 +142,26 @@ presets:
128142
- maccy
129143
- stats
130144
- scroll-reverser
145+
- rectangle
131146
- visual-studio-code
132147
- cursor
133148
- orbstack
149+
- ngrok
134150
- google-chrome
135151
- arc
136152
- firefox
137153
- postman
138154
- proxyman
155+
- tableplus
139156
- notion
140157
- obsidian
141158
- figma
142159
- iina
143160
- keka
144161
- aldente
145-
- rectangle
162+
- appcleaner
163+
- shottr
164+
- miniconda
146165
npm:
147166
- typescript
148167
- tsx

internal/snapshot/match_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -190,8 +190,8 @@ func TestDetectBestPreset_DeveloperPreset(t *testing.T) {
190190
Formulae: []string{
191191
"curl", "wget", "jq", "yq", "ripgrep", "fd", "bat", "eza",
192192
"fzf", "zoxide", "htop", "btop", "tree", "tldr", "gh", "git-delta",
193-
"lazygit", "stow", "node", "go", "pnpm", "docker", "docker-compose",
194-
"tmux", "neovim", "httpie",
193+
"git-lfs", "lazygit", "pre-commit", "stow", "node", "go", "pnpm",
194+
"docker", "docker-compose", "lazydocker", "tmux", "neovim", "httpie",
195195
},
196196
Casks: []string{},
197197
Npm: []string{},

0 commit comments

Comments
 (0)