@vd7/eyecli 0.1.8 β 0.1.10
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/.hooks/pre-push +12 -0
- package/README.md +50 -37
- package/package.json +3 -2
package/.hooks/pre-push
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# Gate push behind Touch ID when shelllock is available (AI agents cannot bypass).
|
|
3
|
+
set -eo pipefail
|
|
4
|
+
|
|
5
|
+
if command -v shelllock &>/dev/null && [[ "${SHELLLOCK_VERIFIED:-}" != "1" ]]; then
|
|
6
|
+
shelllock -m "Push to remote?" true || {
|
|
7
|
+
echo "πͺ pre-push: BLOCKED β Touch ID denied"
|
|
8
|
+
exit 1
|
|
9
|
+
}
|
|
10
|
+
fi
|
|
11
|
+
|
|
12
|
+
exit 0
|
package/README.md
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
<div align="center">
|
|
2
2
|
|
|
3
|
-
<img src="https://raw.githubusercontent.com/vdutts7/
|
|
4
|
-
<img src="https://raw.githubusercontent.com/vdutts7/
|
|
3
|
+
<img src="https://raw.githubusercontent.com/vdutts7/squircle/main/webp/eyecli.webp" alt="logo" width="80" height="80" />
|
|
4
|
+
<img src="https://raw.githubusercontent.com/vdutts7/squircle/main/webp/npm.webp" alt="logo" width="80" height="80" />
|
|
5
5
|
|
|
6
|
-
<h1 align="center"
|
|
7
|
-
<p align="center"><i><b>The
|
|
6
|
+
<h1 align="center">eyecli</h1>
|
|
7
|
+
<p align="center"><i><b>The eye sees all. Powerful search CLI wrapping `ripgrep` and `fd` (`fzf` + semantic search coming soon). </b></i></p>
|
|
8
8
|
|
|
9
9
|
[![Github][github]][github-url]
|
|
10
10
|
[![npm][npm]][npm-url]
|
|
@@ -12,34 +12,38 @@
|
|
|
12
12
|
</div>
|
|
13
13
|
|
|
14
14
|
<br/>
|
|
15
|
-
|
|
15
|
+
|
|
16
16
|
## Table of Contents
|
|
17
17
|
|
|
18
18
|
<ol>
|
|
19
|
-
<a href="#about"
|
|
20
|
-
<a href="#install"
|
|
21
|
-
<a href="#usage"
|
|
22
|
-
<a href="#ignore-file"
|
|
23
|
-
<a href="#roadmap"
|
|
24
|
-
<a href="#tools-used"
|
|
25
|
-
<a href="#contact"
|
|
19
|
+
<a href="#about">About</a><br/>
|
|
20
|
+
<a href="#install">Install</a><br/>
|
|
21
|
+
<a href="#usage">Usage</a><br/>
|
|
22
|
+
<a href="#ignore-file">Ignore File</a><br/>
|
|
23
|
+
<a href="#roadmap">Roadmap</a><br/>
|
|
24
|
+
<a href="#tools-used">Tools used</a><br/>
|
|
25
|
+
<a href="#contact">Contact</a>
|
|
26
26
|
</ol>
|
|
27
27
|
|
|
28
28
|
<br/>
|
|
29
29
|
|
|
30
|
-
##
|
|
31
|
-
|
|
32
|
-
Smart defaults for searching. Hidden files included, case-insensitive, no .gitignore restrictions.
|
|
30
|
+
## About
|
|
33
31
|
|
|
34
|
-
-
|
|
35
|
-
-
|
|
36
|
-
-
|
|
37
|
-
-
|
|
38
|
-
-
|
|
32
|
+
- **Smart defaults**:
|
|
33
|
+
- hidden files included (`.gitignore`, `.env`, etc files "not respected")
|
|
34
|
+
- case-insensitive
|
|
35
|
+
- **Fast**:
|
|
36
|
+
- powered by `ripgrep` and `fd`
|
|
37
|
+
- **Extension filter**:
|
|
38
|
+
- `:json`, `:ts,tsx` syntax for quick file type filtering
|
|
39
|
+
- **Tree view**:
|
|
40
|
+
β visualize results as dir tree
|
|
41
|
+
- **Customizable**:
|
|
42
|
+
β `~/.eyeignore` for personal ignore patterns
|
|
39
43
|
|
|
40
44
|
<br/>
|
|
41
45
|
|
|
42
|
-
##
|
|
46
|
+
## Install
|
|
43
47
|
|
|
44
48
|
```bash
|
|
45
49
|
npm i -g @vd7/eyecli
|
|
@@ -47,8 +51,8 @@ npm i -g @vd7/eyecli
|
|
|
47
51
|
|
|
48
52
|
### Requirements
|
|
49
53
|
|
|
50
|
-
- [ripgrep](https://github.com/BurntSushi/ripgrep)
|
|
51
|
-
- [fd](https://github.com/sharkdp/fd)
|
|
54
|
+
- [ripgrep](https://github.com/BurntSushi/ripgrep) β for content search
|
|
55
|
+
- [fd](https://github.com/sharkdp/fd) β for filename search
|
|
52
56
|
|
|
53
57
|
```bash
|
|
54
58
|
# macOS
|
|
@@ -61,9 +65,17 @@ apt install ripgrep fd-find
|
|
|
61
65
|
choco install ripgrep fd
|
|
62
66
|
```
|
|
63
67
|
|
|
68
|
+
### From source (optional)
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
git clone https://github.com/vdutts7/eyecli.git
|
|
72
|
+
cd eyecli
|
|
73
|
+
npm i -g .
|
|
74
|
+
```
|
|
75
|
+
|
|
64
76
|
<br/>
|
|
65
77
|
|
|
66
|
-
##
|
|
78
|
+
## Usage
|
|
67
79
|
|
|
68
80
|
```bash
|
|
69
81
|
# Search file contents
|
|
@@ -106,9 +118,9 @@ eye init
|
|
|
106
118
|
|
|
107
119
|
<br/>
|
|
108
120
|
|
|
109
|
-
##
|
|
121
|
+
## `~/.eyeignore` file
|
|
110
122
|
|
|
111
|
-
|
|
123
|
+
eyecli supports a `~/.eyeignore` file to customize what gets searched
|
|
112
124
|
|
|
113
125
|
```bash
|
|
114
126
|
# Create starter ignore file
|
|
@@ -126,24 +138,25 @@ This creates `~/.eyeignore` with sensible defaults (node_modules, .git, build di
|
|
|
126
138
|
- Caches (__pycache__, .cache)
|
|
127
139
|
- And more...
|
|
128
140
|
|
|
129
|
-
**Secrets are NOT ignored by default**
|
|
141
|
+
**Secrets are NOT ignored by default** β uncomment `.env` patterns in `~/.eyeignore` if you want to exclude them.
|
|
130
142
|
|
|
131
143
|
<br/>
|
|
132
144
|
|
|
133
|
-
##
|
|
145
|
+
## Roadmap
|
|
134
146
|
|
|
135
147
|
- [x] Content search with ripgrep
|
|
136
148
|
- [x] Filename search with fd
|
|
137
149
|
- [x] Extension filtering (`:json`, `:ts,tsx`)
|
|
138
150
|
- [x] Tree view output
|
|
139
151
|
- [x] Custom ignore file (`~/.eyeignore`)
|
|
140
|
-
- [ ] Fuzzy matching
|
|
152
|
+
- [ ] Fuzzy matching (`fzf`)
|
|
153
|
+
- [ ] Semantic search
|
|
141
154
|
- [ ] Interactive mode
|
|
142
155
|
- [ ] Config file for defaults
|
|
143
156
|
|
|
144
157
|
<br/>
|
|
145
158
|
|
|
146
|
-
##
|
|
159
|
+
## Tools Used
|
|
147
160
|
|
|
148
161
|
[![Node.js][nodejs-badge]][nodejs-url]
|
|
149
162
|
[![ripgrep][rg-badge]][rg-url]
|
|
@@ -151,10 +164,14 @@ This creates `~/.eyeignore` with sensible defaults (node_modules, .git, build di
|
|
|
151
164
|
|
|
152
165
|
<br/>
|
|
153
166
|
|
|
154
|
-
## π€Contact
|
|
155
167
|
|
|
156
|
-
|
|
157
|
-
|
|
168
|
+
## Contact
|
|
169
|
+
|
|
170
|
+
|
|
171
|
+
<a href="https://vd7.io"><img src="https://img.shields.io/badge/website-000000?style=for-the-badge&logo=data:image/webp;base64,UklGRjAGAABXRUJQVlA4TCQGAAAvP8APEAHFbdtGsOVnuv/A6T1BRP8nQE8zgZUy0U4ktpT4QOHIJzqqDwxnbIyyAzADbAegMbO2BwratpHMH/f+OwChqG0jKXPuPsMf2cJYCP2fAMQe4OKTZIPEb9mq+y3dISZBN7Jt1bYz5rqfxQwWeRiBbEWgABQfm9+UrxiYWfLw3rtn1Tlrrb3vJxtyJEmKJM+lYyb9hbv3Mt91zj8l2rZN21WPbdu2bdsp2XZSsm3btm3bybfNZ+M4lGylbi55EIQLTcH2GyAFeHDJJ6+z//uviigx/hUxuTSVzqSMIdERGfypiZ8OfPnU1reQeKfxvhl8r/V5oj3VzJQ3qbo6RLh4BjevcBE+30F8eL/GcWI01ddkE1IFhmAAA+xPQATifcTO08J+CL8z+OBpEw+zTGuTYteMrhTDAPtVhCg2X5lYDf9fjg+fl/GwkupiUhBSBUUFLukjJFpD/C8W/rWR5kLYlB8/mGzmOzIKyTK5A4MCjKxAv2celbsItx/lUrRTZAT5NITMV3iL0cUAAGI0MRF2rONYBRRlhICQubO1P42kGC7AOMTWV7fSrEKRQ5UzsJ/5UtXWKy9tca6iP5FmDQeCiFQBQQgUfsEAQl1LLLWCAWAAISL17ySvICqUShDAZHV6MYyScQAIggh7j/g5/uevIHzz6A6FXI0LgdJ4g2oCAUFQfQfJM7xvKvGtsMle79ylhLsUx/QChEAQHCaezHD76fSAICgIIGuTJaMbIJfSfAEBCME/V4bnPa5yLoiOEEEoqx1JqrZ/SK1nZApxF/7sAF8r7oD03CorvVesxRAIgits66BaKWyy4FJCctC0e7eAiFef7dytgLviriDkS6lXWHOsDZgeDUEAwYJKeIXpIsiXGUNeEfb1Nk+yZIPrHpwvEDs3C0EhuwhgmdQoBKOAqpjAjMn41PQiVGG3CDlwCc0AGXX8s0Eshc8JPGkNhGJeDexYOudRdiX4+p2tGTvgothaMJs7wchxk9CBMoLZPQhGdIZgA4yGL7JvvhkpYK3xOq86xYIZAd9sCBqJZAA2ln5ldu8CSwEDRRFgF+wEAEKoZoW/8jY05bE3ds2f4uA5DAMAiNIBAYDGXDL0O78AjKlWRg+Y/9/eyL0tKIoUaxtIyKDUFQKgtJZKPmBAMgvZIQKAIJcQKFqGQjf2FELTAy6TnzADZLsnisNPABAZhU1LB6FpugmnUJ0oNedA3QPPVR6+AiBIXbgIAgDCdO7axjeEpLnk9k2nkKgPQ3zV5vvWrkx/wcrcpFT75QrBBibCq1aolkensxvZsN/0L2KDh79aTehXhPnoTggpBgiY+J8PIjdcmfpBofGokzMNMJY619i/AvEH2DD+fNlqCfVUcBEINS0FGPVuNPkE1+cdY+ebIKJqXQhBMBZMAkj7Xn91vN0BCfAC5J5PyHm71ptJJm3m7lCPUiHBTdBdCJlk0gAGEJroomQTxF2feZ4wJi4Y+9FqQoO1/ceoCoC7IOGtpU/m446s5TwXPTQxLgCcOZEBATG1zlfbeUJGcehbv9m6IPzaxLVSxGCPiEg7ThvWYPFehhc2gAIIEdsFob9Nx19YnR0Tf6IcqHIaVhDhhHbHFJa9p6Pj2gJjGsBfZrEAwNQ02UHAyuYLIeNPefgbNPL12lp4n/9uTSKERl3bwKmpAHSAuBODTNzk/1qXSqj2GljiqMsvr50CvcCbM5OSraOuTMJq28Fv48+waTWvrqQ0+8tIC0LxCFzgDAyIOdFqoZbPSUvkL9yB5JFDW682QhBpGAqAFfn7R2pV2u5zBoqlzpHRt78hXCETWJPjVHDiPJit5GQLYmJMNFiVr1bSnGOlCXIdkyyFpcHgtzH0BusCiQzPRUifr61BoW5aAvHxyI/gIjnOPB6chcCYHsJuEQogBM689OtvcKFAytNEB/N26qXQvQITd2a3ruZCMrgUcBVqvLiS6lR9Bi8gaNBrJtIc/GdYDj+AOyQPV61D9BfdguJCft31hHjzyBz7dzgOIeAOymsrKb59V+FKtYyqa6pGlIrKpEiRvk3zt+sL4jX1+G/uQii4C/LBSsp3n2V/NHIchtQAeC7K9/6DGHAPCwA=&logoColor=white" alt="website" /></a>
|
|
172
|
+
<a href="https://x.com/vdutts7"><img src="https://img.shields.io/badge/vdutts7-000000?style=for-the-badge&logo=X&logoColor=white" alt="Twitter" /></a>
|
|
173
|
+
|
|
174
|
+
|
|
158
175
|
|
|
159
176
|
<!-- BADGES -->
|
|
160
177
|
[github]: https://img.shields.io/badge/π»_eyecli-000000?style=for-the-badge
|
|
@@ -167,7 +184,3 @@ This creates `~/.eyeignore` with sensible defaults (node_modules, .git, build di
|
|
|
167
184
|
[rg-url]: https://github.com/BurntSushi/ripgrep
|
|
168
185
|
[fd-badge]: https://img.shields.io/badge/fd-4B275F?style=for-the-badge&logo=rust&logoColor=white
|
|
169
186
|
[fd-url]: https://github.com/sharkdp/fd
|
|
170
|
-
[email]: https://img.shields.io/badge/Email-000000?style=for-the-badge&logo=Gmail&logoColor=white
|
|
171
|
-
[email-url]: mailto:me@vd7.io
|
|
172
|
-
[twitter]: https://img.shields.io/badge/Twitter-000000?style=for-the-badge&logo=Twitter&logoColor=white
|
|
173
|
-
[twitter-url]: https://x.com/vdutts7
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vd7/eyecli",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.10",
|
|
4
4
|
"description": "The Eye sees EVERYTHING. A powerful search CLI wrapping ripgrep and fd with smart defaults.",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"bin": {
|
|
@@ -23,8 +23,9 @@
|
|
|
23
23
|
"license": "MIT",
|
|
24
24
|
"repository": {
|
|
25
25
|
"type": "git",
|
|
26
|
-
"url": "https://github.com/
|
|
26
|
+
"url": "https://github.com/vdutts7/eyecli.git"
|
|
27
27
|
},
|
|
28
|
+
"homepage": "https://github.com/vdutts7/eyecli#readme",
|
|
28
29
|
"engines": {
|
|
29
30
|
"node": ">=16.0.0"
|
|
30
31
|
},
|