claude-code-templates 1.28.4 → 1.28.5
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
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "claude-code-templates",
|
|
3
|
-
"version": "1.28.
|
|
3
|
+
"version": "1.28.5",
|
|
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": {
|
|
@@ -904,19 +904,54 @@ class YearInReview2025 {
|
|
|
904
904
|
}
|
|
905
905
|
|
|
906
906
|
const subagents = Array.from(agentData.values());
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
|
|
907
|
+
|
|
908
|
+
// Group subagents by type for cleaner visualization
|
|
909
|
+
const groupedByType = {};
|
|
910
|
+
subagents.forEach(agent => {
|
|
911
|
+
const type = agent.type || 'Unknown';
|
|
912
|
+
if (!groupedByType[type]) {
|
|
913
|
+
groupedByType[type] = { count: 0, timestamps: [] };
|
|
914
|
+
}
|
|
915
|
+
groupedByType[type].count++;
|
|
916
|
+
if (agent.timestamp && agent.timestamp.getFullYear() === 2025) {
|
|
917
|
+
groupedByType[type].timestamps.push(agent.timestamp);
|
|
918
|
+
}
|
|
919
|
+
});
|
|
920
|
+
|
|
921
|
+
// Create events grouped by type (one event per type per day)
|
|
922
|
+
const subagentEvents = [];
|
|
923
|
+
Object.entries(groupedByType).forEach(([type, data]) => {
|
|
924
|
+
// Group timestamps by day to avoid too many events
|
|
925
|
+
const dayMap = new Map();
|
|
926
|
+
data.timestamps.forEach(ts => {
|
|
927
|
+
const dayKey = ts.toISOString().split('T')[0];
|
|
928
|
+
if (!dayMap.has(dayKey)) {
|
|
929
|
+
dayMap.set(dayKey, { count: 0, timestamp: ts });
|
|
930
|
+
}
|
|
931
|
+
dayMap.get(dayKey).count++;
|
|
932
|
+
});
|
|
933
|
+
|
|
934
|
+
// Create one event per day per type
|
|
935
|
+
dayMap.forEach((dayData, dayKey) => {
|
|
936
|
+
subagentEvents.push({
|
|
937
|
+
name: type, // Just "Plan" or "Explore", not "Plan-a68a"
|
|
938
|
+
timestamp: dayData.timestamp,
|
|
939
|
+
type: type,
|
|
940
|
+
count: dayData.count // How many times used that day
|
|
941
|
+
});
|
|
942
|
+
});
|
|
943
|
+
});
|
|
944
|
+
|
|
945
|
+
subagentEvents.sort((a, b) => a.timestamp - b.timestamp);
|
|
915
946
|
|
|
916
947
|
return {
|
|
917
|
-
subagents:
|
|
948
|
+
subagents: Object.entries(groupedByType).map(([type, data]) => ({
|
|
949
|
+
type,
|
|
950
|
+
count: data.count
|
|
951
|
+
})),
|
|
918
952
|
total: subagents.length,
|
|
919
|
-
events: subagentEvents
|
|
953
|
+
events: subagentEvents,
|
|
954
|
+
grouped: groupedByType // Include grouped data for display
|
|
920
955
|
};
|
|
921
956
|
} catch (error) {
|
|
922
957
|
console.warn('Could not analyze subagents:', error.message);
|
|
@@ -1637,19 +1637,20 @@
|
|
|
1637
1637
|
}
|
|
1638
1638
|
|
|
1639
1639
|
if (data.subagents && data.subagents.events) {
|
|
1640
|
-
console.log(`🤖 Adding ${data.subagents.events.length} subagent events to timeline`);
|
|
1640
|
+
console.log(`🤖 Adding ${data.subagents.events.length} subagent events to timeline (grouped by type)`);
|
|
1641
1641
|
data.subagents.events.forEach((event, index) => {
|
|
1642
1642
|
const eventDate = new Date(event.timestamp);
|
|
1643
1643
|
const eventDayOfYear = getDayOfYear(eventDate);
|
|
1644
1644
|
timeline.push({
|
|
1645
1645
|
type: 'component-layer2',
|
|
1646
1646
|
componentType: 'subagent',
|
|
1647
|
-
name: event.name,
|
|
1647
|
+
name: event.name, // Now just "Plan" or "Explore", not "Plan-a68a"
|
|
1648
1648
|
date: eventDate,
|
|
1649
|
-
dayOfYear: eventDayOfYear
|
|
1649
|
+
dayOfYear: eventDayOfYear,
|
|
1650
|
+
count: event.count || 1 // How many times used that day
|
|
1650
1651
|
});
|
|
1651
1652
|
if (index === 0) {
|
|
1652
|
-
console.log(` - First subagent "${event.name}": date=${eventDate.toLocaleDateString()}, dayOfYear=${eventDayOfYear.toFixed(3)}`);
|
|
1653
|
+
console.log(` - First subagent "${event.name}": date=${eventDate.toLocaleDateString()}, dayOfYear=${eventDayOfYear.toFixed(3)}, count=${event.count || 1}`);
|
|
1653
1654
|
}
|
|
1654
1655
|
});
|
|
1655
1656
|
}
|
|
@@ -1922,13 +1923,18 @@
|
|
|
1922
1923
|
// showEvent(`Installed: ${event.name}`); // Disabled - notifications removed
|
|
1923
1924
|
} else if (event.type === 'component-layer2') {
|
|
1924
1925
|
const node = getOrCreateComponentNode(event.name, event.componentType);
|
|
1925
|
-
|
|
1926
|
+
|
|
1927
|
+
// Add uses based on event count (for grouped subagents)
|
|
1928
|
+
const useCount = event.count || 1;
|
|
1929
|
+
for (let j = 0; j < useCount; j++) {
|
|
1930
|
+
node.addUse();
|
|
1931
|
+
}
|
|
1926
1932
|
|
|
1927
1933
|
// Create beam to this component node
|
|
1928
1934
|
const beam = new Beam(node, event.name);
|
|
1929
1935
|
beams.push(beam);
|
|
1930
1936
|
|
|
1931
|
-
console.log(`🔷 ${event.componentType}: ${event.name} at ${event.date?.toLocaleDateString()} (
|
|
1937
|
+
console.log(`🔷 ${event.componentType}: ${event.name} at ${event.date?.toLocaleDateString()} (added: ${useCount}, total: ${node.count}, size: ${node.targetSize.toFixed(1)})`);
|
|
1932
1938
|
}
|
|
1933
1939
|
}
|
|
1934
1940
|
});
|