repo-wrapped 0.0.7 → 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.
Files changed (172) hide show
  1. package/.github/agents/complete.agent.md +257 -0
  2. package/.github/agents/feature-scaffold.agent.md +248 -0
  3. package/.github/agents/jsdoc.agent.md +243 -0
  4. package/.github/agents/plan.agent.md +202 -0
  5. package/.github/agents/spec-writer.agent.md +169 -0
  6. package/.github/agents/test-writer.agent.md +169 -0
  7. package/.stylelintrc.json +27 -0
  8. package/README.md +94 -94
  9. package/coverage/base.css +224 -0
  10. package/coverage/block-navigation.js +87 -0
  11. package/coverage/favicon.png +0 -0
  12. package/coverage/index.html +446 -0
  13. package/coverage/lcov-report/base.css +224 -0
  14. package/coverage/lcov-report/block-navigation.js +87 -0
  15. package/coverage/lcov-report/favicon.png +0 -0
  16. package/coverage/lcov-report/index.html +446 -0
  17. package/coverage/lcov-report/prettify.css +1 -0
  18. package/coverage/lcov-report/prettify.js +2 -0
  19. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  20. package/coverage/lcov-report/sorter.js +210 -0
  21. package/coverage/lcov.info +7039 -0
  22. package/coverage/prettify.css +1 -0
  23. package/coverage/prettify.js +2 -0
  24. package/coverage/sort-arrow-sprite.png +0 -0
  25. package/coverage/sorter.js +210 -0
  26. package/dist/commands/generate.js +56 -56
  27. package/dist/config/defaults.js +158 -0
  28. package/dist/config/index.js +10 -0
  29. package/dist/features/achievements/data/achievements.json +284 -0
  30. package/dist/features/achievements/engine.js +140 -0
  31. package/dist/features/achievements/evaluators.js +246 -0
  32. package/dist/features/achievements/helpers.js +58 -0
  33. package/dist/features/achievements/index.js +57 -0
  34. package/dist/features/achievements/loader.js +88 -0
  35. package/dist/features/achievements/template.js +155 -0
  36. package/dist/features/achievements/types.js +7 -0
  37. package/dist/features/commit-quality/analyzer.js +378 -0
  38. package/dist/features/commit-quality/analyzer.test.js +484 -0
  39. package/dist/features/commit-quality/index.js +28 -0
  40. package/dist/features/commit-quality/template.js +114 -0
  41. package/dist/features/commit-quality/types.js +2 -0
  42. package/dist/features/comparison/analyzer.js +222 -0
  43. package/dist/features/comparison/index.js +28 -0
  44. package/dist/features/comparison/template.js +119 -0
  45. package/dist/features/comparison/types.js +2 -0
  46. package/dist/features/contribution-graph/index.js +9 -0
  47. package/dist/features/contribution-graph/template.js +89 -0
  48. package/dist/features/events/index.js +31 -0
  49. package/dist/features/events/parser.js +253 -0
  50. package/dist/features/events/template.js +113 -0
  51. package/dist/features/events/types.js +2 -0
  52. package/dist/features/executive-summary/generator.js +275 -0
  53. package/dist/features/executive-summary/index.js +27 -0
  54. package/dist/features/executive-summary/template.js +80 -0
  55. package/dist/features/executive-summary/types.js +2 -0
  56. package/dist/features/gaps/analyzer.js +298 -0
  57. package/dist/features/gaps/analyzer.test.js +517 -0
  58. package/dist/features/gaps/index.js +27 -0
  59. package/dist/features/gaps/template.js +190 -0
  60. package/dist/features/gaps/types.js +2 -0
  61. package/dist/features/impact/analyzer.js +248 -0
  62. package/dist/features/impact/index.js +26 -0
  63. package/dist/features/impact/template.js +118 -0
  64. package/dist/features/impact/types.js +2 -0
  65. package/dist/features/index.js +40 -0
  66. package/dist/features/knowledge/analyzer.js +385 -0
  67. package/dist/features/knowledge/index.js +26 -0
  68. package/dist/features/knowledge/template.js +239 -0
  69. package/dist/features/knowledge/types.js +2 -0
  70. package/dist/features/streaks/calculator.js +184 -0
  71. package/dist/features/streaks/calculator.test.js +366 -0
  72. package/dist/features/streaks/index.js +36 -0
  73. package/dist/features/streaks/template.js +41 -0
  74. package/dist/features/streaks/types.js +9 -0
  75. package/dist/features/team/analyzer.js +316 -0
  76. package/dist/features/team/index.js +30 -0
  77. package/dist/features/team/template.js +146 -0
  78. package/dist/features/team/types.js +2 -0
  79. package/dist/features/time-patterns/analyzer.js +319 -0
  80. package/dist/features/time-patterns/analyzer.test.js +278 -0
  81. package/dist/features/time-patterns/index.js +37 -0
  82. package/dist/features/time-patterns/template.js +109 -0
  83. package/dist/features/time-patterns/types.js +9 -0
  84. package/dist/features/velocity/analyzer.js +257 -0
  85. package/dist/features/velocity/analyzer.test.js +383 -0
  86. package/dist/features/velocity/index.js +27 -0
  87. package/dist/features/velocity/template.js +189 -0
  88. package/dist/features/velocity/types.js +2 -0
  89. package/dist/generators/html/scripts/knowledge.js +17 -0
  90. package/dist/generators/html/styles/base.css +8 -3
  91. package/dist/generators/html/styles/components.css +121 -1
  92. package/dist/generators/html/styles/knowledge.css +21 -0
  93. package/dist/generators/html/styles/leaddev.css +108 -48
  94. package/dist/generators/html/styles/strategic-insights.css +1337 -0
  95. package/dist/generators/html/templates/commitQualitySection.js +28 -2
  96. package/dist/generators/html/templates/executiveSummarySection.js +0 -4
  97. package/dist/generators/html/templates/impactSection.js +8 -6
  98. package/dist/generators/html/templates/knowledgeSection.js +16 -2
  99. package/dist/generators/html/templates/velocitySection.js +2 -2
  100. package/dist/generators/html/types.js +7 -0
  101. package/dist/generators/html/utils/analysisRunner.js +93 -0
  102. package/dist/generators/html/utils/cardBuilder.js +47 -0
  103. package/dist/generators/html/utils/contextBuilder.js +54 -0
  104. package/dist/generators/html/utils/htmlDocumentBuilder.js +396 -0
  105. package/dist/generators/html/utils/kpiBuilder.js +76 -0
  106. package/dist/generators/html/utils/sectionWrapper.js +71 -0
  107. package/dist/generators/html/utils/styleLoader.js +2 -2
  108. package/dist/html/analysisRunner.js +93 -0
  109. package/dist/html/htmlDocumentBuilder.js +396 -0
  110. package/dist/html/index.js +29 -0
  111. package/dist/html/shared/colorUtils.js +61 -0
  112. package/dist/html/shared/commitMapBuilder.js +23 -0
  113. package/dist/html/shared/components/cardBuilder.js +47 -0
  114. package/dist/html/shared/components/index.js +18 -0
  115. package/dist/html/shared/components/kpiBuilder.js +76 -0
  116. package/dist/html/shared/components/sectionWrapper.js +71 -0
  117. package/dist/html/shared/contextBuilder.js +54 -0
  118. package/dist/html/shared/dateRangeCalculator.js +56 -0
  119. package/dist/html/shared/developerStatsCalculator.js +28 -0
  120. package/dist/html/shared/index.js +39 -0
  121. package/dist/html/shared/scriptLoader.js +15 -0
  122. package/dist/html/shared/scripts/export.js +125 -0
  123. package/dist/html/shared/scripts/knowledge.js +137 -0
  124. package/dist/html/shared/scripts/modal.js +68 -0
  125. package/dist/html/shared/scripts/navigation.js +156 -0
  126. package/dist/html/shared/scripts/tabs.js +18 -0
  127. package/dist/html/shared/scripts/tooltip.js +21 -0
  128. package/dist/html/shared/styleLoader.js +18 -0
  129. package/dist/html/shared/styles/achievements.css +387 -0
  130. package/dist/html/shared/styles/base.css +822 -0
  131. package/dist/html/shared/styles/components.css +1511 -0
  132. package/dist/html/shared/styles/knowledge.css +242 -0
  133. package/dist/html/shared/styles/strategic-insights.css +1337 -0
  134. package/dist/html/shared/weekGrouper.js +27 -0
  135. package/dist/html/types.js +7 -0
  136. package/dist/index.js +39 -39
  137. package/dist/test/helpers/commitFactory.js +166 -0
  138. package/dist/test/helpers/dateUtils.js +101 -0
  139. package/dist/test/helpers/index.js +29 -0
  140. package/dist/test/setup.js +17 -0
  141. package/dist/test/smoke.test.js +94 -0
  142. package/dist/types/achievements.js +7 -0
  143. package/dist/types/analysis.js +7 -0
  144. package/dist/types/core.js +7 -0
  145. package/dist/types/index.js +38 -0
  146. package/dist/types/options.js +7 -0
  147. package/dist/types/shared.js +7 -0
  148. package/dist/types/strategic.js +7 -0
  149. package/dist/types/summary.js +7 -0
  150. package/dist/utils/achievementDefinitions.js +22 -22
  151. package/dist/utils/analyzerContextBuilder.js +124 -0
  152. package/dist/utils/commitQualityAnalyzer.js +13 -2
  153. package/dist/utils/emptyResults.js +95 -0
  154. package/dist/utils/fileHotspotAnalyzer.js +4 -12
  155. package/dist/utils/gapAnalyzer.js +26 -28
  156. package/dist/utils/gitParser.test.js +363 -0
  157. package/dist/utils/htmlGenerator.js +62 -466
  158. package/dist/utils/impactAnalyzer.js +20 -19
  159. package/dist/utils/knowledgeDistributionAnalyzer.js +32 -27
  160. package/dist/utils/matrixGenerator.js +13 -13
  161. package/dist/utils/rangeComparisonAnalyzer.js +2 -2
  162. package/dist/utils/streakCalculator.js +77 -27
  163. package/dist/utils/teamAnalyzer.js +20 -1
  164. package/dist/utils/timePatternAnalyzer.js +18 -3
  165. package/dist/utils/velocityAnalyzer.js +23 -18
  166. package/dist/utils/wrappedGenerator.js +8 -8
  167. package/package.json +74 -64
  168. package/vitest.config.ts +46 -0
  169. package/SPECS.md +0 -490
  170. package/dist/cli.js +0 -24
  171. package/dist/commands/index.js +0 -24
  172. package/test-team.txt +0 -2
@@ -0,0 +1,242 @@
1
+ /* === Knowledge Distribution Section === */
2
+
3
+ /* Deep Analysis Badge */
4
+ .deep-analysis-badge {
5
+ display: inline-block;
6
+ background: var(--accent-blue);
7
+ color: var(--text-primary);
8
+ font-size: var(--font-size-xs);
9
+ font-weight: var(--font-weight-medium);
10
+ padding: var(--spacing-xs) var(--spacing-sm);
11
+ border-radius: var(--radius-full);
12
+ margin-left: var(--spacing-sm);
13
+ vertical-align: middle;
14
+ }
15
+
16
+ /* Knowledge Table */
17
+ .knowledge-table {
18
+ width: 100%;
19
+ border-collapse: collapse;
20
+ }
21
+
22
+ .knowledge-table th.expandable-header {
23
+ padding-left: calc(var(--spacing-md) + 16px);
24
+ }
25
+
26
+ /* Expandable Rows */
27
+ .expandable-row {
28
+ cursor: pointer;
29
+ transition: background-color var(--transition-fast);
30
+ }
31
+
32
+ .expandable-row:hover {
33
+ background-color: var(--bg-secondary);
34
+ }
35
+
36
+ .expandable-row:focus {
37
+ outline: 2px solid var(--accent-blue);
38
+ outline-offset: -2px;
39
+ }
40
+
41
+ .expandable-row .dir-path {
42
+ display: flex;
43
+ align-items: center;
44
+ gap: var(--spacing-xs);
45
+ }
46
+
47
+ .expand-icon {
48
+ display: inline-block;
49
+ width: 16px;
50
+ font-size: 10px;
51
+ color: var(--text-secondary);
52
+ transition: transform var(--transition-fast);
53
+ }
54
+
55
+ .expandable-row.expanded .expand-icon {
56
+ transform: rotate(90deg);
57
+ }
58
+
59
+ /* Last Activity Column */
60
+ .last-activity {
61
+ font-family: var(--font-mono);
62
+ font-size: var(--font-size-sm);
63
+ color: var(--text-secondary);
64
+ }
65
+
66
+ /* Expanded Content Row */
67
+ .expanded-content {
68
+ background: var(--bg-secondary);
69
+ }
70
+
71
+ .expanded-content.hidden {
72
+ display: none;
73
+ }
74
+
75
+ .expansion-panel {
76
+ padding: var(--spacing-md) var(--spacing-lg);
77
+ overflow: hidden;
78
+ transition: max-height 0.3s ease-out, opacity 0.2s ease-out;
79
+ }
80
+
81
+ /* Contributor Breakdown */
82
+ .contributor-breakdown {
83
+ margin-bottom: var(--spacing-lg);
84
+ }
85
+
86
+ .contributor-breakdown h4,
87
+ .file-breakdown h4 {
88
+ font-size: var(--font-size-sm);
89
+ font-weight: var(--font-weight-semibold);
90
+ color: var(--text-secondary);
91
+ margin-bottom: var(--spacing-sm);
92
+ text-transform: uppercase;
93
+ letter-spacing: 0.05em;
94
+ }
95
+
96
+ .contributors-list {
97
+ display: grid;
98
+ grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
99
+ gap: var(--spacing-md);
100
+ }
101
+
102
+ .contributor-item {
103
+ background: var(--bg-tertiary);
104
+ border-radius: var(--radius-md);
105
+ padding: var(--spacing-sm) var(--spacing-md);
106
+ }
107
+
108
+ .contributor-name {
109
+ font-weight: var(--font-weight-medium);
110
+ color: var(--text-primary);
111
+ display: block;
112
+ margin-bottom: var(--spacing-xs);
113
+ }
114
+
115
+ .contributor-stats {
116
+ display: flex;
117
+ gap: var(--spacing-md);
118
+ font-size: var(--font-size-xs);
119
+ color: var(--text-secondary);
120
+ margin-bottom: var(--spacing-xs);
121
+ }
122
+
123
+ .contributor-commits {
124
+ color: var(--text-secondary);
125
+ }
126
+
127
+ .contributor-percent {
128
+ font-weight: var(--font-weight-medium);
129
+ color: var(--accent-blue);
130
+ }
131
+
132
+ .contributor-age {
133
+ font-family: var(--font-mono);
134
+ }
135
+
136
+ .contributor-bar {
137
+ height: 4px;
138
+ background: var(--bg-primary);
139
+ border-radius: var(--radius-full);
140
+ overflow: hidden;
141
+ }
142
+
143
+ .contributor-fill {
144
+ height: 100%;
145
+ background: linear-gradient(90deg, var(--accent-blue), var(--accent-purple));
146
+ border-radius: var(--radius-full);
147
+ transition: width 0.3s ease-out;
148
+ }
149
+
150
+ /* File Breakdown Table */
151
+ .file-breakdown {
152
+ margin-top: var(--spacing-md);
153
+ }
154
+
155
+ .file-table {
156
+ width: 100%;
157
+ border-collapse: collapse;
158
+ font-size: var(--font-size-sm);
159
+ }
160
+
161
+ .file-table th {
162
+ text-align: left;
163
+ font-weight: var(--font-weight-medium);
164
+ color: var(--text-secondary);
165
+ padding: var(--spacing-xs) var(--spacing-sm);
166
+ border-bottom: 1px solid var(--border-subtle);
167
+ font-size: var(--font-size-xs);
168
+ text-transform: uppercase;
169
+ letter-spacing: 0.05em;
170
+ }
171
+
172
+ .file-table td {
173
+ padding: var(--spacing-xs) var(--spacing-sm);
174
+ border-bottom: 1px solid var(--border-subtle);
175
+ }
176
+
177
+ .file-table tr:last-child td {
178
+ border-bottom: none;
179
+ }
180
+
181
+ .file-table tr.high-risk-file {
182
+ background-color: rgba(255, 87, 87, 0.08);
183
+ }
184
+
185
+ .file-path {
186
+ font-family: var(--font-mono);
187
+ font-size: var(--font-size-xs);
188
+ color: var(--text-primary);
189
+ max-width: 200px;
190
+ overflow: hidden;
191
+ text-overflow: ellipsis;
192
+ white-space: nowrap;
193
+ }
194
+
195
+ .file-owner {
196
+ color: var(--text-secondary);
197
+ }
198
+
199
+ .file-ownership {
200
+ font-family: var(--font-mono);
201
+ color: var(--text-primary);
202
+ }
203
+
204
+ .file-age {
205
+ font-family: var(--font-mono);
206
+ color: var(--text-secondary);
207
+ }
208
+
209
+ .more-files {
210
+ font-size: var(--font-size-xs);
211
+ color: var(--text-secondary);
212
+ font-style: italic;
213
+ margin-top: var(--spacing-sm);
214
+ text-align: center;
215
+ }
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
+
238
+ /* Risk Badge Enhancement for Files */
239
+ .file-table .risk-badge {
240
+ font-size: var(--font-size-xs);
241
+ padding: 2px 6px;
242
+ }