@pm-2001/shellup 0.1.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/LICENSE +21 -0
- package/README.md +96 -0
- package/dist/cli.js +883 -0
- package/package.json +57 -0
- package/runtime/aliases.zsh +46 -0
- package/runtime/functions.zsh +56 -0
- package/runtime/keybindings.zsh +45 -0
- package/runtime/options.zsh +59 -0
- package/runtime/prompt.zsh +161 -0
- package/runtime/themes/minimal.zsh +29 -0
- package/runtime/themes/neon.zsh +29 -0
- package/runtime/themes/powerline.zsh +36 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 pm-2001
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
# shellup
|
|
2
|
+
|
|
3
|
+
Level up your terminal in 60 seconds — a fast async prompt, modern tool swaps, and
|
|
4
|
+
sane zsh defaults, installed by one command and fully reversible by another.
|
|
5
|
+
|
|
6
|
+
```bash
|
|
7
|
+
npx @pm-2001/shellup init
|
|
8
|
+
```
|
|
9
|
+
|
|
10
|
+
The package is scoped, but the command it installs is just `shellup`.
|
|
11
|
+
|
|
12
|
+
No framework to adopt, no dotfiles repo to fork, and **three lines** added to your
|
|
13
|
+
`.zshrc`. Everything else lives in `~/.config/shellup`.
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## What you get
|
|
18
|
+
|
|
19
|
+
**A prompt that doesn't slow you down.** Most themed prompts run `git status`
|
|
20
|
+
synchronously on every line, which is why they crawl in a large repo. shellup does one
|
|
21
|
+
`git rev-parse` up front and computes counts, ahead/behind, stash and rebase state in a
|
|
22
|
+
background process, repainting when the result lands.
|
|
23
|
+
|
|
24
|
+
```
|
|
25
|
+
~/dev/shellup on main +2 !1 ?3 ⇡1
|
|
26
|
+
> npm test 4s
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
**Three themes**, two of which need no special font:
|
|
30
|
+
|
|
31
|
+
| theme | needs a Nerd Font | |
|
|
32
|
+
|---|---|---|
|
|
33
|
+
| `minimal` | no | clean two-line prompt, safe in any terminal |
|
|
34
|
+
| `neon` | no | bright, boxed, still font-safe |
|
|
35
|
+
| `powerline` | yes | segmented arrows and icons |
|
|
36
|
+
|
|
37
|
+
**Modern tool swaps**, each installed for you and wired up behind a guard:
|
|
38
|
+
[eza](https://github.com/eza-community/eza), [bat](https://github.com/sharkdp/bat),
|
|
39
|
+
[fzf](https://github.com/junegunn/fzf), [zoxide](https://github.com/ajeetdsouza/zoxide),
|
|
40
|
+
[fd](https://github.com/sharkdp/fd), [ripgrep](https://github.com/BurntSushi/ripgrep),
|
|
41
|
+
[git-delta](https://github.com/dandavison/delta), lazygit, btop, jq, tldr.
|
|
42
|
+
|
|
43
|
+
**zsh defaults worth having**: 100k lines of shared, deduplicated history; completion
|
|
44
|
+
with case-insensitive matching and a menu; `auto_cd` and a directory stack; prefix-aware
|
|
45
|
+
history search on <kbd>↑</kbd>; word-wise movement that survives ssh; `Ctrl-Z` to toggle
|
|
46
|
+
back into a suspended job.
|
|
47
|
+
|
|
48
|
+
**Aliases and functions** that stay out of the way — git shortcuts, `mkcd`, `extract`
|
|
49
|
+
(one command for every archive format), `serve`, `onport`, `bak`, `cdr`.
|
|
50
|
+
|
|
51
|
+
## Commands
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
shellup init # interactive setup
|
|
55
|
+
shellup doctor # what's wired up, what isn't, and how to fix it
|
|
56
|
+
shellup theme neon # switch prompt theme
|
|
57
|
+
shellup apply # regenerate after hand-editing config.json
|
|
58
|
+
shellup uninstall # remove cleanly
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
## What it touches
|
|
62
|
+
|
|
63
|
+
```
|
|
64
|
+
~/.zshrc 3 lines, in a marked block, appended
|
|
65
|
+
~/.config/shellup/
|
|
66
|
+
config.json your choices
|
|
67
|
+
init.zsh generated entry point
|
|
68
|
+
generated/tools.zsh generated tool integrations
|
|
69
|
+
runtime/ prompt engine, themes, aliases, functions
|
|
70
|
+
custom.zsh YOURS — sourced last, never overwritten
|
|
71
|
+
backups/ timestamped copies of your .zshrc
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
Your `.zshrc` is backed up before every write. `shellup uninstall` removes the block and
|
|
75
|
+
leaves the file byte-for-byte as it was.
|
|
76
|
+
|
|
77
|
+
## Design notes
|
|
78
|
+
|
|
79
|
+
- **Every tool integration is guarded by `command -v`.** Uninstalling `eza` later
|
|
80
|
+
degrades to plain `ls` instead of breaking your shell on every new terminal.
|
|
81
|
+
- **Non-interactive shells return immediately.** Sourcing a prompt engine during `scp` or
|
|
82
|
+
a script is wasted work, and can corrupt protocols that expect clean stdout.
|
|
83
|
+
- **`custom.zsh` is sourced last**, so anything you write there wins over shellup's
|
|
84
|
+
defaults without forking anything.
|
|
85
|
+
- **`compinit` checks its cache once a day** rather than rebuilding on every shell start.
|
|
86
|
+
|
|
87
|
+
## Requirements
|
|
88
|
+
|
|
89
|
+
zsh, and Node 18+ to run the installer. macOS or Linux. Tool installation uses whichever
|
|
90
|
+
of `brew`, `apt`, `dnf` or `pacman` you have — without one, shellup still writes the
|
|
91
|
+
config and the integrations activate on their own once the tools reach your `PATH`.
|
|
92
|
+
|
|
93
|
+
## License
|
|
94
|
+
|
|
95
|
+
MIT
|
|
96
|
+
# shell-up
|