repo-wrapped 0.0.6 → 0.0.9
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/.github/agents/complete.agent.md +257 -0
- package/.github/agents/feature-scaffold.agent.md +248 -0
- package/.github/agents/jsdoc.agent.md +243 -0
- package/.github/agents/plan.agent.md +202 -0
- package/.github/agents/spec-writer.agent.md +169 -0
- package/.github/agents/test-writer.agent.md +169 -0
- package/.stylelintrc.json +27 -0
- package/README.md +94 -94
- package/coverage/base.css +224 -0
- package/coverage/block-navigation.js +87 -0
- package/coverage/favicon.png +0 -0
- package/coverage/index.html +446 -0
- package/coverage/lcov-report/base.css +224 -0
- package/coverage/lcov-report/block-navigation.js +87 -0
- package/coverage/lcov-report/favicon.png +0 -0
- package/coverage/lcov-report/index.html +446 -0
- package/coverage/lcov-report/prettify.css +1 -0
- package/coverage/lcov-report/prettify.js +2 -0
- package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/coverage/lcov-report/sorter.js +210 -0
- package/coverage/lcov.info +7039 -0
- package/coverage/prettify.css +1 -0
- package/coverage/prettify.js +2 -0
- package/coverage/sort-arrow-sprite.png +0 -0
- package/coverage/sorter.js +210 -0
- package/dist/commands/generate.js +262 -5
- package/dist/config/defaults.js +158 -0
- package/dist/config/index.js +10 -0
- package/dist/features/achievements/data/achievements.json +284 -0
- package/dist/features/achievements/engine.js +140 -0
- package/dist/features/achievements/evaluators.js +246 -0
- package/dist/features/achievements/helpers.js +58 -0
- package/dist/features/achievements/index.js +57 -0
- package/dist/features/achievements/loader.js +88 -0
- package/dist/features/achievements/template.js +155 -0
- package/dist/features/achievements/types.js +7 -0
- package/dist/features/commit-quality/analyzer.js +378 -0
- package/dist/features/commit-quality/analyzer.test.js +484 -0
- package/dist/features/commit-quality/index.js +28 -0
- package/dist/features/commit-quality/template.js +114 -0
- package/dist/features/commit-quality/types.js +2 -0
- package/dist/features/comparison/analyzer.js +222 -0
- package/dist/features/comparison/index.js +28 -0
- package/dist/features/comparison/template.js +119 -0
- package/dist/features/comparison/types.js +2 -0
- package/dist/features/contribution-graph/index.js +9 -0
- package/dist/features/contribution-graph/template.js +89 -0
- package/dist/features/events/index.js +31 -0
- package/dist/features/events/parser.js +253 -0
- package/dist/features/events/template.js +113 -0
- package/dist/features/events/types.js +2 -0
- package/dist/features/executive-summary/generator.js +275 -0
- package/dist/features/executive-summary/index.js +27 -0
- package/dist/features/executive-summary/template.js +80 -0
- package/dist/features/executive-summary/types.js +2 -0
- package/dist/features/gaps/analyzer.js +298 -0
- package/dist/features/gaps/analyzer.test.js +517 -0
- package/dist/features/gaps/index.js +27 -0
- package/dist/features/gaps/template.js +190 -0
- package/dist/features/gaps/types.js +2 -0
- package/dist/features/impact/analyzer.js +248 -0
- package/dist/features/impact/index.js +26 -0
- package/dist/features/impact/template.js +118 -0
- package/dist/features/impact/types.js +2 -0
- package/dist/features/index.js +40 -0
- package/dist/features/knowledge/analyzer.js +385 -0
- package/dist/features/knowledge/index.js +26 -0
- package/dist/features/knowledge/template.js +239 -0
- package/dist/features/knowledge/types.js +2 -0
- package/dist/features/streaks/calculator.js +184 -0
- package/dist/features/streaks/calculator.test.js +366 -0
- package/dist/features/streaks/index.js +36 -0
- package/dist/features/streaks/template.js +41 -0
- package/dist/features/streaks/types.js +9 -0
- package/dist/features/team/analyzer.js +316 -0
- package/dist/features/team/index.js +30 -0
- package/dist/features/team/template.js +146 -0
- package/dist/features/team/types.js +2 -0
- package/dist/features/time-patterns/analyzer.js +319 -0
- package/dist/features/time-patterns/analyzer.test.js +278 -0
- package/dist/features/time-patterns/index.js +37 -0
- package/dist/features/time-patterns/template.js +109 -0
- package/dist/features/time-patterns/types.js +9 -0
- package/dist/features/velocity/analyzer.js +257 -0
- package/dist/features/velocity/analyzer.test.js +383 -0
- package/dist/features/velocity/index.js +27 -0
- package/dist/features/velocity/template.js +189 -0
- package/dist/features/velocity/types.js +2 -0
- package/dist/generators/html/scripts/knowledge.js +17 -0
- package/dist/generators/html/styles/base.css +10 -6
- package/dist/generators/html/styles/components.css +121 -1
- package/dist/generators/html/styles/knowledge.css +21 -0
- package/dist/generators/html/styles/leaddev.css +1335 -0
- package/dist/generators/html/styles/strategic-insights.css +1337 -0
- package/dist/generators/html/templates/commitQualitySection.js +28 -2
- package/dist/generators/html/templates/comparisonSection.js +119 -0
- package/dist/generators/html/templates/eventsSection.js +113 -0
- package/dist/generators/html/templates/executiveSummarySection.js +80 -0
- package/dist/generators/html/templates/gapSection.js +190 -0
- package/dist/generators/html/templates/impactSection.js +8 -6
- package/dist/generators/html/templates/knowledgeSection.js +16 -2
- package/dist/generators/html/templates/teamSection.js +146 -0
- package/dist/generators/html/templates/velocitySection.js +189 -0
- package/dist/generators/html/types.js +7 -0
- package/dist/generators/html/utils/analysisRunner.js +93 -0
- package/dist/generators/html/utils/cardBuilder.js +47 -0
- package/dist/generators/html/utils/contextBuilder.js +54 -0
- package/dist/generators/html/utils/htmlDocumentBuilder.js +396 -0
- package/dist/generators/html/utils/kpiBuilder.js +76 -0
- package/dist/generators/html/utils/sectionWrapper.js +71 -0
- package/dist/generators/html/utils/styleLoader.js +2 -1
- package/dist/html/analysisRunner.js +93 -0
- package/dist/html/htmlDocumentBuilder.js +396 -0
- package/dist/html/index.js +29 -0
- package/dist/html/shared/colorUtils.js +61 -0
- package/dist/html/shared/commitMapBuilder.js +23 -0
- package/dist/html/shared/components/cardBuilder.js +47 -0
- package/dist/html/shared/components/index.js +18 -0
- package/dist/html/shared/components/kpiBuilder.js +76 -0
- package/dist/html/shared/components/sectionWrapper.js +71 -0
- package/dist/html/shared/contextBuilder.js +54 -0
- package/dist/html/shared/dateRangeCalculator.js +56 -0
- package/dist/html/shared/developerStatsCalculator.js +28 -0
- package/dist/html/shared/index.js +39 -0
- package/dist/html/shared/scriptLoader.js +15 -0
- package/dist/html/shared/scripts/export.js +125 -0
- package/dist/html/shared/scripts/knowledge.js +137 -0
- package/dist/html/shared/scripts/modal.js +68 -0
- package/dist/html/shared/scripts/navigation.js +156 -0
- package/dist/html/shared/scripts/tabs.js +18 -0
- package/dist/html/shared/scripts/tooltip.js +21 -0
- package/dist/html/shared/styleLoader.js +18 -0
- package/dist/html/shared/styles/achievements.css +387 -0
- package/dist/html/shared/styles/base.css +822 -0
- package/dist/html/shared/styles/components.css +1511 -0
- package/dist/html/shared/styles/knowledge.css +242 -0
- package/dist/html/shared/styles/strategic-insights.css +1337 -0
- package/dist/html/shared/weekGrouper.js +27 -0
- package/dist/html/types.js +7 -0
- package/dist/index.js +54 -21
- package/dist/test/helpers/commitFactory.js +166 -0
- package/dist/test/helpers/dateUtils.js +101 -0
- package/dist/test/helpers/index.js +29 -0
- package/dist/test/setup.js +17 -0
- package/dist/test/smoke.test.js +94 -0
- package/dist/types/achievements.js +7 -0
- package/dist/types/analysis.js +7 -0
- package/dist/types/core.js +7 -0
- package/dist/types/index.js +38 -0
- package/dist/types/options.js +7 -0
- package/dist/types/shared.js +7 -0
- package/dist/types/strategic.js +7 -0
- package/dist/types/summary.js +7 -0
- package/dist/utils/achievementDefinitions.js +22 -22
- package/dist/utils/analyzerContextBuilder.js +124 -0
- package/dist/utils/commitQualityAnalyzer.js +13 -2
- package/dist/utils/emptyResults.js +95 -0
- package/dist/utils/eventAnnotationParser.js +253 -0
- package/dist/utils/executiveSummaryGenerator.js +275 -0
- package/dist/utils/fileHotspotAnalyzer.js +4 -12
- package/dist/utils/gapAnalyzer.js +298 -0
- package/dist/utils/gitParser.test.js +363 -0
- package/dist/utils/htmlGenerator.js +126 -450
- package/dist/utils/impactAnalyzer.js +20 -19
- package/dist/utils/knowledgeDistributionAnalyzer.js +32 -27
- package/dist/utils/matrixGenerator.js +13 -13
- package/dist/utils/rangeComparisonAnalyzer.js +222 -0
- package/dist/utils/streakCalculator.js +77 -27
- package/dist/utils/teamAnalyzer.js +316 -0
- package/dist/utils/timePatternAnalyzer.js +18 -3
- package/dist/utils/velocityAnalyzer.js +257 -0
- package/dist/utils/wrappedGenerator.js +8 -8
- package/package.json +74 -55
- package/vitest.config.ts +46 -0
- package/dist/cli.js +0 -24
- package/dist/commands/index.js +0 -24
|
@@ -23,15 +23,19 @@
|
|
|
23
23
|
--accent-blue: #58a6ff;
|
|
24
24
|
--accent-blue-muted: #388bfd;
|
|
25
25
|
--accent-green: #3fb950;
|
|
26
|
+
--accent-green-light: #69db7c;
|
|
26
27
|
--accent-green-muted: #238636;
|
|
27
28
|
--accent-gold: #d4a72c;
|
|
28
29
|
--accent-gold-muted: #9e7a1f;
|
|
29
30
|
--accent-purple: #8b5cf6;
|
|
31
|
+
--accent-orange: #ff922b;
|
|
32
|
+
--accent-orange-light: #ffa94d;
|
|
30
33
|
|
|
31
34
|
/* Status Colors */
|
|
32
35
|
--status-success: #238636;
|
|
33
|
-
--status-warning: #
|
|
34
|
-
--status-
|
|
36
|
+
--status-warning: #ffd43b;
|
|
37
|
+
--status-warning-muted: #9e6a03;
|
|
38
|
+
--status-danger: #ff6b6b;
|
|
35
39
|
--status-info: #58a6ff;
|
|
36
40
|
|
|
37
41
|
/* Tier Colors (Muted) */
|
|
@@ -53,6 +57,7 @@
|
|
|
53
57
|
--radius-sm: 2px;
|
|
54
58
|
--radius-md: 4px;
|
|
55
59
|
--radius-lg: 6px;
|
|
60
|
+
--radius-xl: 12px;
|
|
56
61
|
|
|
57
62
|
/* Shadows */
|
|
58
63
|
--shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.1);
|
|
@@ -130,7 +135,7 @@ body {
|
|
|
130
135
|
border: 1px solid var(--border-default);
|
|
131
136
|
border-radius: var(--radius-lg);
|
|
132
137
|
padding: var(--spacing-lg);
|
|
133
|
-
|
|
138
|
+
min-width: 70vw;
|
|
134
139
|
box-shadow: var(--shadow-md);
|
|
135
140
|
}
|
|
136
141
|
|
|
@@ -356,7 +361,7 @@ h3 {
|
|
|
356
361
|
|
|
357
362
|
.filter-group {
|
|
358
363
|
display: flex;
|
|
359
|
-
align-items:
|
|
364
|
+
align-items: baseline;
|
|
360
365
|
gap: var(--spacing-sm);
|
|
361
366
|
}
|
|
362
367
|
|
|
@@ -547,7 +552,6 @@ h3 {
|
|
|
547
552
|
.sidebar-header {
|
|
548
553
|
padding: var(--spacing-md);
|
|
549
554
|
margin-bottom: var(--spacing-md);
|
|
550
|
-
border-bottom: 1px solid var(--border-default);
|
|
551
555
|
display: flex;
|
|
552
556
|
align-items: center;
|
|
553
557
|
justify-content: space-between;
|
|
@@ -662,7 +666,7 @@ h3 {
|
|
|
662
666
|
/* === Main Content === */
|
|
663
667
|
.main-content {
|
|
664
668
|
flex: 1;
|
|
665
|
-
min-width:
|
|
669
|
+
min-width: 70vw;
|
|
666
670
|
}
|
|
667
671
|
|
|
668
672
|
/* === Dashboard Section (Collapsible) === */
|
|
@@ -223,6 +223,49 @@
|
|
|
223
223
|
color: var(--text-link);
|
|
224
224
|
}
|
|
225
225
|
|
|
226
|
+
/* === Reusable Stat Card Base === */
|
|
227
|
+
.stat-card-base {
|
|
228
|
+
display: flex;
|
|
229
|
+
flex-direction: column;
|
|
230
|
+
align-items: center;
|
|
231
|
+
justify-content: center;
|
|
232
|
+
text-align: center;
|
|
233
|
+
gap: var(--spacing-sm);
|
|
234
|
+
padding: var(--spacing-md);
|
|
235
|
+
background: var(--bg-primary);
|
|
236
|
+
border: 1px solid var(--border-default);
|
|
237
|
+
border-radius: var(--radius-md);
|
|
238
|
+
transition: border-color var(--transition-fast);
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
.stat-card-base:hover {
|
|
242
|
+
border-color: var(--border-emphasis);
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
.stat-card-base .stat-icon {
|
|
246
|
+
font-size: 32px;
|
|
247
|
+
line-height: 1;
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
.stat-card-base .stat-label {
|
|
251
|
+
font-size: var(--font-size-sm);
|
|
252
|
+
color: var(--text-secondary);
|
|
253
|
+
text-transform: uppercase;
|
|
254
|
+
letter-spacing: 0.5px;
|
|
255
|
+
font-weight: var(--font-weight-medium);
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
.stat-card-base .stat-value {
|
|
259
|
+
font-size: 24px;
|
|
260
|
+
font-weight: var(--font-weight-semibold);
|
|
261
|
+
color: var(--text-primary);
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
.stat-card-base .stat-detail {
|
|
265
|
+
font-size: var(--font-size-sm);
|
|
266
|
+
color: var(--text-secondary);
|
|
267
|
+
}
|
|
268
|
+
|
|
226
269
|
/* === Streak Section === */
|
|
227
270
|
.streak-section {
|
|
228
271
|
margin-top: var(--spacing-xl);
|
|
@@ -624,7 +667,51 @@
|
|
|
624
667
|
font-weight: var(--font-weight-semibold);
|
|
625
668
|
background: var(--border-subtle);
|
|
626
669
|
padding: var(--spacing-xs) var(--spacing-sm);
|
|
627
|
-
border-radius:
|
|
670
|
+
border-radius: var(--radius-xl);
|
|
671
|
+
}
|
|
672
|
+
|
|
673
|
+
/* Subject Quality Breakdown */
|
|
674
|
+
.subject-quality-breakdown {
|
|
675
|
+
margin: var(--spacing-lg) 0;
|
|
676
|
+
padding: var(--spacing-md);
|
|
677
|
+
background: var(--bg-primary);
|
|
678
|
+
border: 1px solid var(--border-default);
|
|
679
|
+
border-radius: var(--radius-md);
|
|
680
|
+
}
|
|
681
|
+
|
|
682
|
+
.subject-quality-breakdown h3 {
|
|
683
|
+
margin-top: 0;
|
|
684
|
+
margin-bottom: var(--spacing-md);
|
|
685
|
+
}
|
|
686
|
+
|
|
687
|
+
.subject-metrics-grid {
|
|
688
|
+
display: grid;
|
|
689
|
+
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
|
|
690
|
+
gap: var(--spacing-md);
|
|
691
|
+
}
|
|
692
|
+
|
|
693
|
+
.subject-metric {
|
|
694
|
+
display: flex;
|
|
695
|
+
flex-direction: column;
|
|
696
|
+
gap: var(--spacing-xs);
|
|
697
|
+
padding: var(--spacing-sm);
|
|
698
|
+
background: var(--bg-secondary);
|
|
699
|
+
border-radius: var(--radius-sm);
|
|
700
|
+
}
|
|
701
|
+
|
|
702
|
+
.subject-metric .metric-icon {
|
|
703
|
+
font-size: var(--font-size-lg);
|
|
704
|
+
}
|
|
705
|
+
|
|
706
|
+
.subject-metric .metric-name {
|
|
707
|
+
font-size: var(--font-size-sm);
|
|
708
|
+
font-weight: var(--font-weight-medium);
|
|
709
|
+
color: var(--text-primary);
|
|
710
|
+
}
|
|
711
|
+
|
|
712
|
+
.subject-metric .metric-detail {
|
|
713
|
+
font-size: var(--font-size-xs);
|
|
714
|
+
color: var(--text-muted);
|
|
628
715
|
}
|
|
629
716
|
|
|
630
717
|
.types-grid {
|
|
@@ -1062,6 +1149,12 @@
|
|
|
1062
1149
|
color: var(--text-primary);
|
|
1063
1150
|
}
|
|
1064
1151
|
|
|
1152
|
+
.impact-content {
|
|
1153
|
+
display: flex;
|
|
1154
|
+
flex-direction: column;
|
|
1155
|
+
gap: 8px;
|
|
1156
|
+
}
|
|
1157
|
+
|
|
1065
1158
|
.impact-overview {
|
|
1066
1159
|
display: flex;
|
|
1067
1160
|
gap: var(--spacing-xl);
|
|
@@ -1124,12 +1217,18 @@
|
|
|
1124
1217
|
.impact-breakdown {
|
|
1125
1218
|
flex: 1;
|
|
1126
1219
|
min-width: 250px;
|
|
1220
|
+
margin-top: 0;
|
|
1221
|
+
}
|
|
1222
|
+
|
|
1223
|
+
.impact-breakdown h3 {
|
|
1224
|
+
margin-top: 0;
|
|
1127
1225
|
}
|
|
1128
1226
|
|
|
1129
1227
|
.breakdown-items {
|
|
1130
1228
|
display: flex;
|
|
1131
1229
|
flex-direction: column;
|
|
1132
1230
|
gap: var(--spacing-md);
|
|
1231
|
+
margin-top: var(--spacing-sm);
|
|
1133
1232
|
}
|
|
1134
1233
|
|
|
1135
1234
|
.breakdown-item {
|
|
@@ -1147,6 +1246,19 @@
|
|
|
1147
1246
|
.breakdown-label { color: var(--text-secondary); }
|
|
1148
1247
|
.breakdown-value { color: var(--text-primary); font-weight: var(--font-weight-medium); }
|
|
1149
1248
|
|
|
1249
|
+
.info-tooltip {
|
|
1250
|
+
color: var(--text-muted);
|
|
1251
|
+
cursor: help;
|
|
1252
|
+
font-size: 0.85em;
|
|
1253
|
+
margin-left: 4px;
|
|
1254
|
+
opacity: 0.6;
|
|
1255
|
+
transition: opacity 0.2s;
|
|
1256
|
+
}
|
|
1257
|
+
|
|
1258
|
+
.info-tooltip:hover {
|
|
1259
|
+
opacity: 1;
|
|
1260
|
+
}
|
|
1261
|
+
|
|
1150
1262
|
.breakdown-bar {
|
|
1151
1263
|
height: 8px;
|
|
1152
1264
|
background: var(--border-subtle);
|
|
@@ -1225,6 +1337,14 @@
|
|
|
1225
1337
|
color: var(--accent-blue);
|
|
1226
1338
|
}
|
|
1227
1339
|
|
|
1340
|
+
.impact-files {
|
|
1341
|
+
margin-top: var(--spacing-lg);
|
|
1342
|
+
}
|
|
1343
|
+
|
|
1344
|
+
.impact-files h3 {
|
|
1345
|
+
margin-bottom: var(--spacing-sm);
|
|
1346
|
+
}
|
|
1347
|
+
|
|
1228
1348
|
.insights-list,
|
|
1229
1349
|
.recommendations {
|
|
1230
1350
|
margin-top: var(--spacing-lg);
|
|
@@ -214,6 +214,27 @@
|
|
|
214
214
|
text-align: center;
|
|
215
215
|
}
|
|
216
216
|
|
|
217
|
+
.more-files-btn {
|
|
218
|
+
display: block;
|
|
219
|
+
width: 100%;
|
|
220
|
+
padding: var(--spacing-sm) var(--spacing-md);
|
|
221
|
+
margin-top: var(--spacing-sm);
|
|
222
|
+
background: var(--bg-tertiary);
|
|
223
|
+
border: 1px solid var(--border-default);
|
|
224
|
+
border-radius: var(--radius-sm);
|
|
225
|
+
color: var(--text-secondary);
|
|
226
|
+
font-size: var(--font-size-sm);
|
|
227
|
+
cursor: pointer;
|
|
228
|
+
transition: all 0.2s ease;
|
|
229
|
+
text-align: center;
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
.more-files-btn:hover {
|
|
233
|
+
background: var(--bg-secondary);
|
|
234
|
+
color: var(--text-primary);
|
|
235
|
+
border-color: var(--border-emphasis);
|
|
236
|
+
}
|
|
237
|
+
|
|
217
238
|
/* Risk Badge Enhancement for Files */
|
|
218
239
|
.file-table .risk-badge {
|
|
219
240
|
font-size: var(--font-size-xs);
|