nairon-bench 0.0.30 → 0.0.32
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/dist/index.js +57 -5
- 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
|
-
|
|
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
|
-
|
|
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:
|
|
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
|
-
|
|
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(),
|
|
@@ -19187,6 +19238,7 @@ async function publishReport(report) {
|
|
|
19187
19238
|
const markdownContent = formatReportAsMarkdown(report);
|
|
19188
19239
|
const basePayload = {
|
|
19189
19240
|
projectName: report.projectName,
|
|
19241
|
+
primaryAgent: report.primaryAgent,
|
|
19190
19242
|
timeRange: {
|
|
19191
19243
|
start: report.timeRange.start.toISOString(),
|
|
19192
19244
|
end: report.timeRange.end.toISOString(),
|
|
@@ -22997,7 +23049,7 @@ var setupCommand = defineCommand2({
|
|
|
22997
23049
|
// package.json
|
|
22998
23050
|
var package_default = {
|
|
22999
23051
|
name: "nairon-bench",
|
|
23000
|
-
version: "0.0.
|
|
23052
|
+
version: "0.0.32",
|
|
23001
23053
|
description: "AI workflow benchmarking CLI",
|
|
23002
23054
|
type: "module",
|
|
23003
23055
|
bin: {
|