claude-code-templates 1.28.10 → 1.28.12
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/package.json +1 -1
- package/src/analytics-web/2025.html +29 -24
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "claude-code-templates",
|
|
3
|
-
"version": "1.28.
|
|
3
|
+
"version": "1.28.12",
|
|
4
4
|
"description": "CLI tool to setup Claude Code configurations with framework-specific commands, automation hooks and MCP Servers for your projects",
|
|
5
5
|
"main": "src/index.js",
|
|
6
6
|
"bin": {
|
|
@@ -52,11 +52,12 @@
|
|
|
52
52
|
top: 20px;
|
|
53
53
|
left: 20px;
|
|
54
54
|
background: rgba(10, 10, 15, 0.8);
|
|
55
|
-
padding:
|
|
56
|
-
border-radius:
|
|
55
|
+
padding: 30px;
|
|
56
|
+
border-radius: 12px;
|
|
57
57
|
border: 1px solid rgba(255,255,255,0.1);
|
|
58
58
|
backdrop-filter: blur(10px);
|
|
59
59
|
pointer-events: auto;
|
|
60
|
+
min-width: 280px;
|
|
60
61
|
}
|
|
61
62
|
|
|
62
63
|
.current-date {
|
|
@@ -64,14 +65,15 @@
|
|
|
64
65
|
}
|
|
65
66
|
|
|
66
67
|
.stat-line {
|
|
67
|
-
font-size:
|
|
68
|
-
margin:
|
|
68
|
+
font-size: 16px;
|
|
69
|
+
margin: 8px 0;
|
|
69
70
|
opacity: 0.9;
|
|
70
71
|
}
|
|
71
72
|
|
|
72
73
|
.stat-value {
|
|
73
74
|
color: var(--text-accent);
|
|
74
75
|
font-weight: 600;
|
|
76
|
+
font-size: 18px;
|
|
75
77
|
}
|
|
76
78
|
|
|
77
79
|
.legend {
|
|
@@ -359,7 +361,6 @@
|
|
|
359
361
|
<div class="stat-line">Conversations: <span class="stat-value" id="statConversations">0</span></div>
|
|
360
362
|
<div class="stat-line">Components: <span class="stat-value" id="statComponents">0</span></div>
|
|
361
363
|
<div class="stat-line">Tool Calls: <span class="stat-value" id="statTools">0</span></div>
|
|
362
|
-
<div class="stat-line">Active Days: <span class="stat-value" id="statDays">0</span></div>
|
|
363
364
|
</div>
|
|
364
365
|
|
|
365
366
|
<div class="legend">
|
|
@@ -412,7 +413,9 @@
|
|
|
412
413
|
let speedMultiplier = 5; // Fixed at 5x speed
|
|
413
414
|
let startTime = null;
|
|
414
415
|
let currentDayIndex = 0;
|
|
415
|
-
let stats = { conversations: 0, components: 0, tools: 0
|
|
416
|
+
let stats = { conversations: 0, components: 0, tools: 0 };
|
|
417
|
+
let statsTarget = { conversations: 0, components: 0, tools: 0 }; // Target values for animation
|
|
418
|
+
let statsDisplay = { conversations: 0, components: 0, tools: 0 }; // Current animated values
|
|
416
419
|
let processedEvents = new Set();
|
|
417
420
|
let shownMilestones = new Set();
|
|
418
421
|
let toolNodes = new Map(); // Map of tool name -> tool node
|
|
@@ -1916,7 +1919,7 @@
|
|
|
1916
1919
|
|
|
1917
1920
|
if (event.type === 'conversation') {
|
|
1918
1921
|
console.log(`🎬 Processing conversation: ${event.count} conversations`);
|
|
1919
|
-
|
|
1922
|
+
statsTarget.conversations += event.count;
|
|
1920
1923
|
|
|
1921
1924
|
// Process models using actual counts
|
|
1922
1925
|
if (event.models && event.models.length > 0) {
|
|
@@ -1939,14 +1942,6 @@
|
|
|
1939
1942
|
updateModelsList();
|
|
1940
1943
|
}
|
|
1941
1944
|
|
|
1942
|
-
const uniqueDays = new Set();
|
|
1943
|
-
animationData.timeline.forEach((e, i) => {
|
|
1944
|
-
if (processedEvents.has(i)) {
|
|
1945
|
-
uniqueDays.add(Math.floor(e.dayOfYear));
|
|
1946
|
-
}
|
|
1947
|
-
});
|
|
1948
|
-
stats.days = uniqueDays.size;
|
|
1949
|
-
|
|
1950
1945
|
} else if (event.type === 'component') {
|
|
1951
1946
|
console.log(`📦 Processing component: ${event.name} (${event.componentType})`);
|
|
1952
1947
|
addComponent(event.name, event.componentType);
|
|
@@ -1967,8 +1962,8 @@
|
|
|
1967
1962
|
node.addUse();
|
|
1968
1963
|
}
|
|
1969
1964
|
|
|
1970
|
-
// Update stats
|
|
1971
|
-
|
|
1965
|
+
// Update stats target (will animate gradually)
|
|
1966
|
+
statsTarget.tools += event.count;
|
|
1972
1967
|
|
|
1973
1968
|
// Create beam - OPTIMIZED: Add to queue instead of directly to beams
|
|
1974
1969
|
const beam = new Beam(node, event.toolName);
|
|
@@ -1985,6 +1980,9 @@
|
|
|
1985
1980
|
node.addUse();
|
|
1986
1981
|
}
|
|
1987
1982
|
|
|
1983
|
+
// Update stats target (will animate gradually)
|
|
1984
|
+
statsTarget.components += useCount;
|
|
1985
|
+
|
|
1988
1986
|
// Create beam to this component node - OPTIMIZED: Add to queue
|
|
1989
1987
|
const beam = new Beam(node, event.name);
|
|
1990
1988
|
beamQueue.push(beam);
|
|
@@ -2003,11 +2001,16 @@
|
|
|
2003
2001
|
recalculateModelPercentages();
|
|
2004
2002
|
}
|
|
2005
2003
|
|
|
2006
|
-
//
|
|
2007
|
-
|
|
2008
|
-
|
|
2009
|
-
|
|
2010
|
-
|
|
2004
|
+
// Animate stats display towards target values (smooth counting up)
|
|
2005
|
+
const animationSpeed = 0.1; // Speed of counter animation
|
|
2006
|
+
statsDisplay.conversations += (statsTarget.conversations - statsDisplay.conversations) * animationSpeed;
|
|
2007
|
+
statsDisplay.components += (statsTarget.components - statsDisplay.components) * animationSpeed;
|
|
2008
|
+
statsDisplay.tools += (statsTarget.tools - statsDisplay.tools) * animationSpeed;
|
|
2009
|
+
|
|
2010
|
+
// Update stats display (rounded to integers)
|
|
2011
|
+
document.getElementById('statConversations').textContent = Math.floor(statsDisplay.conversations);
|
|
2012
|
+
document.getElementById('statComponents').textContent = Math.floor(statsDisplay.components);
|
|
2013
|
+
document.getElementById('statTools').textContent = Math.floor(statsDisplay.tools);
|
|
2011
2014
|
|
|
2012
2015
|
// Check milestones
|
|
2013
2016
|
const milestones = [
|
|
@@ -2018,7 +2021,7 @@
|
|
|
2018
2021
|
];
|
|
2019
2022
|
|
|
2020
2023
|
milestones.forEach(m => {
|
|
2021
|
-
if (
|
|
2024
|
+
if (statsTarget.conversations >= m.threshold && !shownMilestones.has(m.threshold)) {
|
|
2022
2025
|
shownMilestones.add(m.threshold);
|
|
2023
2026
|
// showEvent(m.msg); // Disabled - notifications removed
|
|
2024
2027
|
}
|
|
@@ -2134,7 +2137,9 @@
|
|
|
2134
2137
|
|
|
2135
2138
|
// Controls
|
|
2136
2139
|
function restartAnimation() {
|
|
2137
|
-
stats = { conversations: 0, components: 0, tools: 0
|
|
2140
|
+
stats = { conversations: 0, components: 0, tools: 0 };
|
|
2141
|
+
statsTarget = { conversations: 0, components: 0, tools: 0 };
|
|
2142
|
+
statsDisplay = { conversations: 0, components: 0, tools: 0 };
|
|
2138
2143
|
processedEvents.clear();
|
|
2139
2144
|
shownMilestones.clear();
|
|
2140
2145
|
currentDayIndex = 0;
|