summaryrefslogtreecommitdiff
path: root/internal/showcase
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2025-07-09 00:10:37 +0300
committerPaul Buetow <paul@buetow.org>2025-07-09 00:10:37 +0300
commit39c54d9dbeb907f02e0bc35a8516bd697e0e43d7 (patch)
tree615491d6eca629c0016b43d2ba4c796b33f09a43 /internal/showcase
parentad18b17927c76f052d64313466dc7c117ff7719d (diff)
feat: add release status statistics to overall project summary
- Count projects with version tags vs experimental projects - Display release statistics in overall stats section - Shows percentage breakdown of released vs experimental projects 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
Diffstat (limited to 'internal/showcase')
-rw-r--r--internal/showcase/showcase.go11
1 files changed, 11 insertions, 0 deletions
diff --git a/internal/showcase/showcase.go b/internal/showcase/showcase.go
index 8f8592d..23a6a47 100644
--- a/internal/showcase/showcase.go
+++ b/internal/showcase/showcase.go
@@ -323,6 +323,7 @@ func (g *Generator) formatGemtext(summaries []ProjectSummary) string {
totalLOC := 0
totalDocs := 0
aiAssistedCount := 0
+ releasedCount := 0
languageTotals := make(map[string]int)
docTotals := make(map[string]int)
@@ -336,6 +337,11 @@ func (g *Generator) formatGemtext(summaries []ProjectSummary) string {
totalLOC += summary.Metadata.LinesOfCode
totalDocs += summary.Metadata.LinesOfDocs
+ // Count projects with releases
+ if summary.Metadata.HasReleases {
+ releasedCount++
+ }
+
// Aggregate language statistics
for _, lang := range summary.Metadata.Languages {
languageTotals[lang.Name] += lang.Lines
@@ -405,6 +411,11 @@ func (g *Generator) formatGemtext(summaries []ProjectSummary) string {
aiAssistedCount, totalProjects,
float64(aiAssistedCount)*100/float64(totalProjects),
float64(nonAICount)*100/float64(totalProjects)))
+ experimentalCount := totalProjects - releasedCount
+ builder.WriteString(fmt.Sprintf("* 🚀 Release Status: %d released, %d experimental (%.1f%% with releases, %.1f%% experimental)\n",
+ releasedCount, experimentalCount,
+ float64(releasedCount)*100/float64(totalProjects),
+ float64(experimentalCount)*100/float64(totalProjects)))
builder.WriteString("\n")
// Add Projects section