nairon-bench 0.0.30 → 0.0.31

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 (2) hide show
  1. package/dist/index.js +56 -5
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -17512,14 +17512,28 @@ function analyzeSkills() {
17512
17512
  join8(home, ".agents", "skills"),
17513
17513
  join8(home, ".config", "claude", "skills")
17514
17514
  ];
17515
- for (const skillsDir of skillsDirs) {
17515
+ const projectSkillsDirs = [
17516
+ join8(process.cwd(), ".claude", "skills"),
17517
+ join8(process.cwd(), ".agents", "skills")
17518
+ ];
17519
+ const openCodeSkillDirs = [
17520
+ join8(home, ".config", "opencode", "skills"),
17521
+ join8(home, ".local", "share", "opencode", "skills")
17522
+ ];
17523
+ const allSkillDirs = [...skillsDirs, ...projectSkillsDirs, ...openCodeSkillDirs];
17524
+ const seenSkills = new Set;
17525
+ for (const skillsDir of allSkillDirs) {
17516
17526
  if (existsSync8(skillsDir)) {
17517
17527
  try {
17518
17528
  const entries = readdirSync4(skillsDir, { withFileTypes: true });
17519
17529
  for (const entry of entries) {
17520
- if (entry.isDirectory() || entry.isSymbolicLink()) {
17530
+ const skillName = entry.name.replace(/\.md$/, "");
17531
+ if (seenSkills.has(skillName))
17532
+ continue;
17533
+ seenSkills.add(skillName);
17534
+ if (entry.isDirectory() || entry.isSymbolicLink() || entry.name.endsWith(".md")) {
17521
17535
  skills.push({
17522
- name: entry.name,
17536
+ name: skillName,
17523
17537
  path: join8(skillsDir, entry.name),
17524
17538
  used: false,
17525
17539
  usageCount: 0
@@ -17729,7 +17743,17 @@ function renderToolUtilizationSummary(analysis) {
17729
17743
  }
17730
17744
  lines.push("");
17731
17745
  }
17732
- lines.push(` Skills: ${analysis.skillsCount} installed`);
17746
+ if (analysis.skills.length > 0) {
17747
+ lines.push(` Skills: ${analysis.skillsCount} installed`);
17748
+ for (const skill of analysis.skills.slice(0, 5)) {
17749
+ lines.push(` - ${skill.name}`);
17750
+ }
17751
+ if (analysis.skills.length > 5) {
17752
+ lines.push(` ... and ${analysis.skills.length - 5} more`);
17753
+ }
17754
+ } else {
17755
+ lines.push(` Skills: none (consider installing reusable prompts)`);
17756
+ }
17733
17757
  lines.push(` Docs referenced: ${analysis.docsCount} libraries`);
17734
17758
  lines.push(` Tests: ${analysis.testCommands.detected ? `${analysis.testCommands.runCount} runs (${analysis.testCommands.framework})` : "none detected"}`);
17735
17759
  lines.push("");
@@ -17760,6 +17784,20 @@ function renderToolUtilizationMarkdown(analysis) {
17760
17784
  }
17761
17785
  }
17762
17786
  lines.push("");
17787
+ lines.push("### Skills");
17788
+ lines.push("");
17789
+ if (analysis.skills.length > 0) {
17790
+ lines.push(`**${analysis.skillsCount} skills installed:**`);
17791
+ lines.push("");
17792
+ for (const skill of analysis.skills) {
17793
+ lines.push(`- ${skill.name}`);
17794
+ }
17795
+ } else {
17796
+ lines.push("*No skills installed. Skills provide reusable prompts for common tasks.*");
17797
+ lines.push("");
17798
+ lines.push("Install skills with: `claude skills add anthropics/skills`");
17799
+ }
17800
+ lines.push("");
17763
17801
  if (analysis.docsReferenced.length > 0) {
17764
17802
  lines.push("### External Docs Referenced");
17765
17803
  lines.push("");
@@ -18497,8 +18535,18 @@ async function generateHackathonReport(projectDir, since, until = new Date, harn
18497
18535
  const recommendations = generateRecommendations2(data, sdlcAnalysis, promptAnalysis, scores);
18498
18536
  const { grade, gradeDescription } = calculateGrade(overallScore, sdlcAnalysis, promptAnalysis);
18499
18537
  const summary = buildSummary(data, sdlcAnalysis, promptAnalysis);
18538
+ const agentLabels = {
18539
+ "claude-code": "Claude Code",
18540
+ opencode: "OpenCode",
18541
+ cursor: "Cursor",
18542
+ windsurf: "Windsurf",
18543
+ copilot: "GitHub Copilot",
18544
+ all: "Multiple Agents"
18545
+ };
18546
+ const primaryAgent = agentLabels[harness || "all"] || harness || "Unknown";
18500
18547
  return {
18501
18548
  projectName: data.projectName,
18549
+ primaryAgent,
18502
18550
  generatedAt: new Date,
18503
18551
  timeRange: data.timeRange,
18504
18552
  overallScore,
@@ -18651,6 +18699,7 @@ function formatReportAsMarkdown(report) {
18651
18699
  const lines = [];
18652
18700
  lines.push(`# AI-Nativeness Report: ${report.projectName}`);
18653
18701
  lines.push("");
18702
+ lines.push(`**Primary Agent:** ${report.primaryAgent}`);
18654
18703
  lines.push(`**Generated:** ${report.generatedAt.toLocaleString()}`);
18655
18704
  lines.push(`**Time Range:** ${report.timeRange.start.toLocaleString()} - ${report.timeRange.end.toLocaleString()} (${report.timeRange.durationHours} hours)`);
18656
18705
  lines.push("");
@@ -18823,6 +18872,7 @@ function formatReportAsTerminal(report) {
18823
18872
  lines.push("");
18824
18873
  lines.push("═".repeat(width));
18825
18874
  lines.push(` AI-NATIVENESS REPORT: ${report.projectName.toUpperCase()}`);
18875
+ lines.push(` Agent: ${report.primaryAgent}`);
18826
18876
  lines.push("═".repeat(width));
18827
18877
  lines.push("");
18828
18878
  const gradeColors = {
@@ -18917,6 +18967,7 @@ function renderBar2(value, width = 20) {
18917
18967
  function formatReportAsJSON(report) {
18918
18968
  const serializable = {
18919
18969
  ...report,
18970
+ primaryAgent: report.primaryAgent,
18920
18971
  generatedAt: report.generatedAt.toISOString(),
18921
18972
  timeRange: {
18922
18973
  start: report.timeRange.start.toISOString(),
@@ -22997,7 +23048,7 @@ var setupCommand = defineCommand2({
22997
23048
  // package.json
22998
23049
  var package_default = {
22999
23050
  name: "nairon-bench",
23000
- version: "0.0.30",
23051
+ version: "0.0.31",
23001
23052
  description: "AI workflow benchmarking CLI",
23002
23053
  type: "module",
23003
23054
  bin: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nairon-bench",
3
- "version": "0.0.30",
3
+ "version": "0.0.31",
4
4
  "description": "AI workflow benchmarking CLI",
5
5
  "type": "module",
6
6
  "bin": {