fix(startup-banner): correct AGENTS/SKILLS/EXTENSIONS stats and add info dashboard#25
Conversation
…ith accurate counts The startup banner displayed 'AGENTS: 213 loaded' but was counting skill-registered commands, not agents. Additionally, 'EXTENSIONS: 0 active' was reading settings.extensions[] which is always empty — real extensions are declared in each package's pi.extensions manifest. Changes: - Add SDD agent count (11 phases) from ~/.pi/agent/agents/sdd-*.md - Rename AGENTS count to SKILLS (uses pi.getCommands() skill count: 213) - Fix EXTENSIONS count by scanning pi.extensions from each package.json - Reorder info dashboard layout per user preference: Left: PATH, GIT, MCP, AGENTS, VER Right: EXTENSIONS, PLUGINS, SKILLS, TOOLS
Alan-TheGentleman
left a comment
There was a problem hiding this comment.
Thanks for the cleanup here, the direction for splitting AGENTS/SKILLS and counting real extension manifests makes sense.
I’m requesting changes because this PR also removes the existing startup gating around CLI commands and small/unsupported terminal modes. That changes behavior outside the stats/dashboard fix: the banner can clear/render during flows like pi update, pi install, scripted runs, or constrained terminals where current main intentionally skips or downgrades the intro.
Can you restore the CLI/TTY/terminal-size/resize guard semantics from current main while keeping the stats/dashboard changes? Also please remove or finish the new sparkle path, since renderStarCell() currently always returns null and leaves the sparkle variables effectively dead.
Problem
The startup banner HUD displays inaccurate information:
pi.getCommands(), not actual SDD agent filessettings.extensions[]which is always empty; real extensions are declared in each installed package'spi.extensionsmanifestSolution
AGENTS → AGENTS + SKILLS (split)
AGENTS: N loaded(skill commands)AGENTS: N phases(SDD agent files)SKILLS: N loaded(skill commands)~/.pi/agent/agents/sdd-*.mdpi.getCommands().filter(source==="skill")countEXTENSIONS: now counts real extension files
Scans each installed package's
package.jsonand sumspi.extensionsentries, instead of reading the always-emptysettings.extensions[].Dashboard layout (wide mode)
Technical changes
readdirimport for counting SDD agent filescountSddAgents()— reads~/.pi/agent/agents/forsdd-*.mdfilescountPackageExtensions()— resolves each npm package'spackage.json, readspi.extensions, sums counts. Fixed earlyreturn nullbug that aborted the entire function on git packagessettings.extensions[]lookupChanges
extensions/startup-banner.tsTest Plan
sdd-*.mdfiles in agent dirpi.getCommands()outputpi.extensionsacross installed packagessettings.packageslength