fuzzi-cli 0.1.2 → 0.1.4
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 +21 -61
- package/assets/changelog.json +24 -4
- package/dist/index.js +311 -330
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
Run Fuzzi security scans from your terminal. Interactive shell for daily use, scriptable commands for CI.
|
|
4
4
|
|
|
5
|
+
**Web app:** [fuzzi-ten.vercel.app](https://fuzzi-ten.vercel.app)
|
|
6
|
+
|
|
5
7
|
```bash
|
|
6
8
|
npm install -g fuzzi-cli
|
|
7
9
|
fuzzi
|
|
@@ -14,7 +16,7 @@ fuzzi
|
|
|
14
16
|
1. **Install** the CLI (above)
|
|
15
17
|
2. **Run** `fuzzi`
|
|
16
18
|
3. You'll see **Sign in to continue** — press **Enter**
|
|
17
|
-
4. Your **browser opens** to app
|
|
19
|
+
4. Your **browser opens** to [fuzzi-ten.vercel.app](https://fuzzi-ten.vercel.app) — log in or sign up
|
|
18
20
|
5. After authorizing, return to the terminal — you're in
|
|
19
21
|
|
|
20
22
|
```
|
|
@@ -24,7 +26,7 @@ fuzzi
|
|
|
24
26
|
› /palette # search commands
|
|
25
27
|
```
|
|
26
28
|
|
|
27
|
-
No browser? Use **`/auth-key`** to paste an API key from [Settings → API Keys](https://
|
|
29
|
+
No browser? Use **`/auth-key`** to paste an API key from [Settings → API Keys](https://fuzzi-ten.vercel.app/settings/api-keys).
|
|
28
30
|
|
|
29
31
|
---
|
|
30
32
|
|
|
@@ -74,10 +76,7 @@ fuzzi scan https://staging.example.com --fail-on high
|
|
|
74
76
|
# JSON for pipelines
|
|
75
77
|
fuzzi scan https://example.com --format json
|
|
76
78
|
|
|
77
|
-
#
|
|
78
|
-
# 0 = success, risk below threshold
|
|
79
|
-
# 1 = scan done, risk at/above --fail-on
|
|
80
|
-
# 2 = error (network, auth, bad URL)
|
|
79
|
+
# Exit codes: 0 = pass, 1 = risk threshold met, 2 = error
|
|
81
80
|
```
|
|
82
81
|
|
|
83
82
|
### All commands
|
|
@@ -91,15 +90,12 @@ fuzzi auth logout
|
|
|
91
90
|
fuzzi scan <url> [--wait] [--no-wait] [--format table|json|markdown]
|
|
92
91
|
[--env production|staging|development]
|
|
93
92
|
[--fail-on low|medium|high|critical]
|
|
94
|
-
[--fail-threshold 0.0-1.0]
|
|
95
93
|
|
|
96
|
-
fuzzi scans list
|
|
97
|
-
fuzzi
|
|
98
|
-
fuzzi report <scan-id> --format pdf|csv|json [-o file]
|
|
94
|
+
fuzzi scans list | get <scan-id>
|
|
95
|
+
fuzzi report <scan-id> --format pdf|csv|json
|
|
99
96
|
fuzzi whatif <scan-id> --set dimension=0.5
|
|
100
97
|
fuzzi compare <scan-a> <scan-b>
|
|
101
|
-
|
|
102
|
-
fuzzi config list | get [key] | set <key> <value>
|
|
98
|
+
fuzzi config list | get | set
|
|
103
99
|
fuzzi status
|
|
104
100
|
fuzzi --help
|
|
105
101
|
```
|
|
@@ -111,84 +107,48 @@ fuzzi --help
|
|
|
111
107
|
| File | Purpose |
|
|
112
108
|
|------|---------|
|
|
113
109
|
| `~/.fuzzi/credentials` | API key (mode 600) |
|
|
114
|
-
| `~/.fuzzi/config` | CLI defaults
|
|
115
|
-
|
|
|
116
|
-
| `.fuzzirc` or `fuzzi.toml` | Project defaults in repo root |
|
|
117
|
-
|
|
118
|
-
**Example `.fuzzirc`:**
|
|
119
|
-
|
|
120
|
-
```json
|
|
121
|
-
{
|
|
122
|
-
"scan": {
|
|
123
|
-
"url": "https://staging.example.com",
|
|
124
|
-
"environment": "staging",
|
|
125
|
-
"fail_on": "high"
|
|
126
|
-
},
|
|
127
|
-
"output": { "format": "markdown" }
|
|
128
|
-
}
|
|
129
|
-
```
|
|
110
|
+
| `~/.fuzzi/config` | CLI defaults |
|
|
111
|
+
| `.fuzzirc` / `fuzzi.toml` | Project defaults |
|
|
130
112
|
|
|
131
|
-
|
|
113
|
+
**Default API:** `https://fuzzi-ten.vercel.app/api`
|
|
132
114
|
|
|
133
115
|
```bash
|
|
134
116
|
fuzzi config set default_env staging
|
|
135
|
-
fuzzi
|
|
136
|
-
export
|
|
137
|
-
export FUZZI_DEBUG=1 # debug logging
|
|
117
|
+
export FUZZI_API_URL=https://fuzzi-ten.vercel.app/api # override if needed
|
|
118
|
+
export FUZZI_DEBUG=1
|
|
138
119
|
```
|
|
139
120
|
|
|
140
121
|
---
|
|
141
122
|
|
|
142
|
-
## CI example
|
|
123
|
+
## CI example
|
|
143
124
|
|
|
144
125
|
```yaml
|
|
145
126
|
- name: Fuzzi security gate
|
|
146
127
|
run: |
|
|
147
128
|
npm install -g fuzzi-cli
|
|
148
129
|
fuzzi auth login --api-key "${{ secrets.FUZZI_API_KEY }}"
|
|
149
|
-
fuzzi scan https://staging.example.com --fail-on critical
|
|
130
|
+
fuzzi scan https://staging.example.com --fail-on critical
|
|
150
131
|
```
|
|
151
132
|
|
|
152
133
|
---
|
|
153
134
|
|
|
154
|
-
## For web
|
|
135
|
+
## For web developers
|
|
155
136
|
|
|
156
|
-
|
|
137
|
+
Browser login and API contracts for [fuzzi-ten.vercel.app](https://fuzzi-ten.vercel.app):
|
|
157
138
|
|
|
158
|
-
See **[docs/frontend-integration.md](./docs/frontend-integration.md)**
|
|
159
|
-
|
|
160
|
-
- `/cli-auth` page spec
|
|
161
|
-
- `POST /api/cli/handoff` contract
|
|
162
|
-
- API keys settings UI
|
|
163
|
-
- Full feature parity checklist
|
|
139
|
+
See **[docs/frontend-integration.md](./docs/frontend-integration.md)**
|
|
164
140
|
|
|
165
141
|
---
|
|
166
142
|
|
|
167
143
|
## Development
|
|
168
144
|
|
|
169
145
|
```bash
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
npm install
|
|
173
|
-
npm test
|
|
174
|
-
npm run build
|
|
175
|
-
npm link # optional: global `fuzzi` command
|
|
146
|
+
npm install && npm test && npm run build
|
|
147
|
+
npm link # optional global `fuzzi` command
|
|
176
148
|
```
|
|
177
149
|
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
## Publish to npm
|
|
150
|
+
## Publish
|
|
181
151
|
|
|
182
152
|
```bash
|
|
183
|
-
npm login
|
|
184
153
|
npm publish --access public
|
|
185
154
|
```
|
|
186
|
-
|
|
187
|
-
Or tag `v0.1.0` and let GitHub Actions publish (requires `NPM_TOKEN` secret).
|
|
188
|
-
|
|
189
|
-
---
|
|
190
|
-
|
|
191
|
-
## Brand
|
|
192
|
-
|
|
193
|
-
- Accent: `#4FC3A1` (teal)
|
|
194
|
-
- Risk: LOW green · MEDIUM amber · HIGH red · CRITICAL purple
|
package/assets/changelog.json
CHANGED
|
@@ -1,11 +1,31 @@
|
|
|
1
1
|
[
|
|
2
|
+
{
|
|
3
|
+
"version": "0.1.4",
|
|
4
|
+
"date": "2026-06-19",
|
|
5
|
+
"highlights": [
|
|
6
|
+
"Three-column home screen with design system panels",
|
|
7
|
+
"Assisted browser login — paste API key after authorize",
|
|
8
|
+
"Teal diamond shield mascot and tip bar",
|
|
9
|
+
"Full-width terminal layout"
|
|
10
|
+
]
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"version": "0.1.3",
|
|
14
|
+
"date": "2026-06-19",
|
|
15
|
+
"highlights": [
|
|
16
|
+
"Confidence gating added",
|
|
17
|
+
"Netflix-style false positives fixed",
|
|
18
|
+
"CLI shell interface",
|
|
19
|
+
"Production app: fuzzi-ten.vercel.app"
|
|
20
|
+
]
|
|
21
|
+
},
|
|
2
22
|
{
|
|
3
23
|
"version": "0.1.2",
|
|
4
24
|
"date": "2026-06-19",
|
|
5
25
|
"highlights": [
|
|
6
|
-
"
|
|
7
|
-
"
|
|
8
|
-
"
|
|
26
|
+
"Three-column home screen layout",
|
|
27
|
+
"Teal diamond shield mascot",
|
|
28
|
+
"Design system panels and tip bar",
|
|
9
29
|
"Full terminal width layout"
|
|
10
30
|
]
|
|
11
31
|
},
|
|
@@ -13,7 +33,7 @@
|
|
|
13
33
|
"version": "0.1.1",
|
|
14
34
|
"date": "2026-06-19",
|
|
15
35
|
"highlights": [
|
|
16
|
-
"Browser sign-in on startup
|
|
36
|
+
"Browser sign-in on startup",
|
|
17
37
|
"Full-width terminal UI and command palette",
|
|
18
38
|
"/auth-key fallback for API key paste",
|
|
19
39
|
"Frontend integration docs for web team"
|