fpf-cli 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/LICENSE +674 -0
- package/README.md +104 -0
- package/fpf +962 -0
- package/package.json +44 -0
package/README.md
ADDED
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
# Fuzzy Package Finder (`fpf`)
|
|
2
|
+
|
|
3
|
+
`fpf` is a cross-platform fuzzy package finder powered by `fzf`.
|
|
4
|
+
|
|
5
|
+
It auto-detects your OS and distro package manager, then lets you fuzzy-search packages, preview details, and install/remove/update with one interface.
|
|
6
|
+
|
|
7
|
+
## Supported package managers
|
|
8
|
+
|
|
9
|
+
- Linux distro managers: `apt`, `dnf`, `pacman`, `zypper`, `emerge`
|
|
10
|
+
- Cross-platform app managers: `snap`, `flatpak`
|
|
11
|
+
- Dev package managers: `npm`, `bun`
|
|
12
|
+
- macOS: `brew`
|
|
13
|
+
|
|
14
|
+
`winget` is intentionally not supported.
|
|
15
|
+
|
|
16
|
+
## Features
|
|
17
|
+
|
|
18
|
+
- Auto-detects default manager from OS + distro
|
|
19
|
+
- Supports manager override with one or two-letter flags
|
|
20
|
+
- Unified fuzzy UI for search/install/list/remove
|
|
21
|
+
- Multi-select installs/removals with safety confirmation
|
|
22
|
+
- Shared keybinds and preview pane behavior across managers
|
|
23
|
+
|
|
24
|
+
## Requirements
|
|
25
|
+
|
|
26
|
+
- `bash`
|
|
27
|
+
- `fzf`
|
|
28
|
+
- One or more supported package managers from the list above
|
|
29
|
+
|
|
30
|
+
## Usage
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
fpf [manager option] [action option] [query]
|
|
34
|
+
fpf -m|--manager <name> [action option] [query]
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
Default action is `search + install` using auto-detected manager.
|
|
38
|
+
|
|
39
|
+
## Install
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
# npm
|
|
43
|
+
npm install -g fpf-cli
|
|
44
|
+
|
|
45
|
+
# bun
|
|
46
|
+
bun add -g fpf-cli
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
### Action options
|
|
50
|
+
|
|
51
|
+
- `-l`, `--list-installed` - fuzzy list installed packages and inspect details
|
|
52
|
+
- `-R`, `--remove` - fuzzy select installed packages to remove
|
|
53
|
+
- `-U`, `--update` - run manager update/upgrade flow
|
|
54
|
+
- `-h`, `--help` - show help
|
|
55
|
+
|
|
56
|
+
### Manager options
|
|
57
|
+
|
|
58
|
+
- `-ap`, `--apt`
|
|
59
|
+
- `-dn`, `--dnf`
|
|
60
|
+
- `-pm`, `--pacman`
|
|
61
|
+
- `-zy`, `--zypper`
|
|
62
|
+
- `-em`, `--emerge`
|
|
63
|
+
- `-br`, `--brew`
|
|
64
|
+
- `-sn`, `--snap`
|
|
65
|
+
- `-fp`, `--flatpak`
|
|
66
|
+
- `-np`, `--npm`
|
|
67
|
+
- `-bn`, `--bun`
|
|
68
|
+
- `-ad`, `--auto` (force auto-detection)
|
|
69
|
+
- `-m`, `--manager <name>` (explicit manager by name)
|
|
70
|
+
|
|
71
|
+
### Examples
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
# Auto-detected manager search/install
|
|
75
|
+
fpf ripgrep
|
|
76
|
+
|
|
77
|
+
# Force DNF
|
|
78
|
+
fpf -dn nginx
|
|
79
|
+
|
|
80
|
+
# Use APT and list installed packages
|
|
81
|
+
fpf -ap -l openssl
|
|
82
|
+
|
|
83
|
+
# Remove with Homebrew
|
|
84
|
+
fpf -br -R wget
|
|
85
|
+
|
|
86
|
+
# Update with auto-detected manager
|
|
87
|
+
fpf -U
|
|
88
|
+
|
|
89
|
+
# Explicit manager name
|
|
90
|
+
fpf --manager flatpak gimp
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
## Keybinds
|
|
94
|
+
|
|
95
|
+
- `ctrl-h` show help in preview
|
|
96
|
+
- `ctrl-k` show keybinds in preview
|
|
97
|
+
- `ctrl-/` toggle preview
|
|
98
|
+
- `ctrl-n` jump to next selected item
|
|
99
|
+
- `ctrl-b` jump to previous selected item
|
|
100
|
+
|
|
101
|
+
## Notes
|
|
102
|
+
|
|
103
|
+
- Root-required managers (`apt`, `dnf`, `pacman`, `zypper`, `emerge`, `snap`) run privileged operations via `sudo` when needed.
|
|
104
|
+
- User-space managers (`brew`, `npm`, `bun`, and default user-mode `flatpak`) run without `sudo`.
|