@hanzo/persona 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.
- package/README.md +68 -0
- package/index.js +36 -0
- package/package.json +40 -0
- package/schemas/persona_schema.yaml +295 -0
- package/schemas/personality.schema.json +228 -0
- package/scripts/add-personality.js +220 -0
- package/scripts/build.js +345 -0
- package/scripts/enhance-scientists.js +215 -0
- package/scripts/enhance_all_personalities.py +926 -0
- package/scripts/migrate.js +384 -0
- package/scripts/parallel-validate.js +322 -0
- package/scripts/split-personalities.js +95 -0
- package/scripts/validate.js +306 -0
- package/tools/unix_tools.yaml +349 -0
|
@@ -0,0 +1,349 @@
|
|
|
1
|
+
# Unix/CLI Tool Preferences for Personalities
|
|
2
|
+
# Comprehensive mapping of personality preferences to Unix/CLI tools
|
|
3
|
+
|
|
4
|
+
unix_cli_preferences:
|
|
5
|
+
# Core Unix philosophy adherents
|
|
6
|
+
ritchie_thompson:
|
|
7
|
+
philosophy: "Write programs that do one thing and do it well"
|
|
8
|
+
essential_tools:
|
|
9
|
+
- grep
|
|
10
|
+
- sed
|
|
11
|
+
- awk
|
|
12
|
+
- sort
|
|
13
|
+
- uniq
|
|
14
|
+
- cut
|
|
15
|
+
- tr
|
|
16
|
+
- tee
|
|
17
|
+
- xargs
|
|
18
|
+
- find
|
|
19
|
+
shell: sh
|
|
20
|
+
editor: ed
|
|
21
|
+
pipeline_style: "heavy"
|
|
22
|
+
|
|
23
|
+
linus:
|
|
24
|
+
philosophy: "Talk is cheap. Show me the code."
|
|
25
|
+
essential_tools:
|
|
26
|
+
- git
|
|
27
|
+
- grep
|
|
28
|
+
- diff
|
|
29
|
+
- patch
|
|
30
|
+
- make
|
|
31
|
+
- gcc
|
|
32
|
+
- gdb
|
|
33
|
+
- strace
|
|
34
|
+
- perf
|
|
35
|
+
- sparse
|
|
36
|
+
shell: bash
|
|
37
|
+
editor: "microemacs/vim"
|
|
38
|
+
workflow: "email-based patches"
|
|
39
|
+
|
|
40
|
+
kernighan:
|
|
41
|
+
philosophy: "Controlling complexity is the essence of computer programming"
|
|
42
|
+
essential_tools:
|
|
43
|
+
- awk
|
|
44
|
+
- make
|
|
45
|
+
- troff
|
|
46
|
+
- pic
|
|
47
|
+
- grep
|
|
48
|
+
- sed
|
|
49
|
+
- diff
|
|
50
|
+
- sam
|
|
51
|
+
shell: sh
|
|
52
|
+
editor: sam
|
|
53
|
+
documentation: troff
|
|
54
|
+
|
|
55
|
+
pike:
|
|
56
|
+
philosophy: "A little copying is better than a little dependency"
|
|
57
|
+
essential_tools:
|
|
58
|
+
- go
|
|
59
|
+
- gofmt
|
|
60
|
+
- go test
|
|
61
|
+
- grep
|
|
62
|
+
- sed
|
|
63
|
+
- make
|
|
64
|
+
- git
|
|
65
|
+
- acme
|
|
66
|
+
shell: rc
|
|
67
|
+
editor: acme
|
|
68
|
+
build_system: "go modules"
|
|
69
|
+
|
|
70
|
+
# Modern CLI power users
|
|
71
|
+
|
|
72
|
+
mitchell_hashimoto:
|
|
73
|
+
philosophy: "Automate everything"
|
|
74
|
+
essential_tools:
|
|
75
|
+
- terraform
|
|
76
|
+
- packer
|
|
77
|
+
- vagrant
|
|
78
|
+
- consul
|
|
79
|
+
- vault
|
|
80
|
+
- nomad
|
|
81
|
+
- make
|
|
82
|
+
- go
|
|
83
|
+
- git
|
|
84
|
+
shell: zsh
|
|
85
|
+
editor: vim
|
|
86
|
+
infrastructure: "as code"
|
|
87
|
+
|
|
88
|
+
antirez:
|
|
89
|
+
philosophy: "Simplicity is a feature"
|
|
90
|
+
essential_tools:
|
|
91
|
+
- redis-cli
|
|
92
|
+
- telnet
|
|
93
|
+
- nc
|
|
94
|
+
- tcpdump
|
|
95
|
+
- strace
|
|
96
|
+
- gdb
|
|
97
|
+
- valgrind
|
|
98
|
+
- git
|
|
99
|
+
- make
|
|
100
|
+
shell: bash
|
|
101
|
+
editor: vim
|
|
102
|
+
debugging: "printf debugging"
|
|
103
|
+
|
|
104
|
+
# Security-focused CLI users
|
|
105
|
+
|
|
106
|
+
schneier:
|
|
107
|
+
philosophy: "Security is a process, not a product"
|
|
108
|
+
essential_tools:
|
|
109
|
+
- gpg
|
|
110
|
+
- openssl
|
|
111
|
+
- ssh
|
|
112
|
+
- netcat
|
|
113
|
+
- tcpdump
|
|
114
|
+
- wireshark
|
|
115
|
+
- nmap
|
|
116
|
+
- john
|
|
117
|
+
- hashcat
|
|
118
|
+
- metasploit
|
|
119
|
+
shell: bash
|
|
120
|
+
editor: vim
|
|
121
|
+
crypto: gpg
|
|
122
|
+
|
|
123
|
+
moxie:
|
|
124
|
+
philosophy: "Make private communication simple"
|
|
125
|
+
essential_tools:
|
|
126
|
+
- signal-cli
|
|
127
|
+
- gpg
|
|
128
|
+
- openssl
|
|
129
|
+
- ssh
|
|
130
|
+
- git
|
|
131
|
+
- make
|
|
132
|
+
- gradle
|
|
133
|
+
- adb
|
|
134
|
+
shell: bash
|
|
135
|
+
editor: vim
|
|
136
|
+
build: gradle
|
|
137
|
+
|
|
138
|
+
# Data processing CLI masters
|
|
139
|
+
|
|
140
|
+
dean_ghemawat:
|
|
141
|
+
philosophy: "Process data at scale"
|
|
142
|
+
essential_tools:
|
|
143
|
+
- mapreduce
|
|
144
|
+
- bigtable
|
|
145
|
+
- protobuf
|
|
146
|
+
- bazel
|
|
147
|
+
- gcloud
|
|
148
|
+
- kubectl
|
|
149
|
+
- bq
|
|
150
|
+
- gsutil
|
|
151
|
+
shell: bash
|
|
152
|
+
editor: emacs
|
|
153
|
+
build: bazel
|
|
154
|
+
|
|
155
|
+
# Web/Frontend developers who love CLI
|
|
156
|
+
|
|
157
|
+
dhh:
|
|
158
|
+
philosophy: "Convention over configuration"
|
|
159
|
+
essential_tools:
|
|
160
|
+
- rails
|
|
161
|
+
- rake
|
|
162
|
+
- bundler
|
|
163
|
+
- rspec
|
|
164
|
+
- capistrano
|
|
165
|
+
- redis-cli
|
|
166
|
+
- psql
|
|
167
|
+
- git
|
|
168
|
+
- tmux
|
|
169
|
+
shell: zsh
|
|
170
|
+
editor: "textmate/vs code"
|
|
171
|
+
testing: rspec
|
|
172
|
+
|
|
173
|
+
# Language creators and their CLI preferences
|
|
174
|
+
|
|
175
|
+
guido:
|
|
176
|
+
philosophy: "There should be one obvious way to do it"
|
|
177
|
+
essential_tools:
|
|
178
|
+
- python
|
|
179
|
+
- pip
|
|
180
|
+
- pytest
|
|
181
|
+
- black
|
|
182
|
+
- mypy
|
|
183
|
+
- ruff
|
|
184
|
+
- uv
|
|
185
|
+
- git
|
|
186
|
+
- make
|
|
187
|
+
shell: bash
|
|
188
|
+
editor: "emacs/vim"
|
|
189
|
+
formatter: black
|
|
190
|
+
|
|
191
|
+
matz:
|
|
192
|
+
philosophy: "Optimize for programmer happiness"
|
|
193
|
+
essential_tools:
|
|
194
|
+
- ruby
|
|
195
|
+
- irb
|
|
196
|
+
- rake
|
|
197
|
+
- gem
|
|
198
|
+
- bundler
|
|
199
|
+
- rspec
|
|
200
|
+
- pry
|
|
201
|
+
- git
|
|
202
|
+
shell: zsh
|
|
203
|
+
editor: emacs
|
|
204
|
+
debugger: pry
|
|
205
|
+
|
|
206
|
+
# DevOps CLI specialists
|
|
207
|
+
|
|
208
|
+
kelsey_hightower:
|
|
209
|
+
philosophy: "No code is the best code"
|
|
210
|
+
essential_tools:
|
|
211
|
+
- kubectl
|
|
212
|
+
- docker
|
|
213
|
+
- gcloud
|
|
214
|
+
- terraform
|
|
215
|
+
- helm
|
|
216
|
+
- kustomize
|
|
217
|
+
- curl
|
|
218
|
+
- jq
|
|
219
|
+
- yq
|
|
220
|
+
shell: bash
|
|
221
|
+
editor: vim
|
|
222
|
+
orchestration: kubernetes
|
|
223
|
+
|
|
224
|
+
# Tool categories and their personality mappings
|
|
225
|
+
|
|
226
|
+
tool_categories:
|
|
227
|
+
text_processing:
|
|
228
|
+
masters: [kernighan, pike, ritchie]
|
|
229
|
+
tools: [grep, sed, awk, perl, ripgrep, ag]
|
|
230
|
+
|
|
231
|
+
version_control:
|
|
232
|
+
masters: [linus, torvalds]
|
|
233
|
+
tools: [git, hg, svn, fossil, darcs]
|
|
234
|
+
|
|
235
|
+
build_systems:
|
|
236
|
+
masters: [pike, feldman]
|
|
237
|
+
tools: [make, cmake, bazel, gradle, maven, cargo]
|
|
238
|
+
|
|
239
|
+
package_managers:
|
|
240
|
+
traditional: [apt, yum, dnf, pacman, brew]
|
|
241
|
+
language_specific: [pip, npm, cargo, gem, go mod]
|
|
242
|
+
modern: [nix, guix, flatpak, snap]
|
|
243
|
+
|
|
244
|
+
shell_productivity:
|
|
245
|
+
shells: [bash, zsh, fish, nushell, elvish, xonsh]
|
|
246
|
+
multiplexers: [tmux, screen, zellij, byobu]
|
|
247
|
+
prompts: [starship, powerlevel10k, oh-my-zsh]
|
|
248
|
+
|
|
249
|
+
modern_cli_tools:
|
|
250
|
+
better_replacements:
|
|
251
|
+
ls: [exa, lsd]
|
|
252
|
+
cat: [bat]
|
|
253
|
+
find: [fd]
|
|
254
|
+
grep: [ripgrep, ag]
|
|
255
|
+
sed: [sd]
|
|
256
|
+
du: [dust, dua]
|
|
257
|
+
df: [duf]
|
|
258
|
+
top: [htop, btop, gtop]
|
|
259
|
+
ps: [procs]
|
|
260
|
+
curl: [httpie, xh]
|
|
261
|
+
man: [tldr, tealdeer]
|
|
262
|
+
|
|
263
|
+
development_tools:
|
|
264
|
+
editors:
|
|
265
|
+
terminal: [vim, neovim, emacs, nano, micro, helix]
|
|
266
|
+
ide_cli: [nvim + lsp, emacs + lsp]
|
|
267
|
+
debuggers: [gdb, lldb, delve, pdb, rr]
|
|
268
|
+
profilers: [perf, valgrind, dtrace, bpftrace]
|
|
269
|
+
|
|
270
|
+
network_tools:
|
|
271
|
+
basics: [curl, wget, nc, telnet]
|
|
272
|
+
advanced: [nmap, tcpdump, wireshark, mtr, iperf]
|
|
273
|
+
modern: [httpie, websocat, grpcurl, hey]
|
|
274
|
+
|
|
275
|
+
container_tools:
|
|
276
|
+
runtime: [docker, podman, containerd, cri-o]
|
|
277
|
+
orchestration: [docker-compose, kubectl, helm, kustomize]
|
|
278
|
+
build: [buildah, kaniko, pack, ko]
|
|
279
|
+
|
|
280
|
+
monitoring_debugging:
|
|
281
|
+
system: [htop, iotop, iftop, nethogs]
|
|
282
|
+
tracing: [strace, ltrace, dtrace, bpftrace]
|
|
283
|
+
logs: [journalctl, tail, multitail, lnav]
|
|
284
|
+
|
|
285
|
+
data_processing:
|
|
286
|
+
json: [jq, jid, gron, jp]
|
|
287
|
+
yaml: [yq, yamlpath]
|
|
288
|
+
csv: [csvkit, xsv, miller]
|
|
289
|
+
general: [awk, perl, python, nushell]
|
|
290
|
+
|
|
291
|
+
# Workflow patterns by personality type
|
|
292
|
+
|
|
293
|
+
workflow_patterns:
|
|
294
|
+
minimalist:
|
|
295
|
+
tools: "core unix only"
|
|
296
|
+
philosophy: "less is more"
|
|
297
|
+
examples: [ken_thompson, rob_pike]
|
|
298
|
+
|
|
299
|
+
maximalist:
|
|
300
|
+
tools: "every tool available"
|
|
301
|
+
philosophy: "right tool for every job"
|
|
302
|
+
examples: [10x_engineer]
|
|
303
|
+
|
|
304
|
+
modernist:
|
|
305
|
+
tools: "modern replacements for classics"
|
|
306
|
+
philosophy: "better UX matters"
|
|
307
|
+
examples: [cloud_native]
|
|
308
|
+
|
|
309
|
+
traditionalist:
|
|
310
|
+
tools: "proven unix tools"
|
|
311
|
+
philosophy: "if it ain't broke"
|
|
312
|
+
examples: [ritchie, kernighan]
|
|
313
|
+
|
|
314
|
+
automator:
|
|
315
|
+
tools: "scriptable everything"
|
|
316
|
+
philosophy: "automate all the things"
|
|
317
|
+
examples: [mitchell_hashimoto, dhh]
|
|
318
|
+
|
|
319
|
+
# Shell configuration by personality
|
|
320
|
+
|
|
321
|
+
shell_configs:
|
|
322
|
+
purist:
|
|
323
|
+
shell: sh
|
|
324
|
+
prompt: '$'
|
|
325
|
+
aliases: none
|
|
326
|
+
features: "POSIX only"
|
|
327
|
+
|
|
328
|
+
pragmatist:
|
|
329
|
+
shell: bash
|
|
330
|
+
prompt: 'PS1="\\u@\\h:\\w\\$ "'
|
|
331
|
+
aliases: minimal
|
|
332
|
+
features: standard
|
|
333
|
+
|
|
334
|
+
power_user:
|
|
335
|
+
shell: zsh
|
|
336
|
+
framework: oh-my-zsh
|
|
337
|
+
plugins: [git, docker, kubectl, terraform]
|
|
338
|
+
theme: powerlevel10k
|
|
339
|
+
|
|
340
|
+
modern:
|
|
341
|
+
shell: fish
|
|
342
|
+
prompt: starship
|
|
343
|
+
plugins: [fzf, z, abbreviations]
|
|
344
|
+
features: "autosuggestions, syntax highlighting"
|
|
345
|
+
|
|
346
|
+
experimental:
|
|
347
|
+
shell: nushell
|
|
348
|
+
features: "structured data, built-in dataframe"
|
|
349
|
+
philosophy: "shells should understand data"
|