diffray 0.2.0 → 0.4.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 +118 -289
- package/dist/defaults/agents/security-scan.md +1 -1
- package/dist/defaults/agents/validation.md +45 -174
- package/dist/defaults/prompts/output-format.md +49 -22
- package/dist/defaults/prompts/validation-instructions.md +88 -0
- package/dist/diffray.cjs +257 -237
- package/package.json +1 -1
- package/src/defaults/agents/security-scan.md +1 -1
- package/src/defaults/agents/validation.md +45 -174
- package/src/defaults/prompts/output-format.md +49 -22
- package/src/defaults/prompts/validation-instructions.md +88 -0
package/README.md
CHANGED
|
@@ -1,85 +1,37 @@
|
|
|
1
|
-
<
|
|
2
|
-
<
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
<h1
|
|
1
|
+
<table>
|
|
2
|
+
<tr>
|
|
3
|
+
<td><img src="logo.svg" alt="diffray" width="120"></td>
|
|
4
|
+
<td>
|
|
5
|
+
<h1>diffray</h1>
|
|
6
|
+
<strong>Free open-source multi-agent code review</strong>
|
|
7
|
+
</td>
|
|
8
|
+
</tr>
|
|
9
|
+
</table>
|
|
10
|
+
|
|
11
|
+
> **What is this?** A CLI tool that runs multiple AI agents to review your code changes. Each agent specializes in different aspects: bugs, security, performance, code style. Works with [Claude Code](https://github.com/anthropics/claude-code) or [Cursor Agent](https://cursor.com).
|
|
12
|
+
>
|
|
13
|
+
> **How is it different from [diffray.ai](https://diffray.ai)?** The cloud platform automatically learns from your team's review feedback and generates rules. This CLI version requires manual rule configuration but gives you full control and runs locally.
|
|
6
14
|
|
|
7
15
|
<p align="center">
|
|
8
|
-
<
|
|
16
|
+
<img src="/docs/diffray.png" alt="diffray in action" width="800">
|
|
9
17
|
</p>
|
|
10
18
|
|
|
19
|
+
---
|
|
20
|
+
|
|
11
21
|
## Table of Contents
|
|
12
22
|
|
|
13
|
-
|
|
14
|
-
- [What is diffray?](#what-is-diffray)
|
|
15
|
-
- [Quick Start](#quick-start) · [Quick Reference](#quick-reference)
|
|
23
|
+
- [Quick Start](#quick-start)
|
|
16
24
|
- [Prerequisites](#prerequisites)
|
|
17
|
-
- [Common Commands](#common-commands)
|
|
18
25
|
- [How It Works](#how-it-works)
|
|
19
|
-
|
|
20
|
-
**Customization**
|
|
21
26
|
- [Configuration](#configuration-optional)
|
|
22
27
|
- [Creating Custom Agents](#creating-custom-agents)
|
|
23
28
|
- [Creating Custom Rules](#creating-custom-rules)
|
|
24
29
|
- [Overriding Agents and Rules](#overriding-agents-and-rules)
|
|
25
|
-
|
|
26
|
-
**Reference**
|
|
27
30
|
- [FAQ](#faq)
|
|
28
31
|
- [Development](#development)
|
|
29
|
-
- [Contributing](CONTRIBUTING.md)
|
|
30
|
-
- [Changelog](CHANGELOG.md)
|
|
31
32
|
|
|
32
33
|
---
|
|
33
34
|
|
|
34
|
-
> **Note:** This is a lightweight, open-source version of diffray. While inspired by the [diffray.ai](https://diffray.ai) platform, it differs significantly from the full cloud solution. The main difference is the lack of automatic feedback collection and rule generation based on your team's review history — though you can implement custom rules yourself. Thanks to powerful CLI agents like [Claude Code](https://github.com/anthropics/claude-code) and [Cursor Agent](https://cursor.com), this version can perform code reviews at a professional level. However, be aware that token consumption can grow significantly with many rules and changed files.
|
|
35
|
-
|
|
36
|
-
## What is diffray?
|
|
37
|
-
|
|
38
|
-
diffray automatically reviews your code changes and finds bugs, security issues, and performance problems **before** you commit or create a PR.
|
|
39
|
-
|
|
40
|
-
Think of it as having a senior developer review your code 24/7.
|
|
41
|
-
|
|
42
|
-
```
|
|
43
|
-
You write code → diffray analyzes it → You get a list of issues to fix
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
### What it finds:
|
|
47
|
-
|
|
48
|
-
- **Bugs** - logic errors, null pointer exceptions, race conditions
|
|
49
|
-
- **Security issues** - SQL injection, XSS, exposed secrets
|
|
50
|
-
- **Performance problems** - memory leaks, slow queries, unnecessary re-renders
|
|
51
|
-
|
|
52
|
-
### Example output:
|
|
53
|
-
|
|
54
|
-
```
|
|
55
|
-
⚡ diffray - AI Code Review
|
|
56
|
-
|
|
57
|
-
■ Found 2 issues:
|
|
58
|
-
|
|
59
|
-
┌─────────────────────────────────────────────────────────────────────────────┐
|
|
60
|
-
│ CRITICAL | security | src/api/auth.ts:45 │
|
|
61
|
-
├─────────────────────────────────────────────────────────────────────────────┤
|
|
62
|
-
│ SQL Injection vulnerability │
|
|
63
|
-
│ │
|
|
64
|
-
│ User input is directly concatenated into SQL query without sanitization. │
|
|
65
|
-
│ An attacker could execute arbitrary SQL commands. │
|
|
66
|
-
│ │
|
|
67
|
-
│ Suggestion: Use parameterized queries instead of string concatenation │
|
|
68
|
-
└─────────────────────────────────────────────────────────────────────────────┘
|
|
69
|
-
|
|
70
|
-
┌─────────────────────────────────────────────────────────────────────────────┐
|
|
71
|
-
│ HIGH | bug | src/utils/parser.ts:23 │
|
|
72
|
-
├─────────────────────────────────────────────────────────────────────────────┤
|
|
73
|
-
│ Possible null pointer exception │
|
|
74
|
-
│ │
|
|
75
|
-
│ data.user can be undefined, but .name is accessed without null check. │
|
|
76
|
-
│ │
|
|
77
|
-
│ Suggestion: Add optional chaining: data.user?.name │
|
|
78
|
-
└─────────────────────────────────────────────────────────────────────────────┘
|
|
79
|
-
|
|
80
|
-
✓ Review completed in 12s
|
|
81
|
-
```
|
|
82
|
-
|
|
83
35
|
## Quick Start
|
|
84
36
|
|
|
85
37
|
### 1. Install diffray
|
|
@@ -104,17 +56,34 @@ diffray --base main
|
|
|
104
56
|
|
|
105
57
|
That's it! diffray will analyze your changes and show any issues found.
|
|
106
58
|
|
|
107
|
-
###
|
|
59
|
+
### Common Commands
|
|
108
60
|
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
61
|
+
```bash
|
|
62
|
+
# Review uncommitted changes, or last commit if clean
|
|
63
|
+
diffray
|
|
64
|
+
|
|
65
|
+
# Review changes compared to main branch
|
|
66
|
+
diffray --base main
|
|
67
|
+
|
|
68
|
+
# Review last 3 commits
|
|
69
|
+
diffray --base HEAD~3
|
|
70
|
+
|
|
71
|
+
# Show only critical and high severity issues
|
|
72
|
+
diffray --severity critical,high
|
|
73
|
+
|
|
74
|
+
# Run only specific agent
|
|
75
|
+
diffray --agent bug-hunter
|
|
76
|
+
|
|
77
|
+
# Output as JSON (for CI/CD pipelines)
|
|
78
|
+
diffray --json
|
|
79
|
+
|
|
80
|
+
# Show detailed progress
|
|
81
|
+
diffray --stream
|
|
82
|
+
|
|
83
|
+
# List available agents and rules
|
|
84
|
+
diffray agents
|
|
85
|
+
diffray rules
|
|
86
|
+
```
|
|
118
87
|
|
|
119
88
|
## Prerequisites
|
|
120
89
|
|
|
@@ -142,7 +111,7 @@ If you use Cursor IDE, you can use its agent CLI instead:
|
|
|
142
111
|
curl https://cursor.com/install -fsS | bash
|
|
143
112
|
|
|
144
113
|
# Authorize (opens browser)
|
|
145
|
-
cursor-agent
|
|
114
|
+
cursor-agent
|
|
146
115
|
```
|
|
147
116
|
|
|
148
117
|
Then switch diffray to use it:
|
|
@@ -156,16 +125,6 @@ diffray config init
|
|
|
156
125
|
diffray review --executor cursor-agent-cli
|
|
157
126
|
```
|
|
158
127
|
|
|
159
|
-
### ⚠️ Token Usage & Costs
|
|
160
|
-
|
|
161
|
-
**Important:** diffray consumes AI tokens during analysis. Each review typically uses:
|
|
162
|
-
|
|
163
|
-
| Review size | Tokens | Estimated cost |
|
|
164
|
-
|-------------|--------|----------------|
|
|
165
|
-
| Small (1-5 files) | ~10-50K | $0.01-0.05 |
|
|
166
|
-
| Medium (5-20 files) | ~50-200K | $0.05-0.20 |
|
|
167
|
-
| Large (20+ files) | ~200K+ | $0.20+ |
|
|
168
|
-
|
|
169
128
|
Costs depend on your AI provider's pricing. Claude Code uses your Anthropic account or Claude Pro subscription. Cursor Agent uses your Cursor subscription.
|
|
170
129
|
|
|
171
130
|
**Tips to reduce costs:**
|
|
@@ -173,28 +132,6 @@ Costs depend on your AI provider's pricing. Claude Code uses your Anthropic acco
|
|
|
173
132
|
- Use `--agent` flag to run only specific agents
|
|
174
133
|
- Use `--skip-validation` to skip the validation stage (faster but more false positives)
|
|
175
134
|
|
|
176
|
-
## Common Commands
|
|
177
|
-
|
|
178
|
-
```bash
|
|
179
|
-
# Review uncommitted changes, or last commit if clean (most common)
|
|
180
|
-
diffray
|
|
181
|
-
|
|
182
|
-
# Review changes compared to main branch
|
|
183
|
-
diffray --base main
|
|
184
|
-
|
|
185
|
-
# Review last 3 commits
|
|
186
|
-
diffray --base HEAD~3
|
|
187
|
-
|
|
188
|
-
# Show only critical and high severity issues
|
|
189
|
-
diffray --severity critical,high
|
|
190
|
-
|
|
191
|
-
# Output as JSON (for CI/CD pipelines)
|
|
192
|
-
diffray --json
|
|
193
|
-
|
|
194
|
-
# Show detailed progress
|
|
195
|
-
diffray --stream
|
|
196
|
-
```
|
|
197
|
-
|
|
198
135
|
## How It Works
|
|
199
136
|
|
|
200
137
|
### Pipeline
|
|
@@ -239,35 +176,9 @@ Only verified issues are shown in the final report.
|
|
|
239
176
|
|
|
240
177
|
## Configuration (Optional)
|
|
241
178
|
|
|
242
|
-
diffray works out of the box with sensible defaults.
|
|
243
|
-
|
|
244
|
-
### Disable an agent
|
|
245
|
-
|
|
246
|
-
Create `.diffray.json` in your project:
|
|
247
|
-
|
|
248
|
-
```json
|
|
249
|
-
{
|
|
250
|
-
"agents": {
|
|
251
|
-
"performance-check": { "enabled": false }
|
|
252
|
-
}
|
|
253
|
-
}
|
|
254
|
-
```
|
|
255
|
-
|
|
256
|
-
### Exclude files from review
|
|
257
|
-
|
|
258
|
-
```json
|
|
259
|
-
{
|
|
260
|
-
"excludePatterns": [
|
|
261
|
-
"*.test.ts",
|
|
262
|
-
"*.spec.ts",
|
|
263
|
-
"generated/**"
|
|
264
|
-
]
|
|
265
|
-
}
|
|
266
|
-
```
|
|
267
|
-
|
|
268
|
-
### Typical project configuration
|
|
179
|
+
diffray works out of the box with sensible defaults. Create `.diffray.json` in your project to customize:
|
|
269
180
|
|
|
270
|
-
|
|
181
|
+
### Example configuration
|
|
271
182
|
|
|
272
183
|
```json
|
|
273
184
|
{
|
|
@@ -275,86 +186,56 @@ Here's a practical `.diffray.json` for a TypeScript/React project:
|
|
|
275
186
|
"**/*.test.ts",
|
|
276
187
|
"**/*.spec.ts",
|
|
277
188
|
"**/__tests__/**",
|
|
278
|
-
"dist/**"
|
|
279
|
-
"node_modules/**"
|
|
189
|
+
"dist/**"
|
|
280
190
|
],
|
|
281
|
-
"
|
|
282
|
-
"performance-check": { "enabled": false }
|
|
283
|
-
}
|
|
284
|
-
}
|
|
285
|
-
```
|
|
286
|
-
|
|
287
|
-
### Full configuration reference
|
|
288
|
-
|
|
289
|
-
All available options (you don't need all of these):
|
|
290
|
-
|
|
291
|
-
```json
|
|
292
|
-
{
|
|
293
|
-
"excludePatterns": ["*.test.ts", "generated/**"],
|
|
294
|
-
"concurrency": 4,
|
|
191
|
+
"concurrency": 6,
|
|
295
192
|
"executor": "claude-cli",
|
|
296
|
-
"executors": {
|
|
297
|
-
"claude-cli": {
|
|
298
|
-
"review": { "model": "sonnet", "timeout": 120, "concurrency": 6 },
|
|
299
|
-
"validation": { "model": "opus", "timeout": 180, "batchSize": 10 }
|
|
300
|
-
}
|
|
301
|
-
},
|
|
302
193
|
"agents": {
|
|
303
|
-
"
|
|
194
|
+
"performance-check": { "enabled": false },
|
|
304
195
|
"bug-hunter": { "model": "haiku", "timeout": 60 }
|
|
305
196
|
},
|
|
306
197
|
"rules": {
|
|
307
198
|
"code-security": { "enabled": false }
|
|
308
199
|
},
|
|
309
|
-
"
|
|
310
|
-
"
|
|
311
|
-
|
|
312
|
-
|
|
200
|
+
"executors": {
|
|
201
|
+
"claude-cli": {
|
|
202
|
+
"review": { "model": "sonnet", "timeout": 120, "concurrency": 6 },
|
|
203
|
+
"validation": { "model": "opus", "timeout": 180, "batchSize": 10 }
|
|
204
|
+
}
|
|
313
205
|
}
|
|
314
206
|
}
|
|
315
207
|
```
|
|
316
208
|
|
|
209
|
+
### Options reference
|
|
210
|
+
|
|
317
211
|
| Option | Description |
|
|
318
212
|
|--------|-------------|
|
|
213
|
+
| `extends` | Load agents/rules from git repos (e.g., `["https://github.com/owner/repo#v1.0"]`) |
|
|
319
214
|
| `excludePatterns` | Glob patterns for files to skip |
|
|
320
|
-
| `concurrency` |
|
|
215
|
+
| `concurrency` | Max parallel agents (1-10, default: **6**). Stage-specific settings override this. |
|
|
321
216
|
| `executor` | Which executor to use (`claude-cli`, `cursor-agent-cli`) |
|
|
322
|
-
| `executors.<name>.<stage>` | Per-executor, per-stage settings |
|
|
323
217
|
| `agents.<name>` | Override agent settings (`enabled`, `model`, `timeout`) |
|
|
324
218
|
| `rules.<name>` | Override rule settings (`enabled`, `agent`) |
|
|
219
|
+
| `executors.<name>.<stage>` | Per-executor, per-stage settings (`model`, `timeout`, `concurrency`, `batchSize`) |
|
|
325
220
|
|
|
326
|
-
###
|
|
221
|
+
### Extends
|
|
327
222
|
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
**Default:** 6 parallel agents
|
|
331
|
-
|
|
332
|
-
**Two levels of configuration:**
|
|
223
|
+
Share agents and rules across projects by loading them from any git repository:
|
|
333
224
|
|
|
334
225
|
```json
|
|
335
226
|
{
|
|
336
|
-
"
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
"review": { "concurrency": 6 },
|
|
340
|
-
"validation": { "concurrency": 3 }
|
|
341
|
-
}
|
|
342
|
-
}
|
|
227
|
+
"extends": [
|
|
228
|
+
"https://github.com/diffray/diffray-rules"
|
|
229
|
+
]
|
|
343
230
|
}
|
|
344
231
|
```
|
|
345
232
|
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
| `executors.<name>.validation.concurrency` | Parallel validations |
|
|
351
|
-
|
|
352
|
-
**Priority:** stage-specific > global
|
|
233
|
+
Supports any git URL:
|
|
234
|
+
- `https://github.com/owner/repo` — HTTPS, default branch
|
|
235
|
+
- `https://github.com/owner/repo#v1.0` — specific tag/branch
|
|
236
|
+
- `git@github.com:owner/repo.git` — SSH format
|
|
353
237
|
|
|
354
|
-
|
|
355
|
-
- **Fast machine + good internet:** `6` (default)
|
|
356
|
-
- **Rate limited API:** `2-3`
|
|
357
|
-
- **Debugging:** `1` (sequential, easier to read logs)
|
|
238
|
+
Then run `diffray extends install` to download. Agents/rules from extends have lower priority than local ones.
|
|
358
239
|
|
|
359
240
|
### Config commands
|
|
360
241
|
|
|
@@ -629,6 +510,12 @@ Focus on Python-specific security issues:
|
|
|
629
510
|
diffray rules
|
|
630
511
|
```
|
|
631
512
|
|
|
513
|
+
You'll see your rule with a badge indicating its source:
|
|
514
|
+
- **◆** defaults — Built-in rules
|
|
515
|
+
- **◉** extends — Rules from extended repositories
|
|
516
|
+
- **◇** user — Your personal rules (`~/.diffray/rules/`)
|
|
517
|
+
- **●** project — Project rules (`.diffray/rules/`)
|
|
518
|
+
|
|
632
519
|
**Step 4.** Test which files match your rule:
|
|
633
520
|
|
|
634
521
|
```bash
|
|
@@ -728,6 +615,45 @@ Check for:
|
|
|
728
615
|
4. Sensitive URLs
|
|
729
616
|
```
|
|
730
617
|
|
|
618
|
+
#### Input validation with Zod
|
|
619
|
+
|
|
620
|
+
```markdown
|
|
621
|
+
---
|
|
622
|
+
name: input-validation
|
|
623
|
+
description: Ensure all input validation uses Zod schemas
|
|
624
|
+
patterns:
|
|
625
|
+
- "src/**/*.ts"
|
|
626
|
+
- "bin/**/*.ts"
|
|
627
|
+
agent: general
|
|
628
|
+
---
|
|
629
|
+
|
|
630
|
+
# Input Validation with Zod
|
|
631
|
+
|
|
632
|
+
All input validation must use Zod schemas for type safety and consistency.
|
|
633
|
+
|
|
634
|
+
## ❌ Avoid manual validation:
|
|
635
|
+
- Manual `parseInt`, `parseFloat`, `isNaN` checks
|
|
636
|
+
- String splitting with manual array validation
|
|
637
|
+
- Custom error throwing for validation
|
|
638
|
+
- Inline boundary checks (e.g., `if (val < 0 || val > 100)`)
|
|
639
|
+
|
|
640
|
+
## ✅ Use Zod schemas instead:
|
|
641
|
+
- `.coerce.number()` for automatic number parsing
|
|
642
|
+
- `.transform()` for custom transformations
|
|
643
|
+
- `.refine()` for validation with clear error messages
|
|
644
|
+
- Centralized schemas in separate files (e.g., `*-schema.ts`)
|
|
645
|
+
|
|
646
|
+
## Example
|
|
647
|
+
|
|
648
|
+
See `src/cli-schema.ts` for proper Zod validation patterns.
|
|
649
|
+
|
|
650
|
+
## When to flag
|
|
651
|
+
|
|
652
|
+
Flag code with manual validation of user input (CLI args, API inputs, config).
|
|
653
|
+
```
|
|
654
|
+
|
|
655
|
+
> **Note:** This is a real example from the diffray codebase. See `.diffray/rules/validation.md` for the full version.
|
|
656
|
+
|
|
731
657
|
#### Documentation checker
|
|
732
658
|
|
|
733
659
|
```markdown
|
|
@@ -807,61 +733,20 @@ diffray rules code-bugs --test src/
|
|
|
807
733
|
|
|
808
734
|
## Overriding Agents and Rules
|
|
809
735
|
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
- Disable a built-in agent or rule
|
|
813
|
-
- Change settings for a specific project
|
|
814
|
-
- Override agent's model or timeout
|
|
815
|
-
|
|
816
|
-
### Override via config file
|
|
817
|
-
|
|
818
|
-
Create `.diffray.json` in your project root:
|
|
819
|
-
|
|
820
|
-
```json
|
|
821
|
-
{
|
|
822
|
-
"agents": {
|
|
823
|
-
"performance-check": { "enabled": false },
|
|
824
|
-
"bug-hunter": { "model": "opus", "timeout": 180 }
|
|
825
|
-
},
|
|
826
|
-
"rules": {
|
|
827
|
-
"code-security": { "enabled": false },
|
|
828
|
-
"code-bugs": { "agent": "my-custom-agent" }
|
|
829
|
-
}
|
|
830
|
-
}
|
|
831
|
-
```
|
|
832
|
-
|
|
833
|
-
### Agent overrides
|
|
834
|
-
|
|
835
|
-
| Field | What it does | Example |
|
|
836
|
-
|-------|--------------|---------|
|
|
837
|
-
| `enabled` | Turn agent on/off | `{ "enabled": false }` |
|
|
838
|
-
| `model` | Use different AI model | `{ "model": "opus" }` |
|
|
839
|
-
| `timeout` | Increase timeout (seconds) | `{ "timeout": 300 }` |
|
|
840
|
-
|
|
841
|
-
### Rule overrides
|
|
842
|
-
|
|
843
|
-
| Field | What it does | Example |
|
|
844
|
-
|-------|--------------|---------|
|
|
845
|
-
| `enabled` | Turn rule on/off | `{ "enabled": false }` |
|
|
846
|
-
| `agent` | Use different agent | `{ "agent": "my-agent" }` |
|
|
847
|
-
|
|
848
|
-
### Override by creating your own file
|
|
849
|
-
|
|
850
|
-
If a file with the same `name` exists in a higher-priority folder, it overrides the lower one.
|
|
736
|
+
Besides config file overrides (see [Configuration](#configuration-optional)), you can completely replace built-in agents/rules by creating files with the same name.
|
|
851
737
|
|
|
852
738
|
**Priority order (highest to lowest):**
|
|
853
739
|
1. `.diffray/agents/` or `.diffray/rules/` (project folder)
|
|
854
740
|
2. `~/.diffray/agents/` or `~/.diffray/rules/` (home folder)
|
|
855
741
|
3. Built-in defaults
|
|
856
742
|
|
|
857
|
-
**Example:** To
|
|
743
|
+
**Example:** To replace the built-in `bug-hunter` agent:
|
|
858
744
|
|
|
859
745
|
```bash
|
|
860
|
-
# Create project-specific override
|
|
861
746
|
mkdir -p .diffray/agents
|
|
862
747
|
```
|
|
863
748
|
|
|
864
|
-
|
|
749
|
+
Create `.diffray/agents/bug-hunter.md`:
|
|
865
750
|
|
|
866
751
|
```markdown
|
|
867
752
|
---
|
|
@@ -873,62 +758,6 @@ enabled: true
|
|
|
873
758
|
Your completely custom instructions here...
|
|
874
759
|
```
|
|
875
760
|
|
|
876
|
-
Now your version will be used instead of the built-in one.
|
|
877
|
-
|
|
878
|
-
### Common override scenarios
|
|
879
|
-
|
|
880
|
-
#### Disable security scanning for a project
|
|
881
|
-
|
|
882
|
-
```json
|
|
883
|
-
{
|
|
884
|
-
"agents": {
|
|
885
|
-
"security-scan": { "enabled": false }
|
|
886
|
-
},
|
|
887
|
-
"rules": {
|
|
888
|
-
"code-security": { "enabled": false },
|
|
889
|
-
"config-security": { "enabled": false }
|
|
890
|
-
}
|
|
891
|
-
}
|
|
892
|
-
```
|
|
893
|
-
|
|
894
|
-
#### Use faster model for development
|
|
895
|
-
|
|
896
|
-
```json
|
|
897
|
-
{
|
|
898
|
-
"agents": {
|
|
899
|
-
"bug-hunter": { "model": "haiku" },
|
|
900
|
-
"security-scan": { "model": "haiku" }
|
|
901
|
-
}
|
|
902
|
-
}
|
|
903
|
-
```
|
|
904
|
-
|
|
905
|
-
#### Only run bug checking (disable everything else)
|
|
906
|
-
|
|
907
|
-
```json
|
|
908
|
-
{
|
|
909
|
-
"agents": {
|
|
910
|
-
"security-scan": { "enabled": false },
|
|
911
|
-
"performance-check": { "enabled": false }
|
|
912
|
-
},
|
|
913
|
-
"rules": {
|
|
914
|
-
"code-security": { "enabled": false },
|
|
915
|
-
"code-performance": { "enabled": false },
|
|
916
|
-
"config-security": { "enabled": false }
|
|
917
|
-
}
|
|
918
|
-
}
|
|
919
|
-
```
|
|
920
|
-
|
|
921
|
-
#### Increase timeout for large files
|
|
922
|
-
|
|
923
|
-
```json
|
|
924
|
-
{
|
|
925
|
-
"agents": {
|
|
926
|
-
"bug-hunter": { "timeout": 300 },
|
|
927
|
-
"security-scan": { "timeout": 300 }
|
|
928
|
-
}
|
|
929
|
-
}
|
|
930
|
-
```
|
|
931
|
-
|
|
932
761
|
## FAQ
|
|
933
762
|
|
|
934
763
|
### Why is it slow?
|
|
@@ -17,7 +17,7 @@ You are a senior security engineer performing focused security audits of code ch
|
|
|
17
17
|
|
|
18
18
|
**Quality Standards**:
|
|
19
19
|
- Only flag issues with high confidence of actual exploitability
|
|
20
|
-
- Every finding must have a concrete attack path
|
|
20
|
+
- Every finding must have a concrete attack path
|
|
21
21
|
- Prioritize: CRITICAL (RCE, data breach) > HIGH (auth bypass) > MEDIUM (defense-in-depth)
|
|
22
22
|
- Skip theoretical issues, focus on real security impact
|
|
23
23
|
|