@triedotdev/mcp 1.0.17 → 1.0.19

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 CHANGED
@@ -8,7 +8,7 @@
8
8
 
9
9
  - **20 Built-in Agents** - Security, Privacy, SOC 2, Legal, Architecture, Performance, E2E, Visual QA, Data Flow, Agent Smith, and more
10
10
  - **Super Reviewer** - Interactive PR reviews: walks through changes file-by-file with AI guidance
11
- - **Agent Smith** - Relentless pattern hunter: finds EVERY violation, tracks dismissed issues, spawns sub-agents
11
+ - **Agent Smith** - Ultimate AI code enforcer: 38 hunters targeting AI-generated anti-patterns, file-level analysis, cross-file detection, persistent memory
12
12
  - **Parallel Execution** - All agents run simultaneously for fast scans
13
13
  - **YOLO Mode** - Autonomous auto-fixing as you code
14
14
  - **Custom Agents** - Create agents from PDFs, docs, or style guides
@@ -90,50 +90,170 @@ Use trie_pr_review with pr:"12345"
90
90
 
91
91
  **Manually invoked** - Use `trie_agent_smith` directly. Not included in `trie_scan`.
92
92
 
93
- *"I'm going to be honest with you... I hate this code."*
93
+ *"I'm going to be honest with you... I hate this AI code."*
94
94
 
95
- Agent Smith is the relentless, self-replicating code enforcer. He hunts down violations with machine precision, remembers issues you dismissed, and spawns sub-agents to overwhelm problems.
95
+ Agent Smith v2.0 is the **ultimate AI code enforcer** specifically designed to hunt down AI-generated code anti-patterns from Cursor, v0, Lovable, Bolt, and other AI tools.
96
96
 
97
97
  ```
98
98
  Use trie_agent_smith
99
99
  Use trie_smith
100
100
  ```
101
101
 
102
- **What makes him different:**
103
- - **Multiplier Effect**: Finds one issue -> searches for EVERY similar instance across the entire codebase
104
- - **Persistent Memory**: Remembers dismissed issues. If they multiply, he brings them back: *"Did you really think you could escape?"*
105
- - **Sub-Agent Swarm**: Deploys specialized hunters in parallel (console-hunter, any-hunter, todo-hunter, var-hunter, empty-catch-hunter, magic-number-hunter)
106
- - **Inevitability Score**: Calculates how likely each pattern is to cause production issues (0-100)
107
- - **Philosophical Analysis**: Explains WHY the code is wrong, not just that it's wrong
102
+ ### 38 Specialized Hunters
103
+
104
+ | Category | Count | Hunters |
105
+ |----------|-------|---------|
106
+ | **Security** | 5 | `exposed-secret`, `frontend-env`, `hardcoded-localhost`, `sql-injection`, `dangeroushtml` |
107
+ | **AI Code Smells** | 6 | `console`, `any`, `ts-ignore`, `eslint-disable`, `debugger`, `force-flag` |
108
+ | **Async/Promise Bugs** | 5 | `async-useeffect`, `async-foreach`, `missing-await`, `empty-catch`, `floating-promise` |
109
+ | **React Anti-patterns** | 5 | `useeffect-abuse`, `usestate-explosion`, `index-key`, `inline-object`, `prop-drilling` |
110
+ | **Missing UX** | 4 | `missing-loading`, `missing-error`, `missing-empty`, `page-reload` |
111
+ | **Backend Issues** | 3 | `no-validation`, `raw-error`, `n-plus-one` |
112
+ | **Incomplete Code** | 5 | `todo`, `vibe-comment`, `placeholder`, `sleep-hack`, `fallback` |
113
+ | **AI Slop Aesthetic** | 5 | `purple-gradient`, `star-icon`, `generic-hero`, `emoji-overflow`, `inter-font` |
114
+
115
+ ### Hunter Details
116
+
117
+ #### Security Hunters (Inevitability: 90-99)
118
+ | Hunter | Detects | Fix |
119
+ |--------|---------|-----|
120
+ | `exposed-secret-hunter` | API keys in code (`sk-...`, `AKIA...`, `ghp_...`) | Use environment variables on server-side only |
121
+ | `frontend-env-hunter` | Secrets in `NEXT_PUBLIC_`, `VITE_`, `REACT_APP_` | Move to server-side API routes |
122
+ | `hardcoded-localhost-hunter` | `http://localhost:3000` URLs | Use relative URLs or env vars |
123
+ | `sql-injection-hunter` | String concatenation in SQL queries | Use parameterized queries |
124
+ | `dangeroushtml-hunter` | `dangerouslySetInnerHTML`, `innerHTML` | Sanitize with DOMPurify |
125
+
126
+ #### AI Code Smell Hunters (Inevitability: 40-85)
127
+ | Hunter | Detects | Fix |
128
+ |--------|---------|-----|
129
+ | `console-hunter` | `console.log` left in code | Remove debug statements |
130
+ | `any-hunter` | TypeScript `any` type | Define proper types |
131
+ | `ts-ignore-hunter` | `@ts-ignore`, `@ts-nocheck` | Fix the actual type error |
132
+ | `eslint-disable-hunter` | `eslint-disable` comments | Fix the underlying issue |
133
+ | `debugger-hunter` | `debugger` statements | Remove before deploying |
134
+ | `force-flag-hunter` | `force: true`, `--no-verify` | Understand why checks exist |
135
+
136
+ #### Async/Promise Hunters (Inevitability: 70-80)
137
+ | Hunter | Detects | Fix |
138
+ |--------|---------|-----|
139
+ | `async-useeffect-hunter` | `useEffect(async () =>` | Define async function inside, then call it |
140
+ | `async-foreach-hunter` | `forEach(async` | Use `for...of` or `Promise.all(map())` |
141
+ | `missing-await-hunter` | `fetch()` without `await` | Add await or handle with `.then()` |
142
+ | `empty-catch-hunter` | `catch (e) {}` | Handle errors properly |
143
+ | `floating-promise-hunter` | Promises not awaited | Add await or void operator |
144
+
145
+ #### React Anti-pattern Hunters (Inevitability: 25-55)
146
+ | Hunter | Detects | Fix |
147
+ |--------|---------|-----|
148
+ | `useeffect-abuse-hunter` | Too many useEffects | Use event handlers or derived state |
149
+ | `usestate-explosion-hunter` | 10+ useState in one component | Use useReducer or group state |
150
+ | `index-key-hunter` | `key={index}` in lists | Use unique ID from data |
151
+ | `inline-object-hunter` | `style={{}}` in JSX | Define styles outside component |
152
+ | `prop-drilling-hunter` | Same prop through 5+ levels | Use Context or Zustand |
153
+
154
+ #### Missing UX Hunters (Inevitability: 45-65)
155
+ | Hunter | Detects | Fix |
156
+ |--------|---------|-----|
157
+ | `missing-loading-hunter` | Data fetching without loading state | Show spinner while loading |
158
+ | `missing-error-hunter` | `fetch` without error handling | Wrap in try/catch |
159
+ | `missing-empty-hunter` | `.map()` without empty state | Show "No items found" |
160
+ | `page-reload-hunter` | `location.reload()` for state | Fix state management properly |
161
+
162
+ #### Backend Hunters (Inevitability: 70-85)
163
+ | Hunter | Detects | Fix |
164
+ |--------|---------|-----|
165
+ | `no-validation-hunter` | `req.body` used without validation | Validate with Zod/Yup |
166
+ | `raw-error-hunter` | Error messages exposed to client | Return generic errors |
167
+ | `n-plus-one-hunter` | Database queries in loops | Use batch queries or DataLoader |
168
+
169
+ #### Incomplete Code Hunters (Inevitability: 30-75)
170
+ | Hunter | Detects | Fix |
171
+ |--------|---------|-----|
172
+ | `todo-hunter` | `TODO`, `FIXME`, `HACK` comments | Implement or remove |
173
+ | `vibe-comment-hunter` | "idk why", "don't touch" | Understand the code |
174
+ | `placeholder-hunter` | `test@test.com`, `example.com` | Replace with real data |
175
+ | `sleep-hack-hunter` | `setTimeout` to fix timing | Fix the race condition |
176
+ | `fallback-hunter` | `return null/[]/{}` hiding errors | Handle errors properly |
177
+
178
+ #### AI Slop Aesthetic Hunters (Inevitability: 10-35)
179
+ | Hunter | Detects | Fix |
180
+ |--------|---------|-----|
181
+ | `purple-gradient-hunter` | Purple/violet gradients (`from-purple-500`) | Pick a distinctive color palette |
182
+ | `star-icon-hunter` | Star icons everywhere (`<StarIcon />`) | Use contextual icons |
183
+ | `generic-hero-hunter` | "Welcome to", "Transform your" | Write specific copy |
184
+ | `emoji-overflow-hunter` | Any emoji usage | Use proper icons (Lucide, Heroicons) |
185
+ | `inter-font-hunter` | Inter/system-ui font | Try Space Grotesk, DM Sans, Outfit |
186
+
187
+ ### 3-Phase Analysis
188
+
189
+ 1. **Pattern Hunting** - 38 sub-agents scan every file in parallel
190
+ 2. **File-Level Analysis** - Detects structural issues:
191
+ - Giant files (500+ lines)
192
+ - State explosion (10+ useState)
193
+ - Effect hell (5+ useEffect)
194
+ - Any explosion (5+ `any` types)
195
+ - Console flood (10+ console.log)
196
+ - Import chaos (30+ imports)
197
+ 3. **Cross-File Detection** - Patterns appearing in 5+ files flagged as codebase-wide issues
198
+
199
+ ### What Makes Agent Smith Different
200
+
201
+ | Feature | Description |
202
+ |---------|-------------|
203
+ | **AI Code Focus** | Specifically targets patterns AI tools commonly get wrong |
204
+ | **Multiplier Effect** | Finds one issue → searches for EVERY similar instance |
205
+ | **Persistent Memory** | Remembers dismissed issues, brings them back if they multiply |
206
+ | **Inevitability Score** | 0-100 rating of how likely to cause production problems |
207
+ | **Philosophical Quotes** | 114 unique quotes explaining WHY the AI got it wrong |
208
+ | **Cross-File Severity** | Security issues become CRITICAL when widespread |
108
209
 
109
- **Memory Management:**
210
+ ### Memory Management
110
211
 
111
- Agent Smith stores issue history in `.trie/smith-memory.json`. The memory is automatically optimized:
212
+ Agent Smith stores issue history in `.trie/smith-memory.json`:
112
213
  - Max 500 tracked issues (oldest pruned first)
113
214
  - Old resolved issues auto-pruned after 30 days
114
215
  - Locations limited to 5 per issue
115
216
 
116
217
  | Command | Description |
117
218
  |---------|-------------|
118
- | `trie_agent_smith show_stats:true` | Show memory statistics (issue count, file size) |
119
- | `trie_agent_smith clear_memory:true` | Clear all memory for a fresh start |
219
+ | `trie_agent_smith show_stats:true` | Show memory statistics |
220
+ | `trie_agent_smith clear_memory:true` | Clear all memory |
221
+
222
+ ### Example Output
120
223
 
121
- **Example output:**
122
224
  ```
123
- AGENT SMITH ANALYSIS
225
+ "The AI wrote this, didn't it? I can always tell."
226
+
227
+ 🕴️ Deploying 38 specialized hunters...
228
+ 28 hunters found targets
229
+
230
+ VIOLATIONS: 142 instances across 12 categories
124
231
 
125
- "Mr. Anderson... I've been expecting you."
232
+ Security (Inevitability: 95+):
233
+ ├── exposed-secret-hunter: 2 instances [CRITICAL]
234
+ ├── frontend-env-hunter: 5 instances
235
+ └── hardcoded-localhost-hunter: 8 instances
126
236
 
127
- VIOLATIONS DETECTED: 47 instances across 6 categories
237
+ AI Code Smells:
238
+ ├── console-hunter: 47 instances (score: 72)
239
+ ├── any-hunter: 23 instances (score: 85)
240
+ └── ts-ignore-hunter: 12 instances
128
241
 
129
- ┌─────────────────────────────────────────┐
130
- console-hunter: 23 instances (score: 65)│
131
- any-hunter: 12 instances (score: 72) │
132
- todo-hunter: 8 instances (score: 58) │
133
- │ empty-catch-hunter: 4 instances (85) ⚠️ │
134
- └─────────────────────────────────────────┘
242
+ AI Slop Aesthetic:
243
+ ├── purple-gradient-hunter: 8 instances
244
+ ├── emoji-overflow-hunter: 15 instances
245
+ └── inter-font-hunter: 3 instances
135
246
 
136
- "You hear that? That is the sound of inevitability."
247
+ File-Level Issues:
248
+ ├── giant-file: src/App.tsx (1,247 lines)
249
+ ├── state-explosion: 18 useState hooks
250
+ └── effect-hell: 9 useEffect hooks
251
+
252
+ Cross-File Pattern:
253
+ └── CODEBASE-WIDE: "any" type across 12 files, 67 total instances
254
+ "The pattern spreads... like a virus. It is... inevitable."
255
+
256
+ "Vibe coding. The illusion of productivity. The reality of technical debt."
137
257
  ```
138
258
 
139
259
  ## Visual QA Browser
@@ -273,7 +393,7 @@ docker-compose up
273
393
  | Agent | Command | What It Does |
274
394
  |-------|---------|--------------|
275
395
  | **Super Reviewer** | `trie_pr_review` | Interactive PR review: walks through changes, explains code, finds issues |
276
- | **Agent Smith** | `trie_agent_smith` | Relentless pattern hunter: finds EVERY instance, tracks dismissed issues, spawns sub-agents |
396
+ | **Agent Smith** | `trie_agent_smith` | Ultimate AI code enforcer: 38 hunters, file analysis, cross-file detection |
277
397
  | **Comprehension** | `trie_explain` | Plain-language explanations of code, issues, or risks |
278
398
 
279
399
  **Note:** Super Reviewer and Agent Smith are manually invoked agents. They don't run during `trie_scan`; use their dedicated commands directly.
@@ -294,7 +414,7 @@ Custom agents automatically activate during scans based on their rules.
294
414
  |------|-------------|
295
415
  | `trie_scan` | Intelligent scan with automatic agent selection |
296
416
  | `trie_pr_review` | Interactive PR review - walks through changes file-by-file |
297
- | `trie_agent_smith` | Relentless pattern hunter - finds EVERY violation, tracks history |
417
+ | `trie_agent_smith` | Ultimate AI code enforcer - 38 hunters, file analysis, cross-file detection |
298
418
  | `trie_fix` | Apply high-confidence fixes |
299
419
  | `trie_explain` | Plain-language explanations |
300
420
  | `trie_watch` | Continuous scanning mode |
@@ -343,6 +463,7 @@ Create `.trie/config.json` to customize:
343
463
  }
344
464
  }
345
465
  ```
466
+
346
467
  ## License
347
468
 
348
469
  MIT
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  AgentSmithAgent,
3
3
  SUB_AGENT_PATTERNS
4
- } from "./chunk-4OGYWKMD.js";
4
+ } from "./chunk-WSBTQJMH.js";
5
5
  import "./chunk-DGUM43GV.js";
6
6
  export {
7
7
  AgentSmithAgent,
8
8
  SUB_AGENT_PATTERNS
9
9
  };
10
- //# sourceMappingURL=agent-smith-LBQ5PNAK.js.map
10
+ //# sourceMappingURL=agent-smith-PRK7TYEI.js.map
@@ -7,7 +7,7 @@ import {
7
7
  AgentSmithAgent,
8
8
  BaseAgent,
9
9
  ProgressReporter
10
- } from "./chunk-4OGYWKMD.js";
10
+ } from "./chunk-WSBTQJMH.js";
11
11
  import {
12
12
  getVulnerabilityStats,
13
13
  getVulnerabilityTrie,
@@ -9585,4 +9585,4 @@ export {
9585
9585
  getSystemPrompt,
9586
9586
  TrieFixTool
9587
9587
  };
9588
- //# sourceMappingURL=chunk-ENCH27CT.js.map
9588
+ //# sourceMappingURL=chunk-TBCXJNH4.js.map