enigma-cli 1.43.0 → 1.44.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/assets/registry/primitives/registry.json +498 -8
- package/assets/registry/utils/registry.json +4 -2
- package/assets/skills/anti-overengineering-policy/skill.json +1 -1
- package/assets/skills/anti-overengineering-review/skill.json +1 -1
- package/assets/skills/backend-policy/skill.json +1 -1
- package/assets/skills/ciphera-style-policy/skill.json +1 -1
- package/assets/skills/code-review-policy/skill.json +1 -1
- package/assets/skills/core-engineering-policy/skill.json +1 -1
- package/assets/skills/database-expert/skill.json +1 -1
- package/assets/skills/debugging-policy/skill.json +1 -1
- package/assets/skills/dependency-policy/skill.json +1 -1
- package/assets/skills/email-policy/skill.json +1 -1
- package/assets/skills/frontend-design/skill.json +1 -1
- package/assets/skills/frontend-policy/skill.json +1 -1
- package/assets/skills/git-policy/skill.json +1 -1
- package/assets/skills/logo-sourcing-policy/skill.json +1 -1
- package/assets/skills/security-policy/skill.json +1 -1
- package/assets/skills/skill-creator/skill.json +1 -1
- package/assets/skills/task-completion-policy/skill.json +1 -1
- package/assets/skills/technical-writing-policy/skill.json +1 -1
- package/assets/skills/testing-policy/skill.json +1 -1
- package/assets/skills/validation-policy/skill.json +1 -1
- package/bin/checksums.json +4 -4
- package/bin/enigma.mjs +34 -0
- package/dist/codegraph-hook.js +2483 -0
- package/dist/guardrails.js +94 -0
- package/dist/post-edit.js +95 -1
- package/package.json +1 -1
|
@@ -86,6 +86,7 @@
|
|
|
86
86
|
"[data-enigma-marquee-copy]"
|
|
87
87
|
],
|
|
88
88
|
"docs": "docs/notes/primitives.md#marquee",
|
|
89
|
+
"source": "src/core/marquee.ts",
|
|
89
90
|
"recipes": [
|
|
90
91
|
"tailwind",
|
|
91
92
|
"css"
|
|
@@ -151,12 +152,13 @@
|
|
|
151
152
|
".logo-marquee[data-grabbing]",
|
|
152
153
|
".logo-marquee__item"
|
|
153
154
|
],
|
|
154
|
-
"docs": "docs/notes/primitives.md#logo-marquee"
|
|
155
|
+
"docs": "docs/notes/primitives.md#logo-marquee",
|
|
156
|
+
"source": "recipes/logo-marquee/index.tsx"
|
|
155
157
|
},
|
|
156
158
|
{
|
|
157
159
|
"name": "input",
|
|
158
160
|
"title": "Input, one field for every type",
|
|
159
|
-
"description": "A field you pass props to, typed by its `type`: password gets the reveal toggle, a generator, a strength meter and a breach check; search gets debouncing, ranking and a clear button; color gets a swatch and a picker panel - saturation square, hue and alpha rails, presets and the screen eyedropper - instead of the operating system popup; everything else is a plain field with native props. What each type needs is loaded when that type is used, so a form of text fields ships none of it.",
|
|
161
|
+
"description": "A field you pass props to, typed by its `type`: password gets the reveal toggle, a generator, a strength meter and a breach check; search gets debouncing, ranking and a clear button; color gets a swatch and a picker panel - saturation square, hue and alpha rails, an editable readout that prints the value as hex, rgb() or hsl(), presets and the screen eyedropper - instead of the operating system popup, and the swatch is there from the first frame rather than when the panel's code lands; everything else is a plain field with native props. What each type needs is loaded when that type is used, so a form of text fields ships none of it.",
|
|
160
162
|
"targets": [
|
|
161
163
|
"vanilla",
|
|
162
164
|
"astro",
|
|
@@ -279,6 +281,13 @@
|
|
|
279
281
|
"react"
|
|
280
282
|
]
|
|
281
283
|
},
|
|
284
|
+
{
|
|
285
|
+
"path": "src/react/input/color-swatch.tsx",
|
|
286
|
+
"dest": "input/color-swatch.tsx",
|
|
287
|
+
"targets": [
|
|
288
|
+
"react"
|
|
289
|
+
]
|
|
290
|
+
},
|
|
282
291
|
{
|
|
283
292
|
"path": "src/react/input/color.tsx",
|
|
284
293
|
"dest": "input/color.tsx",
|
|
@@ -289,7 +298,8 @@
|
|
|
289
298
|
"@/core/color": "./color-core",
|
|
290
299
|
"@/react/input/write-value": "./write-value",
|
|
291
300
|
"@/react/input/color-styles": "./color-styles",
|
|
292
|
-
"@/react/input/types": "./types"
|
|
301
|
+
"@/react/input/types": "./types",
|
|
302
|
+
"@/react/input/color-swatch": "./color-swatch"
|
|
293
303
|
}
|
|
294
304
|
},
|
|
295
305
|
{
|
|
@@ -325,7 +335,8 @@
|
|
|
325
335
|
"@/react/input/password": "./password",
|
|
326
336
|
"@/react/input/search": "./search",
|
|
327
337
|
"@/core/password": "./password-core",
|
|
328
|
-
"@/react/input/color": "./color"
|
|
338
|
+
"@/react/input/color": "./color",
|
|
339
|
+
"@/react/input/color-swatch": "./color-swatch"
|
|
329
340
|
}
|
|
330
341
|
},
|
|
331
342
|
{
|
|
@@ -383,6 +394,7 @@
|
|
|
383
394
|
"[data-enigma-color-preset]"
|
|
384
395
|
],
|
|
385
396
|
"docs": "docs/notes/primitives.md#input",
|
|
397
|
+
"source": "src/core/input.ts",
|
|
386
398
|
"recipes": [
|
|
387
399
|
"tailwind",
|
|
388
400
|
"css"
|
|
@@ -451,6 +463,7 @@
|
|
|
451
463
|
"fuse.js": "Fuzzy matching. Omit it and a built-in substring matcher is used."
|
|
452
464
|
},
|
|
453
465
|
"docs": "docs/notes/primitives.md#search",
|
|
466
|
+
"source": "src/core/search.ts",
|
|
454
467
|
"recipes": [
|
|
455
468
|
"tailwind"
|
|
456
469
|
],
|
|
@@ -542,7 +555,8 @@
|
|
|
542
555
|
"[aria-busy=true]",
|
|
543
556
|
"[data-enigma-button-key]"
|
|
544
557
|
],
|
|
545
|
-
"docs": "docs/notes/primitives.md#button"
|
|
558
|
+
"docs": "docs/notes/primitives.md#button",
|
|
559
|
+
"source": "src/core/button.ts"
|
|
546
560
|
},
|
|
547
561
|
{
|
|
548
562
|
"name": "palette",
|
|
@@ -647,6 +661,7 @@
|
|
|
647
661
|
"[data-enigma-palette-hint]"
|
|
648
662
|
],
|
|
649
663
|
"docs": "docs/notes/primitives.md#palette",
|
|
664
|
+
"source": "src/core/palette.ts",
|
|
650
665
|
"recipes": [
|
|
651
666
|
"css"
|
|
652
667
|
]
|
|
@@ -790,6 +805,7 @@
|
|
|
790
805
|
"[data-enigma-select-empty]"
|
|
791
806
|
],
|
|
792
807
|
"docs": "docs/notes/primitives.md#select",
|
|
808
|
+
"source": "src/core/select.ts",
|
|
793
809
|
"recipes": [
|
|
794
810
|
"css"
|
|
795
811
|
]
|
|
@@ -937,6 +953,7 @@
|
|
|
937
953
|
"[data-enigma-menu-status][data-error]"
|
|
938
954
|
],
|
|
939
955
|
"docs": "docs/notes/primitives.md#context-menu",
|
|
956
|
+
"source": "src/core/context-menu.ts",
|
|
940
957
|
"recipes": [
|
|
941
958
|
"css"
|
|
942
959
|
]
|
|
@@ -1010,7 +1027,8 @@
|
|
|
1010
1027
|
"[data-enigma-selection-marquee]",
|
|
1011
1028
|
"[data-enigma-selection-empty]"
|
|
1012
1029
|
],
|
|
1013
|
-
"docs": "docs/notes/primitives.md#selection"
|
|
1030
|
+
"docs": "docs/notes/primitives.md#selection",
|
|
1031
|
+
"source": "src/core/selection.ts"
|
|
1014
1032
|
},
|
|
1015
1033
|
{
|
|
1016
1034
|
"name": "flags",
|
|
@@ -1072,7 +1090,8 @@
|
|
|
1072
1090
|
"[data-enigma-flag][data-flag-shape=circle]"
|
|
1073
1091
|
],
|
|
1074
1092
|
"assets": "flags",
|
|
1075
|
-
"docs": "docs/notes/primitives.md#flags"
|
|
1093
|
+
"docs": "docs/notes/primitives.md#flags",
|
|
1094
|
+
"source": "src/core/flags.ts"
|
|
1076
1095
|
},
|
|
1077
1096
|
{
|
|
1078
1097
|
"name": "notifications",
|
|
@@ -1131,6 +1150,7 @@
|
|
|
1131
1150
|
],
|
|
1132
1151
|
"styles": false,
|
|
1133
1152
|
"docs": "docs/notes/primitives.md#notifications",
|
|
1153
|
+
"source": "src/core/notifications.ts",
|
|
1134
1154
|
"recipes": [
|
|
1135
1155
|
"tailwind"
|
|
1136
1156
|
]
|
|
@@ -1269,6 +1289,7 @@
|
|
|
1269
1289
|
"[data-icon]"
|
|
1270
1290
|
],
|
|
1271
1291
|
"docs": "docs/notes/primitives.md#toast",
|
|
1292
|
+
"source": "src/react/toaster.tsx",
|
|
1272
1293
|
"recipes": [
|
|
1273
1294
|
"tailwind",
|
|
1274
1295
|
"css"
|
|
@@ -1322,7 +1343,8 @@
|
|
|
1322
1343
|
}
|
|
1323
1344
|
],
|
|
1324
1345
|
"styles": false,
|
|
1325
|
-
"docs": "docs/notes/primitives.md#network"
|
|
1346
|
+
"docs": "docs/notes/primitives.md#network",
|
|
1347
|
+
"source": "src/core/network.ts"
|
|
1326
1348
|
},
|
|
1327
1349
|
{
|
|
1328
1350
|
"name": "relative-time",
|
|
@@ -1390,9 +1412,477 @@
|
|
|
1390
1412
|
"[data-relative-time-capitalize-first-letter=true]"
|
|
1391
1413
|
],
|
|
1392
1414
|
"docs": "docs/notes/primitives.md#relative-time",
|
|
1415
|
+
"source": "src/core/relative-time.ts",
|
|
1393
1416
|
"dependencies": {
|
|
1394
1417
|
"@github/relative-time-element": "^4.4.0"
|
|
1395
1418
|
}
|
|
1419
|
+
},
|
|
1420
|
+
{
|
|
1421
|
+
"name": "image",
|
|
1422
|
+
"title": "Image, with the viewer a press on it opens",
|
|
1423
|
+
"description": "An image that opens into a lightbox: a press enlarges it and the picture flies out of the page into the viewer, the wheel zooms around the cursor, with a drag to pan, a pinch on touch, and the keyboard driving all of it. Everything else is a decision about the page it sits in, so it is off until asked for - the arrows and counter of a set, the strip of previews along the bottom, a three-dot menu that downloads the file, and a discard action that drops an image and moves to the next. The viewer is its own chunk, fetched on intent, and the menu another under that, so a page of images nobody enlarges downloads neither. It brings a theme: there is no useful unstyled lightbox.",
|
|
1424
|
+
"targets": [
|
|
1425
|
+
"react"
|
|
1426
|
+
],
|
|
1427
|
+
"entry": {
|
|
1428
|
+
"react": "@enigmax/primitives/react/image"
|
|
1429
|
+
},
|
|
1430
|
+
"exports": {
|
|
1431
|
+
"react": [
|
|
1432
|
+
"Image"
|
|
1433
|
+
]
|
|
1434
|
+
},
|
|
1435
|
+
"files": [
|
|
1436
|
+
{
|
|
1437
|
+
"path": "src/core/image-viewer.ts",
|
|
1438
|
+
"dest": "image/image-viewer.ts",
|
|
1439
|
+
"targets": [
|
|
1440
|
+
"react"
|
|
1441
|
+
]
|
|
1442
|
+
},
|
|
1443
|
+
{
|
|
1444
|
+
"path": "src/core/context-menu.ts",
|
|
1445
|
+
"dest": "image/context-menu.ts",
|
|
1446
|
+
"targets": [
|
|
1447
|
+
"react"
|
|
1448
|
+
],
|
|
1449
|
+
"rewrite": {
|
|
1450
|
+
"@/core/search": "./search-core",
|
|
1451
|
+
"@/core/keys": "./keys"
|
|
1452
|
+
}
|
|
1453
|
+
},
|
|
1454
|
+
{
|
|
1455
|
+
"path": "src/core/search.ts",
|
|
1456
|
+
"dest": "image/search-core.ts",
|
|
1457
|
+
"targets": [
|
|
1458
|
+
"react"
|
|
1459
|
+
]
|
|
1460
|
+
},
|
|
1461
|
+
{
|
|
1462
|
+
"path": "src/core/keys.ts",
|
|
1463
|
+
"dest": "image/keys.ts",
|
|
1464
|
+
"targets": [
|
|
1465
|
+
"react"
|
|
1466
|
+
]
|
|
1467
|
+
},
|
|
1468
|
+
{
|
|
1469
|
+
"path": "src/react/image/types.ts",
|
|
1470
|
+
"dest": "image/types.ts",
|
|
1471
|
+
"targets": [
|
|
1472
|
+
"react"
|
|
1473
|
+
],
|
|
1474
|
+
"rewrite": {
|
|
1475
|
+
"@/react/context-menu/context": "./context"
|
|
1476
|
+
}
|
|
1477
|
+
},
|
|
1478
|
+
{
|
|
1479
|
+
"path": "src/react/image/icons.tsx",
|
|
1480
|
+
"dest": "image/icons.tsx",
|
|
1481
|
+
"targets": [
|
|
1482
|
+
"react"
|
|
1483
|
+
]
|
|
1484
|
+
},
|
|
1485
|
+
{
|
|
1486
|
+
"path": "src/react/image/styles.ts",
|
|
1487
|
+
"dest": "image/styles.ts",
|
|
1488
|
+
"targets": [
|
|
1489
|
+
"react"
|
|
1490
|
+
]
|
|
1491
|
+
},
|
|
1492
|
+
{
|
|
1493
|
+
"path": "src/core/clipboard-menu.ts",
|
|
1494
|
+
"dest": "image/clipboard-menu.ts",
|
|
1495
|
+
"targets": [
|
|
1496
|
+
"react"
|
|
1497
|
+
],
|
|
1498
|
+
"rewrite": {
|
|
1499
|
+
"@/core/context-menu": "./context-menu",
|
|
1500
|
+
"@/react/context-menu/styles": "./context-menu-styles"
|
|
1501
|
+
}
|
|
1502
|
+
},
|
|
1503
|
+
{
|
|
1504
|
+
"path": "src/react/slot.tsx",
|
|
1505
|
+
"dest": "image/slot.tsx",
|
|
1506
|
+
"targets": [
|
|
1507
|
+
"react"
|
|
1508
|
+
],
|
|
1509
|
+
"rewrite": {
|
|
1510
|
+
"@/react/context-menu/styles": "./context-menu-styles"
|
|
1511
|
+
}
|
|
1512
|
+
},
|
|
1513
|
+
{
|
|
1514
|
+
"path": "src/react/context-menu/styles.ts",
|
|
1515
|
+
"dest": "image/context-menu-styles.ts",
|
|
1516
|
+
"targets": [
|
|
1517
|
+
"react"
|
|
1518
|
+
],
|
|
1519
|
+
"rewrite": {
|
|
1520
|
+
"@/react/context-menu/styles": "./context-menu-styles"
|
|
1521
|
+
}
|
|
1522
|
+
},
|
|
1523
|
+
{
|
|
1524
|
+
"path": "recipes/context-menu/styles.css",
|
|
1525
|
+
"dest": "image/context-menu-styles.css",
|
|
1526
|
+
"targets": [
|
|
1527
|
+
"react"
|
|
1528
|
+
],
|
|
1529
|
+
"style": "css",
|
|
1530
|
+
"rewrite": {
|
|
1531
|
+
"@/react/context-menu/styles": "./context-menu-styles"
|
|
1532
|
+
}
|
|
1533
|
+
},
|
|
1534
|
+
{
|
|
1535
|
+
"path": "src/react/context-menu/context.ts",
|
|
1536
|
+
"dest": "image/context.ts",
|
|
1537
|
+
"targets": [
|
|
1538
|
+
"react"
|
|
1539
|
+
],
|
|
1540
|
+
"rewrite": {
|
|
1541
|
+
"@/core/context-menu": "./context-menu",
|
|
1542
|
+
"@/react/context-menu/styles": "./context-menu-styles"
|
|
1543
|
+
}
|
|
1544
|
+
},
|
|
1545
|
+
{
|
|
1546
|
+
"path": "src/react/context-menu/root.tsx",
|
|
1547
|
+
"dest": "image/root.tsx",
|
|
1548
|
+
"targets": [
|
|
1549
|
+
"react"
|
|
1550
|
+
],
|
|
1551
|
+
"rewrite": {
|
|
1552
|
+
"@/core/context-menu": "./context-menu",
|
|
1553
|
+
"@/core/search": "./search-core",
|
|
1554
|
+
"@/core/keys": "./keys",
|
|
1555
|
+
"@/react/slot": "./slot",
|
|
1556
|
+
"@/react/context-menu/styles": "./context-menu-styles",
|
|
1557
|
+
"@/react/context-menu/context": "./context",
|
|
1558
|
+
"@/core/clipboard-menu": "./clipboard-menu"
|
|
1559
|
+
}
|
|
1560
|
+
},
|
|
1561
|
+
{
|
|
1562
|
+
"path": "src/react/context-menu/index.tsx",
|
|
1563
|
+
"dest": "image/context-menu-ui.tsx",
|
|
1564
|
+
"targets": [
|
|
1565
|
+
"react"
|
|
1566
|
+
],
|
|
1567
|
+
"rewrite": {
|
|
1568
|
+
"@/react/context-menu/root": "./root",
|
|
1569
|
+
"@/react/context-menu/context": "./context",
|
|
1570
|
+
"@/react/context-menu/styles": "./context-menu-styles",
|
|
1571
|
+
"@/core/context-menu": "./context-menu",
|
|
1572
|
+
"@/core/keys": "./keys",
|
|
1573
|
+
"@/core/clipboard-menu": "./clipboard-menu"
|
|
1574
|
+
}
|
|
1575
|
+
},
|
|
1576
|
+
{
|
|
1577
|
+
"path": "src/react/image/menu.tsx",
|
|
1578
|
+
"dest": "image/menu.tsx",
|
|
1579
|
+
"targets": [
|
|
1580
|
+
"react"
|
|
1581
|
+
],
|
|
1582
|
+
"rewrite": {
|
|
1583
|
+
"@/react/image/icons": "./icons",
|
|
1584
|
+
"@/react/image/types": "./types",
|
|
1585
|
+
"@/react/image/viewer": "./viewer",
|
|
1586
|
+
"@/core/image-viewer": "./image-viewer",
|
|
1587
|
+
"@/react/context-menu": "./context-menu-ui"
|
|
1588
|
+
}
|
|
1589
|
+
},
|
|
1590
|
+
{
|
|
1591
|
+
"path": "src/react/image/viewer.tsx",
|
|
1592
|
+
"dest": "image/viewer.tsx",
|
|
1593
|
+
"targets": [
|
|
1594
|
+
"react"
|
|
1595
|
+
],
|
|
1596
|
+
"rewrite": {
|
|
1597
|
+
"@/react/image/icons": "./icons",
|
|
1598
|
+
"@/react/image/types": "./types",
|
|
1599
|
+
"@/react/image/styles": "./styles",
|
|
1600
|
+
"@/react/image/menu": "./menu",
|
|
1601
|
+
"@/core/image-viewer": "./image-viewer"
|
|
1602
|
+
}
|
|
1603
|
+
},
|
|
1604
|
+
{
|
|
1605
|
+
"path": "src/react/image/index.tsx",
|
|
1606
|
+
"dest": "image/index.tsx",
|
|
1607
|
+
"main": true,
|
|
1608
|
+
"targets": [
|
|
1609
|
+
"react"
|
|
1610
|
+
],
|
|
1611
|
+
"rewrite": {
|
|
1612
|
+
"@/react/image/types": "./types",
|
|
1613
|
+
"@/react/image/viewer": "./viewer",
|
|
1614
|
+
"@/react/image/styles": "./styles"
|
|
1615
|
+
}
|
|
1616
|
+
},
|
|
1617
|
+
{
|
|
1618
|
+
"path": "recipes/image/styles.css",
|
|
1619
|
+
"dest": "image/styles.css",
|
|
1620
|
+
"targets": [
|
|
1621
|
+
"react"
|
|
1622
|
+
],
|
|
1623
|
+
"style": "css"
|
|
1624
|
+
}
|
|
1625
|
+
],
|
|
1626
|
+
"styles": true,
|
|
1627
|
+
"themeHooks": [
|
|
1628
|
+
"[data-enigma-image]",
|
|
1629
|
+
"[data-enigma-image][data-clickable]",
|
|
1630
|
+
"[data-enigma-image-trigger]",
|
|
1631
|
+
"[data-enigma-image-viewer]",
|
|
1632
|
+
"[data-enigma-image-bar]",
|
|
1633
|
+
"[data-enigma-image-counter]",
|
|
1634
|
+
"[data-enigma-image-button]",
|
|
1635
|
+
"[data-enigma-image-frame]",
|
|
1636
|
+
"[data-enigma-image-frame][data-zoomed]",
|
|
1637
|
+
"[data-enigma-image-frame][data-panning]",
|
|
1638
|
+
"[data-enigma-image-frame][data-loading]",
|
|
1639
|
+
"[data-enigma-image-nav]",
|
|
1640
|
+
"[data-enigma-image-spinner]",
|
|
1641
|
+
"[data-enigma-image-foot]",
|
|
1642
|
+
"[data-enigma-image-caption]",
|
|
1643
|
+
"[data-enigma-image-strip]",
|
|
1644
|
+
"[data-enigma-image-thumb]",
|
|
1645
|
+
"[data-enigma-image-viewer][data-state]",
|
|
1646
|
+
"[data-enigma-image-frame][data-flying]"
|
|
1647
|
+
],
|
|
1648
|
+
"docs": "docs/notes/primitives.md#image",
|
|
1649
|
+
"source": "src/core/image-viewer.ts",
|
|
1650
|
+
"recipes": [
|
|
1651
|
+
"css"
|
|
1652
|
+
]
|
|
1653
|
+
},
|
|
1654
|
+
{
|
|
1655
|
+
"name": "video",
|
|
1656
|
+
"title": "Video player",
|
|
1657
|
+
"description": "A video with the controls a video is expected to have, shaped after Plyr: a big play button over the poster, a scrubber showing what is buffered, current time and duration, volume that folds away until reached, subtitles with a language picker, a speed menu, picture in picture, casting to a TV and fullscreen. A right-click opens a menu the way YouTube's does - play, loop, speed, subtitles, copy the link or the link at this second - built from the context-menu primitive rather than hand-rolled. The keyboard is the platform's - space and K play, J and L jump ten seconds, the arrows nudge and set the volume, M mutes, F is fullscreen, C captions, a digit seeks to that tenth - and it stands down inside anything that takes text. The bar fades while playing and comes back on the first pointer move. The element stays the source of truth: playback, the subtitle list and the cast target are all read back from it rather than kept twice.",
|
|
1658
|
+
"targets": [
|
|
1659
|
+
"react"
|
|
1660
|
+
],
|
|
1661
|
+
"entry": {
|
|
1662
|
+
"react": "@enigmax/primitives/react/video"
|
|
1663
|
+
},
|
|
1664
|
+
"exports": {
|
|
1665
|
+
"react": [
|
|
1666
|
+
"Video"
|
|
1667
|
+
]
|
|
1668
|
+
},
|
|
1669
|
+
"files": [
|
|
1670
|
+
{
|
|
1671
|
+
"path": "src/core/context-menu.ts",
|
|
1672
|
+
"dest": "video/context-menu.ts",
|
|
1673
|
+
"targets": [
|
|
1674
|
+
"react"
|
|
1675
|
+
],
|
|
1676
|
+
"rewrite": {
|
|
1677
|
+
"@/core/search": "./search-core",
|
|
1678
|
+
"@/core/keys": "./keys"
|
|
1679
|
+
}
|
|
1680
|
+
},
|
|
1681
|
+
{
|
|
1682
|
+
"path": "src/core/search.ts",
|
|
1683
|
+
"dest": "video/search-core.ts",
|
|
1684
|
+
"targets": [
|
|
1685
|
+
"react"
|
|
1686
|
+
]
|
|
1687
|
+
},
|
|
1688
|
+
{
|
|
1689
|
+
"path": "src/core/keys.ts",
|
|
1690
|
+
"dest": "video/keys.ts",
|
|
1691
|
+
"targets": [
|
|
1692
|
+
"react"
|
|
1693
|
+
]
|
|
1694
|
+
},
|
|
1695
|
+
{
|
|
1696
|
+
"path": "src/core/clipboard-menu.ts",
|
|
1697
|
+
"dest": "video/clipboard-menu.ts",
|
|
1698
|
+
"targets": [
|
|
1699
|
+
"react"
|
|
1700
|
+
],
|
|
1701
|
+
"rewrite": {
|
|
1702
|
+
"@/core/context-menu": "./context-menu",
|
|
1703
|
+
"@/react/context-menu/styles": "./context-menu-styles"
|
|
1704
|
+
}
|
|
1705
|
+
},
|
|
1706
|
+
{
|
|
1707
|
+
"path": "src/react/slot.tsx",
|
|
1708
|
+
"dest": "video/slot.tsx",
|
|
1709
|
+
"targets": [
|
|
1710
|
+
"react"
|
|
1711
|
+
],
|
|
1712
|
+
"rewrite": {
|
|
1713
|
+
"@/react/context-menu/styles": "./context-menu-styles"
|
|
1714
|
+
}
|
|
1715
|
+
},
|
|
1716
|
+
{
|
|
1717
|
+
"path": "src/react/context-menu/styles.ts",
|
|
1718
|
+
"dest": "video/context-menu-styles.ts",
|
|
1719
|
+
"targets": [
|
|
1720
|
+
"react"
|
|
1721
|
+
],
|
|
1722
|
+
"rewrite": {
|
|
1723
|
+
"@/react/context-menu/styles": "./context-menu-styles"
|
|
1724
|
+
}
|
|
1725
|
+
},
|
|
1726
|
+
{
|
|
1727
|
+
"path": "recipes/context-menu/styles.css",
|
|
1728
|
+
"dest": "video/context-menu-styles.css",
|
|
1729
|
+
"targets": [
|
|
1730
|
+
"react"
|
|
1731
|
+
],
|
|
1732
|
+
"style": "css",
|
|
1733
|
+
"rewrite": {
|
|
1734
|
+
"@/react/context-menu/styles": "./context-menu-styles"
|
|
1735
|
+
}
|
|
1736
|
+
},
|
|
1737
|
+
{
|
|
1738
|
+
"path": "src/react/context-menu/context.ts",
|
|
1739
|
+
"dest": "video/context.ts",
|
|
1740
|
+
"targets": [
|
|
1741
|
+
"react"
|
|
1742
|
+
],
|
|
1743
|
+
"rewrite": {
|
|
1744
|
+
"@/core/context-menu": "./context-menu",
|
|
1745
|
+
"@/react/context-menu/styles": "./context-menu-styles"
|
|
1746
|
+
}
|
|
1747
|
+
},
|
|
1748
|
+
{
|
|
1749
|
+
"path": "src/react/context-menu/root.tsx",
|
|
1750
|
+
"dest": "video/root.tsx",
|
|
1751
|
+
"targets": [
|
|
1752
|
+
"react"
|
|
1753
|
+
],
|
|
1754
|
+
"rewrite": {
|
|
1755
|
+
"@/core/context-menu": "./context-menu",
|
|
1756
|
+
"@/core/search": "./search-core",
|
|
1757
|
+
"@/core/keys": "./keys",
|
|
1758
|
+
"@/react/slot": "./slot",
|
|
1759
|
+
"@/react/context-menu/styles": "./context-menu-styles",
|
|
1760
|
+
"@/react/context-menu/context": "./context",
|
|
1761
|
+
"@/core/clipboard-menu": "./clipboard-menu"
|
|
1762
|
+
}
|
|
1763
|
+
},
|
|
1764
|
+
{
|
|
1765
|
+
"path": "src/react/context-menu/index.tsx",
|
|
1766
|
+
"dest": "video/context-menu-ui.tsx",
|
|
1767
|
+
"targets": [
|
|
1768
|
+
"react"
|
|
1769
|
+
],
|
|
1770
|
+
"rewrite": {
|
|
1771
|
+
"@/react/context-menu/root": "./root",
|
|
1772
|
+
"@/react/context-menu/context": "./context",
|
|
1773
|
+
"@/react/context-menu/styles": "./context-menu-styles",
|
|
1774
|
+
"@/core/context-menu": "./context-menu",
|
|
1775
|
+
"@/core/keys": "./keys",
|
|
1776
|
+
"@/core/clipboard-menu": "./clipboard-menu"
|
|
1777
|
+
}
|
|
1778
|
+
},
|
|
1779
|
+
{
|
|
1780
|
+
"path": "src/core/player.ts",
|
|
1781
|
+
"dest": "video/player.ts",
|
|
1782
|
+
"targets": [
|
|
1783
|
+
"react"
|
|
1784
|
+
]
|
|
1785
|
+
},
|
|
1786
|
+
{
|
|
1787
|
+
"path": "src/react/video/types.ts",
|
|
1788
|
+
"dest": "video/types.ts",
|
|
1789
|
+
"targets": [
|
|
1790
|
+
"react"
|
|
1791
|
+
],
|
|
1792
|
+
"rewrite": {
|
|
1793
|
+
"@/react/context-menu/context": "./context"
|
|
1794
|
+
}
|
|
1795
|
+
},
|
|
1796
|
+
{
|
|
1797
|
+
"path": "src/react/video/icons.tsx",
|
|
1798
|
+
"dest": "video/icons.tsx",
|
|
1799
|
+
"targets": [
|
|
1800
|
+
"react"
|
|
1801
|
+
]
|
|
1802
|
+
},
|
|
1803
|
+
{
|
|
1804
|
+
"path": "src/react/video/styles.ts",
|
|
1805
|
+
"dest": "video/styles.ts",
|
|
1806
|
+
"targets": [
|
|
1807
|
+
"react"
|
|
1808
|
+
]
|
|
1809
|
+
},
|
|
1810
|
+
{
|
|
1811
|
+
"path": "src/react/video/rail.tsx",
|
|
1812
|
+
"dest": "video/rail.tsx",
|
|
1813
|
+
"targets": [
|
|
1814
|
+
"react"
|
|
1815
|
+
],
|
|
1816
|
+
"rewrite": {
|
|
1817
|
+
"@/core/player": "./player"
|
|
1818
|
+
}
|
|
1819
|
+
},
|
|
1820
|
+
{
|
|
1821
|
+
"path": "src/react/video/menu.tsx",
|
|
1822
|
+
"dest": "video/menu.tsx",
|
|
1823
|
+
"targets": [
|
|
1824
|
+
"react"
|
|
1825
|
+
],
|
|
1826
|
+
"rewrite": {
|
|
1827
|
+
"@/core/context-menu": "./context-menu",
|
|
1828
|
+
"@/react/context-menu": "./context-menu-ui"
|
|
1829
|
+
}
|
|
1830
|
+
},
|
|
1831
|
+
{
|
|
1832
|
+
"path": "src/react/video/index.tsx",
|
|
1833
|
+
"dest": "video/index.tsx",
|
|
1834
|
+
"main": true,
|
|
1835
|
+
"targets": [
|
|
1836
|
+
"react"
|
|
1837
|
+
],
|
|
1838
|
+
"rewrite": {
|
|
1839
|
+
"@/core/player": "./player",
|
|
1840
|
+
"@/react/video/icons": "./icons",
|
|
1841
|
+
"@/react/video/rail": "./rail",
|
|
1842
|
+
"@/react/video/styles": "./styles",
|
|
1843
|
+
"@/react/video/types": "./types",
|
|
1844
|
+
"@/react/context-menu/context": "./context",
|
|
1845
|
+
"@/react/video/menu": "./menu"
|
|
1846
|
+
}
|
|
1847
|
+
},
|
|
1848
|
+
{
|
|
1849
|
+
"path": "recipes/video/styles.css",
|
|
1850
|
+
"dest": "video/styles.css",
|
|
1851
|
+
"targets": [
|
|
1852
|
+
"react"
|
|
1853
|
+
],
|
|
1854
|
+
"style": "css"
|
|
1855
|
+
}
|
|
1856
|
+
],
|
|
1857
|
+
"styles": true,
|
|
1858
|
+
"themeHooks": [
|
|
1859
|
+
"[data-enigma-video]",
|
|
1860
|
+
"[data-enigma-video][data-playing]",
|
|
1861
|
+
"[data-enigma-video][data-hidden]",
|
|
1862
|
+
"[data-enigma-video][data-fullscreen]",
|
|
1863
|
+
"[data-enigma-video-big]",
|
|
1864
|
+
"[data-enigma-video-overlay]",
|
|
1865
|
+
"[data-enigma-video-spinner]",
|
|
1866
|
+
"[data-enigma-video-controls]",
|
|
1867
|
+
"[data-enigma-video-button]",
|
|
1868
|
+
"[data-enigma-video-time]",
|
|
1869
|
+
"[data-enigma-video-rail]",
|
|
1870
|
+
"[data-enigma-video-track]",
|
|
1871
|
+
"[data-enigma-video-buffer]",
|
|
1872
|
+
"[data-enigma-video-played]",
|
|
1873
|
+
"[data-enigma-video-knob]",
|
|
1874
|
+
"[data-enigma-video-volume]",
|
|
1875
|
+
"[data-enigma-video-menu]",
|
|
1876
|
+
"[data-enigma-video-panel]",
|
|
1877
|
+
"[data-enigma-video-option]",
|
|
1878
|
+
"[data-enigma-video-heading]",
|
|
1879
|
+
"[data-enigma-video][data-casting]"
|
|
1880
|
+
],
|
|
1881
|
+
"docs": "docs/notes/primitives.md#video",
|
|
1882
|
+
"source": "src/core/player.ts",
|
|
1883
|
+
"recipes": [
|
|
1884
|
+
"css"
|
|
1885
|
+
]
|
|
1396
1886
|
}
|
|
1397
1887
|
]
|
|
1398
1888
|
}
|
|
@@ -51,7 +51,8 @@
|
|
|
51
51
|
}
|
|
52
52
|
],
|
|
53
53
|
"styles": false,
|
|
54
|
-
"docs": "docs/notes/primitives.md#cache"
|
|
54
|
+
"docs": "docs/notes/primitives.md#cache",
|
|
55
|
+
"source": "src/core/cache.ts"
|
|
55
56
|
},
|
|
56
57
|
{
|
|
57
58
|
"name": "password-breach",
|
|
@@ -103,7 +104,8 @@
|
|
|
103
104
|
}
|
|
104
105
|
],
|
|
105
106
|
"styles": false,
|
|
106
|
-
"docs": "docs/notes/primitives.md#password-breach"
|
|
107
|
+
"docs": "docs/notes/primitives.md#password-breach",
|
|
108
|
+
"source": "src/core/password-breach.ts"
|
|
107
109
|
}
|
|
108
110
|
]
|
|
109
111
|
}
|
|
@@ -4,6 +4,6 @@
|
|
|
4
4
|
"provider": "FJRG2007/enigma",
|
|
5
5
|
"description": "On-demand over-engineering review - diff review, whole-repo audit, and enigma: debt-marker ledger (tags delete/stdlib/native/yagni/shrink, line/dep scoring); lists cuts, applies nothing.",
|
|
6
6
|
"updated": "2026-06-16T11:24:30+02:00",
|
|
7
|
-
"cliVersion": "1.
|
|
7
|
+
"cliVersion": "1.44.0",
|
|
8
8
|
"sha": "f742a2be3f328b9ea1ff9a35a449177c2cbec35ad16e46f7054b7a873a2ab017"
|
|
9
9
|
}
|
|
@@ -4,6 +4,6 @@
|
|
|
4
4
|
"provider": "FJRG2007/enigma",
|
|
5
5
|
"description": "Backend/API architecture: controller-service-repository layering, modern TypeScript project configuration (module resolution, strict flags, @/* path alias), API and request optimization (batching, avoiding redundant calls, skipping no-op writes), server-side caching (Redis), and Zod boundary validation.",
|
|
6
6
|
"updated": "2026-08-02T19:59:01+02:00",
|
|
7
|
-
"cliVersion": "1.
|
|
7
|
+
"cliVersion": "1.44.0",
|
|
8
8
|
"sha": "652637f818b4ce4f4d5d83fa68fa57fe7842e32fb179523958c5496af54bb938"
|
|
9
9
|
}
|
|
@@ -4,6 +4,6 @@
|
|
|
4
4
|
"provider": "FJRG2007/enigma",
|
|
5
5
|
"description": "Ciphera code style conventions (formatting, naming, imports incl. namespace imports for wide module surfaces, path-alias specifiers and no file extensions, comments, code-level anti-patterns; TypeScript-first, language-agnostic).",
|
|
6
6
|
"updated": "2026-08-02T19:59:01+02:00",
|
|
7
|
-
"cliVersion": "1.
|
|
7
|
+
"cliVersion": "1.44.0",
|
|
8
8
|
"sha": "3beb0383a9cb0331ef8a579308a2517d24d57a8ba33751ad17d16d0a4f66e344"
|
|
9
9
|
}
|