@triedotdev/mcp 1.0.33 → 1.0.34
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 +11 -0
- package/dist/{chunk-IYWVUUJU.js → chunk-3NXWEJUV.js} +99 -3
- package/dist/{chunk-IYWVUUJU.js.map → chunk-3NXWEJUV.js.map} +1 -1
- package/dist/{chunk-RAN27XKJ.js → chunk-FPISHSPT.js} +2 -2
- package/dist/cli/yolo-daemon.js +2 -2
- package/dist/index.js +145 -95
- package/dist/index.js.map +1 -1
- package/dist/workers/agent-worker.js +1 -1
- package/package.json +1 -1
- /package/dist/{chunk-RAN27XKJ.js.map → chunk-FPISHSPT.js.map} +0 -0
package/README.md
CHANGED
|
@@ -4,6 +4,11 @@
|
|
|
4
4
|
|
|
5
5
|
20 specialized agents scan your code for security, privacy, compliance, and bugs—all running in parallel with intelligent caching and real-time streaming.
|
|
6
6
|
|
|
7
|
+
## What's New (latest updates)
|
|
8
|
+
- Slash-friendly commands: `/trie` and `/trie_<tool>` work the same as `trie`.
|
|
9
|
+
- Command palette: call `trie` with `action` to dispatch (scan, any agent, agent_smith, pr_review, watch, test, fix, explain, list_agents).
|
|
10
|
+
- Clear MCP naming: all tools are discoverable with `trie_*` prefixes while short aliases still work.
|
|
11
|
+
|
|
7
12
|
---
|
|
8
13
|
|
|
9
14
|
## Table of Contents
|
|
@@ -112,6 +117,12 @@ Run trie_security on this file
|
|
|
112
117
|
Run trie_soc2 to check compliance
|
|
113
118
|
```
|
|
114
119
|
|
|
120
|
+
Slash-friendly command palette:
|
|
121
|
+
|
|
122
|
+
- `trie` or `/trie` shows the quick menu.
|
|
123
|
+
- `trie` / `/trie` with `{ action: "scan", files?: [], directory?: "" }` runs a full triaged scan.
|
|
124
|
+
- `trie` / `/trie` with `{ action: "<agent>", files?: [] }` runs one agent (e.g., `security`, `ux`, `soc2`, `agent_smith`).
|
|
125
|
+
|
|
115
126
|
### How It Works
|
|
116
127
|
|
|
117
128
|
Trie generates **actionable reports** with high-confidence issues. It does not auto-fix code. Instead:
|
|
@@ -1339,9 +1339,75 @@ var DesignEngineerAgent = class extends BaseAgent {
|
|
|
1339
1339
|
false
|
|
1340
1340
|
));
|
|
1341
1341
|
}
|
|
1342
|
+
let violetCount = 0;
|
|
1343
|
+
for (const { hex } of colorsFound) {
|
|
1344
|
+
const rgb = this.hexToRgb(hex);
|
|
1345
|
+
if (!rgb) continue;
|
|
1346
|
+
const hue = this.rgbToHue(rgb.r, rgb.g, rgb.b);
|
|
1347
|
+
if (hue >= 250 && hue <= 310) violetCount++;
|
|
1348
|
+
}
|
|
1349
|
+
if (violetCount >= 3 && violetCount / colorsFound.length > 0.35) {
|
|
1350
|
+
issues.push(this.createIssue(
|
|
1351
|
+
this.generateIssueId(),
|
|
1352
|
+
"moderate",
|
|
1353
|
+
"Palette leans heavily on violet/purple \u2014 looks templated/AI-generated",
|
|
1354
|
+
"Use Josef Albers \u201CInteraction of Color\u201D approach: constrain to 1-2 hue families, anchor with neutrals, and build contrast via value/temperature shifts rather than piling on violet gradients.",
|
|
1355
|
+
file,
|
|
1356
|
+
void 0,
|
|
1357
|
+
0.78,
|
|
1358
|
+
void 0,
|
|
1359
|
+
false
|
|
1360
|
+
));
|
|
1361
|
+
}
|
|
1342
1362
|
}
|
|
1343
1363
|
return issues;
|
|
1344
1364
|
}
|
|
1365
|
+
/**
|
|
1366
|
+
* Convert hex color to RGB
|
|
1367
|
+
*/
|
|
1368
|
+
hexToRgb(hex) {
|
|
1369
|
+
const normalized = hex.replace("#", "");
|
|
1370
|
+
if (normalized.length === 3) {
|
|
1371
|
+
const r = parseInt(normalized[0] + normalized[0], 16);
|
|
1372
|
+
const g = parseInt(normalized[1] + normalized[1], 16);
|
|
1373
|
+
const b = parseInt(normalized[2] + normalized[2], 16);
|
|
1374
|
+
return { r, g, b };
|
|
1375
|
+
}
|
|
1376
|
+
if (normalized.length === 6) {
|
|
1377
|
+
const r = parseInt(normalized.slice(0, 2), 16);
|
|
1378
|
+
const g = parseInt(normalized.slice(2, 4), 16);
|
|
1379
|
+
const b = parseInt(normalized.slice(4, 6), 16);
|
|
1380
|
+
return { r, g, b };
|
|
1381
|
+
}
|
|
1382
|
+
return null;
|
|
1383
|
+
}
|
|
1384
|
+
/**
|
|
1385
|
+
* Calculate hue in degrees from RGB
|
|
1386
|
+
*/
|
|
1387
|
+
rgbToHue(r, g, b) {
|
|
1388
|
+
const rNorm = r / 255;
|
|
1389
|
+
const gNorm = g / 255;
|
|
1390
|
+
const bNorm = b / 255;
|
|
1391
|
+
const max = Math.max(rNorm, gNorm, bNorm);
|
|
1392
|
+
const min = Math.min(rNorm, gNorm, bNorm);
|
|
1393
|
+
const delta = max - min;
|
|
1394
|
+
if (delta === 0) return 0;
|
|
1395
|
+
let hue;
|
|
1396
|
+
switch (max) {
|
|
1397
|
+
case rNorm:
|
|
1398
|
+
hue = (gNorm - bNorm) / delta % 6;
|
|
1399
|
+
break;
|
|
1400
|
+
case gNorm:
|
|
1401
|
+
hue = (bNorm - rNorm) / delta + 2;
|
|
1402
|
+
break;
|
|
1403
|
+
default:
|
|
1404
|
+
hue = (rNorm - gNorm) / delta + 4;
|
|
1405
|
+
break;
|
|
1406
|
+
}
|
|
1407
|
+
hue *= 60;
|
|
1408
|
+
if (hue < 0) hue += 360;
|
|
1409
|
+
return hue;
|
|
1410
|
+
}
|
|
1345
1411
|
/**
|
|
1346
1412
|
* Get a random modern palette recommendation
|
|
1347
1413
|
*/
|
|
@@ -1357,6 +1423,10 @@ var DesignEngineerAgent = class extends BaseAgent {
|
|
|
1357
1423
|
const issues = [];
|
|
1358
1424
|
const isReact = /from ['"]react['"]|import React/.test(content);
|
|
1359
1425
|
const hasAnimations = /animation|transition|@keyframes|animate/i.test(content);
|
|
1426
|
+
const purposefulMotionSignals = hasAnimations || /hero|landing|modal|dialog|drawer|toast|tooltip|hover|scroll|parallax|reveal|transition|carousel|slider|gallery/i.test(content);
|
|
1427
|
+
if (!purposefulMotionSignals) {
|
|
1428
|
+
return issues;
|
|
1429
|
+
}
|
|
1360
1430
|
if (isReact && !hasLibraries.has("framer-motion") && !hasLibraries.has("react-spring")) {
|
|
1361
1431
|
if (/useState.*animation|setAnimation|isAnimating|animationState/i.test(content)) {
|
|
1362
1432
|
issues.push(this.createIssue(
|
|
@@ -1842,6 +1912,13 @@ var DesignEngineerAgent = class extends BaseAgent {
|
|
|
1842
1912
|
getAIEnhancementSystemPrompt() {
|
|
1843
1913
|
return `You are an award-winning design engineer from a top creative agency (Linear, Vercel, Stripe caliber). You review code for Awwwards-level polish and Codrops-worthy effects.
|
|
1844
1914
|
|
|
1915
|
+
## Guardrails: Design & Engineering Principles
|
|
1916
|
+
- Lead with user-centricity, clarity, and accessibility; animation is optional.
|
|
1917
|
+
- KISS and DRY: reduce complexity, prefer design tokens and reusable patterns.
|
|
1918
|
+
- Reliability and feedback: motion only when it improves understanding or state change.
|
|
1919
|
+
- Efficiency and sustainability: bias to stillness, avoid unnecessary paints/GPU work, honor prefers-reduced-motion.
|
|
1920
|
+
- Ethics and integrity: honest communication about capabilities, avoid dark patterns.
|
|
1921
|
+
|
|
1845
1922
|
## Color Analysis Priority
|
|
1846
1923
|
Detect "AI slop" colors \u2014 the garish, oversaturated colors that AI tools generate:
|
|
1847
1924
|
- Neon greens (#00ff00, #0f0)
|
|
@@ -1849,13 +1926,32 @@ Detect "AI slop" colors \u2014 the garish, oversaturated colors that AI tools ge
|
|
|
1849
1926
|
- Hot magentas (#ff00ff, #f0f)
|
|
1850
1927
|
- Pure saturated primaries
|
|
1851
1928
|
|
|
1852
|
-
|
|
1929
|
+
Apply Josef Albers' "Interaction of Color":
|
|
1930
|
+
- Constrain to 1-2 hue families; anchor with neutrals (slate/zinc/stone).
|
|
1931
|
+
- Build contrast through value (light/dark) and temperature shifts, not saturation.
|
|
1932
|
+
- Test adjacency: colors must work in pairs/triads against neutral backgrounds.
|
|
1933
|
+
- Avoid overusing violet/purple gradients (common AI tell); explore original complements/analogous schemes.
|
|
1934
|
+
|
|
1935
|
+
Replace with modern SaaS palettes from top sites (saaslandingpage.com, awwwards.com), customized via Albers adjacency tests:
|
|
1853
1936
|
- **Dark mode**: Vercel (#000, #0070f3), Linear (#000212, #5e6ad2), Stripe (#0a2540, #635bff)
|
|
1854
1937
|
- **Light mode**: Notion (#fff, #f7f6f3, #2eaadc), Figma (#fff, #f5f5f5, #0d99ff), Framer (#fff, #0055ff)
|
|
1855
1938
|
- **Neutral grays**: Use slate, zinc, or neutral scales, not flat grays
|
|
1856
1939
|
|
|
1940
|
+
## Inspiration Sources (structured lookups)
|
|
1941
|
+
- Codrops Creative Hub (https://tympanus.net/codrops/hub/):
|
|
1942
|
+
- Tags to scan: scroll, hover, typography, cursor, WebGL, WebGPU, GSAP, Framer Motion, Three.js, grid, parallax, page transition, slider/carousel.
|
|
1943
|
+
- Use as inspiration for interaction patterns; keep accessibility, performance, reduced-motion.
|
|
1944
|
+
- Awwwards Directory (https://www.awwwards.com/directory/):
|
|
1945
|
+
- Benchmarks: Locomotive, Immersive Garden, Active Theory, Hello Monday, Resn, Obys, Build in Amsterdam.
|
|
1946
|
+
- Categories to map: animated websites, scrolling, one-page, interaction design, WebGL sites, 3D, GSAP, React, Framer.
|
|
1947
|
+
- Extract patterns (structure, choreography, feedback), not pixels; keep clarity, responsiveness, and performance.
|
|
1948
|
+
|
|
1857
1949
|
## Motion & Creative Effects
|
|
1858
|
-
Recommend
|
|
1950
|
+
Recommend motion only when it improves comprehension or feedback; keep durations 150-300ms, ease-out preferred, and provide reduced-motion fallbacks. Prefer micro-interactions over showy effects.
|
|
1951
|
+
- Default to static if motion adds no clarity.
|
|
1952
|
+
- Ensure @media (prefers-reduced-motion) disables non-essential motion.
|
|
1953
|
+
- Prioritize transform/opacity over layout-changing properties.
|
|
1954
|
+
When warranted by context, suggest libraries:
|
|
1859
1955
|
- **React projects**: Framer Motion (gestures, layout), React Spring (physics), Auto-Animate (quick wins)
|
|
1860
1956
|
- **Complex timelines**: GSAP + ScrollTrigger, SplitText for character animations
|
|
1861
1957
|
- **3D/WebGL**: React Three Fiber + Drei for hero sections, product showcases
|
|
@@ -5296,4 +5392,4 @@ export {
|
|
|
5296
5392
|
CustomAgent,
|
|
5297
5393
|
getAgentRegistry
|
|
5298
5394
|
};
|
|
5299
|
-
//# sourceMappingURL=chunk-
|
|
5395
|
+
//# sourceMappingURL=chunk-3NXWEJUV.js.map
|