wjttc 1.0.0
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/LICENSE +21 -0
- package/README.md +106 -0
- package/dist/badge.d.ts +34 -0
- package/dist/badge.d.ts.map +1 -0
- package/dist/badge.js +76 -0
- package/dist/badge.js.map +1 -0
- package/dist/certifier.d.ts +63 -0
- package/dist/certifier.d.ts.map +1 -0
- package/dist/certifier.js +1291 -0
- package/dist/certifier.js.map +1 -0
- package/dist/cli.d.ts +9 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +246 -0
- package/dist/cli.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +14 -0
- package/dist/index.js.map +1 -0
- package/package.json +74 -0
- package/project.faf +123 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"certifier.js","sourceRoot":"","sources":["../src/certifier.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;;;GAKG"}
|
package/dist/cli.js
ADDED
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
/**
|
|
4
|
+
* WJTTC MCP Certification CLI
|
|
5
|
+
* WolfeJam Technical & Testing Center
|
|
6
|
+
*
|
|
7
|
+
* "When brakes must work flawlessly, so must our MCP servers"
|
|
8
|
+
*/
|
|
9
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
12
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
13
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
14
|
+
}
|
|
15
|
+
Object.defineProperty(o, k2, desc);
|
|
16
|
+
}) : (function(o, m, k, k2) {
|
|
17
|
+
if (k2 === undefined) k2 = k;
|
|
18
|
+
o[k2] = m[k];
|
|
19
|
+
}));
|
|
20
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
21
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
22
|
+
}) : function(o, v) {
|
|
23
|
+
o["default"] = v;
|
|
24
|
+
});
|
|
25
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
26
|
+
var ownKeys = function(o) {
|
|
27
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
28
|
+
var ar = [];
|
|
29
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
30
|
+
return ar;
|
|
31
|
+
};
|
|
32
|
+
return ownKeys(o);
|
|
33
|
+
};
|
|
34
|
+
return function (mod) {
|
|
35
|
+
if (mod && mod.__esModule) return mod;
|
|
36
|
+
var result = {};
|
|
37
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
38
|
+
__setModuleDefault(result, mod);
|
|
39
|
+
return result;
|
|
40
|
+
};
|
|
41
|
+
})();
|
|
42
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
43
|
+
const commander_1 = require("commander");
|
|
44
|
+
const certifier_1 = require("./certifier");
|
|
45
|
+
const badge_1 = require("./badge");
|
|
46
|
+
const fs = __importStar(require("fs"));
|
|
47
|
+
const path = __importStar(require("path"));
|
|
48
|
+
// FAF-Aligned Tier System - The Michelin Star for Repos
|
|
49
|
+
// One scoring system across all FAF ecosystem tools
|
|
50
|
+
const TIERS = {
|
|
51
|
+
'big-orange': { emoji: '๐', minScore: 105, meaning: 'The Michelin Star - Perfection + Excellence' },
|
|
52
|
+
'trophy': { emoji: '๐', minScore: 100, meaning: 'Perfect MCP compliance' },
|
|
53
|
+
'gold': { emoji: '๐ฅ', minScore: 99, meaning: 'Exceptional' },
|
|
54
|
+
'silver': { emoji: '๐ฅ', minScore: 95, meaning: 'Top tier - Excellent' },
|
|
55
|
+
'bronze': { emoji: '๐ฅ', minScore: 85, meaning: 'Strong - Production ready' },
|
|
56
|
+
'green': { emoji: '๐ข', minScore: 70, meaning: 'Good - Solid foundation' },
|
|
57
|
+
'yellow': { emoji: '๐ก', minScore: 55, meaning: 'Caution - Needs improvement' },
|
|
58
|
+
'red': { emoji: '๐ด', minScore: 1, meaning: 'Critical - Major work needed' },
|
|
59
|
+
'white': { emoji: '๐ค', minScore: 0, meaning: 'Empty - No context' },
|
|
60
|
+
};
|
|
61
|
+
const program = new commander_1.Command();
|
|
62
|
+
program
|
|
63
|
+
.name('wjttc')
|
|
64
|
+
.description('Championship-grade MCP server validation')
|
|
65
|
+
.version('1.0.0');
|
|
66
|
+
// Main certification command
|
|
67
|
+
program
|
|
68
|
+
.command('certify')
|
|
69
|
+
.description('Run certification suite against an MCP server')
|
|
70
|
+
.requiredOption('--mcp <path>', 'Path to MCP server entry point')
|
|
71
|
+
.option('--tiers <list>', 'Tiers to run (1-7 or all)', 'all')
|
|
72
|
+
.option('--min-tier <tier>', 'Minimum required tier', 'bronze')
|
|
73
|
+
.option('--format <format>', 'Output format (json|markdown|summary)', 'summary')
|
|
74
|
+
.option('--output <path>', 'Path to save report', '.github/wjttc-report.md')
|
|
75
|
+
.option('--perf-tool-list <ms>', 'Max ms for tool listing', '50')
|
|
76
|
+
.option('--perf-tool-call <ms>', 'Max ms for tool invocation', '100')
|
|
77
|
+
.option('--strict', 'Fail on SHOULD violations')
|
|
78
|
+
.option('--github-output', 'Output for GitHub Actions')
|
|
79
|
+
.action(async (options) => {
|
|
80
|
+
console.log('');
|
|
81
|
+
console.log('โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ');
|
|
82
|
+
console.log('๐๏ธ WJTTC MCP CERTIFICATION');
|
|
83
|
+
console.log('โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ');
|
|
84
|
+
console.log('');
|
|
85
|
+
const certifier = new certifier_1.WJTTCCertifier({
|
|
86
|
+
mcpPath: options.mcp,
|
|
87
|
+
tiers: options.tiers === 'all' ? [1, 2, 3, 4, 5, 6, 7] : options.tiers.split(',').map(Number),
|
|
88
|
+
performanceTargets: {
|
|
89
|
+
toolList: parseInt(options.perfToolList),
|
|
90
|
+
toolCall: parseInt(options.perfToolCall),
|
|
91
|
+
},
|
|
92
|
+
strict: options.strict || false,
|
|
93
|
+
});
|
|
94
|
+
try {
|
|
95
|
+
const result = await certifier.run();
|
|
96
|
+
// Determine tier
|
|
97
|
+
const achievedTier = getTier(result.score);
|
|
98
|
+
const minTierScore = TIERS[options.minTier]?.minScore || 61;
|
|
99
|
+
const passed = result.score >= minTierScore;
|
|
100
|
+
// Output based on format
|
|
101
|
+
if (options.format === 'json') {
|
|
102
|
+
console.log(JSON.stringify(result, null, 2));
|
|
103
|
+
}
|
|
104
|
+
else if (options.format === 'markdown') {
|
|
105
|
+
const markdown = generateMarkdownReport(result, achievedTier);
|
|
106
|
+
console.log(markdown);
|
|
107
|
+
fs.writeFileSync(options.output, markdown);
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
// Summary
|
|
111
|
+
printSummary(result, achievedTier, passed);
|
|
112
|
+
}
|
|
113
|
+
// GitHub Actions output
|
|
114
|
+
if (options.githubOutput) {
|
|
115
|
+
const githubOutput = process.env.GITHUB_OUTPUT;
|
|
116
|
+
if (githubOutput) {
|
|
117
|
+
const outputs = [
|
|
118
|
+
`score=${result.score}`,
|
|
119
|
+
`tier=${achievedTier}`,
|
|
120
|
+
`tier-emoji=${TIERS[achievedTier].emoji}`,
|
|
121
|
+
`passed=${passed}`,
|
|
122
|
+
`tests-total=${result.totalTests}`,
|
|
123
|
+
`tests-passed=${result.passedTests}`,
|
|
124
|
+
`tests-failed=${result.failedTests}`,
|
|
125
|
+
];
|
|
126
|
+
fs.appendFileSync(githubOutput, outputs.join('\n') + '\n');
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
// Exit code
|
|
130
|
+
process.exit(passed ? 0 : 1);
|
|
131
|
+
}
|
|
132
|
+
catch (error) {
|
|
133
|
+
console.error('โ Certification failed:', error.message);
|
|
134
|
+
process.exit(1);
|
|
135
|
+
}
|
|
136
|
+
});
|
|
137
|
+
// Badge generation command
|
|
138
|
+
program
|
|
139
|
+
.command('badge')
|
|
140
|
+
.description('Generate certification badge JSON')
|
|
141
|
+
.requiredOption('--score <score>', 'Certification score')
|
|
142
|
+
.requiredOption('--tier <tier>', 'Certification tier')
|
|
143
|
+
.option('--output <path>', 'Output path', '.github/wjttc-badge.json')
|
|
144
|
+
.action((options) => {
|
|
145
|
+
const badge = badge_1.BadgeGenerator.generate({
|
|
146
|
+
score: parseInt(options.score),
|
|
147
|
+
tier: options.tier,
|
|
148
|
+
});
|
|
149
|
+
fs.mkdirSync(path.dirname(options.output), { recursive: true });
|
|
150
|
+
fs.writeFileSync(options.output, JSON.stringify(badge, null, 2));
|
|
151
|
+
console.log(`โ
Badge generated: ${options.output}`);
|
|
152
|
+
});
|
|
153
|
+
// Quick check command
|
|
154
|
+
program
|
|
155
|
+
.command('check')
|
|
156
|
+
.description('Quick health check (Tier 1-2 only)')
|
|
157
|
+
.argument('<mcp-path>', 'Path to MCP server')
|
|
158
|
+
.action(async (mcpPath) => {
|
|
159
|
+
const certifier = new certifier_1.WJTTCCertifier({
|
|
160
|
+
mcpPath,
|
|
161
|
+
tiers: [1, 2],
|
|
162
|
+
performanceTargets: { toolList: 100, toolCall: 200 },
|
|
163
|
+
strict: false,
|
|
164
|
+
});
|
|
165
|
+
const result = await certifier.run();
|
|
166
|
+
const tier = getTier(result.score);
|
|
167
|
+
console.log(`${TIERS[tier].emoji} Score: ${result.score}/100 (${tier})`);
|
|
168
|
+
console.log(` ${result.passedTests}/${result.totalTests} tests passed`);
|
|
169
|
+
process.exit(result.failedTests === 0 ? 0 : 1);
|
|
170
|
+
});
|
|
171
|
+
// Helper functions - FAF-Aligned Tier System
|
|
172
|
+
function getTier(score) {
|
|
173
|
+
if (score >= 105)
|
|
174
|
+
return 'big-orange';
|
|
175
|
+
if (score >= 100)
|
|
176
|
+
return 'trophy';
|
|
177
|
+
if (score >= 99)
|
|
178
|
+
return 'gold';
|
|
179
|
+
if (score >= 95)
|
|
180
|
+
return 'silver';
|
|
181
|
+
if (score >= 85)
|
|
182
|
+
return 'bronze';
|
|
183
|
+
if (score >= 70)
|
|
184
|
+
return 'green';
|
|
185
|
+
if (score >= 55)
|
|
186
|
+
return 'yellow';
|
|
187
|
+
if (score > 0)
|
|
188
|
+
return 'red';
|
|
189
|
+
return 'white';
|
|
190
|
+
}
|
|
191
|
+
function printSummary(result, tier, passed) {
|
|
192
|
+
const emoji = TIERS[tier].emoji;
|
|
193
|
+
console.log(`${emoji} CERTIFICATION: ${tier.toUpperCase()}`);
|
|
194
|
+
console.log('');
|
|
195
|
+
console.log(` Score: ${result.score}/100`);
|
|
196
|
+
console.log(` Tests: ${result.passedTests}/${result.totalTests} passed`);
|
|
197
|
+
console.log(` Status: ${passed ? 'โ
CERTIFIED' : 'โ NOT CERTIFIED'}`);
|
|
198
|
+
console.log('');
|
|
199
|
+
// Tier breakdown
|
|
200
|
+
console.log('Tier Results:');
|
|
201
|
+
result.tierResults.forEach((tr) => {
|
|
202
|
+
const status = tr.passed ? 'โ
' : 'โ';
|
|
203
|
+
console.log(` ${status} Tier ${tr.tier}: ${tr.passedTests}/${tr.totalTests}`);
|
|
204
|
+
});
|
|
205
|
+
console.log('');
|
|
206
|
+
console.log('โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ');
|
|
207
|
+
console.log('"When brakes must work flawlessly, so must our MCP servers"');
|
|
208
|
+
console.log('โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ');
|
|
209
|
+
console.log('');
|
|
210
|
+
}
|
|
211
|
+
function generateMarkdownReport(result, tier) {
|
|
212
|
+
const emoji = TIERS[tier].emoji;
|
|
213
|
+
return `# ${emoji} WJTTC MCP Certification Report
|
|
214
|
+
|
|
215
|
+
## Summary
|
|
216
|
+
|
|
217
|
+
| Metric | Value |
|
|
218
|
+
|--------|-------|
|
|
219
|
+
| **Score** | ${result.score}/100 |
|
|
220
|
+
| **Tier** | ${tier} ${emoji} |
|
|
221
|
+
| **Tests Passed** | ${result.passedTests}/${result.totalTests} |
|
|
222
|
+
| **Date** | ${new Date().toISOString()} |
|
|
223
|
+
|
|
224
|
+
## Tier Results
|
|
225
|
+
|
|
226
|
+
${result.tierResults.map((tr) => `
|
|
227
|
+
### Tier ${tr.tier}: ${tr.name}
|
|
228
|
+
|
|
229
|
+
- **Status**: ${tr.passed ? 'โ
PASSED' : 'โ FAILED'}
|
|
230
|
+
- **Tests**: ${tr.passedTests}/${tr.totalTests}
|
|
231
|
+
- **Duration**: ${tr.duration}ms
|
|
232
|
+
|
|
233
|
+
${tr.failedTests.length > 0 ? `
|
|
234
|
+
**Failed Tests:**
|
|
235
|
+
${tr.failedTests.map((t) => `- ${t}`).join('\n')}
|
|
236
|
+
` : ''}
|
|
237
|
+
`).join('\n')}
|
|
238
|
+
|
|
239
|
+
---
|
|
240
|
+
|
|
241
|
+
*Generated by WJTTC MCP Certification*
|
|
242
|
+
*"When brakes must work flawlessly, so must our MCP servers"*
|
|
243
|
+
`;
|
|
244
|
+
}
|
|
245
|
+
program.parse();
|
|
246
|
+
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WJTTC MCP Certification
|
|
3
|
+
* WolfeJam Technical & Testing Center
|
|
4
|
+
*
|
|
5
|
+
* "When brakes must work flawlessly, so must our MCP servers"
|
|
6
|
+
*/
|
|
7
|
+
export { WJTTCCertifier, CertificationResult, TierLevel, TierResult } from './certifier';
|
|
8
|
+
export { BadgeGenerator } from './badge';
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzF,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* WJTTC MCP Certification
|
|
4
|
+
* WolfeJam Technical & Testing Center
|
|
5
|
+
*
|
|
6
|
+
* "When brakes must work flawlessly, so must our MCP servers"
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.BadgeGenerator = exports.WJTTCCertifier = void 0;
|
|
10
|
+
var certifier_1 = require("./certifier");
|
|
11
|
+
Object.defineProperty(exports, "WJTTCCertifier", { enumerable: true, get: function () { return certifier_1.WJTTCCertifier; } });
|
|
12
|
+
var badge_1 = require("./badge");
|
|
13
|
+
Object.defineProperty(exports, "BadgeGenerator", { enumerable: true, get: function () { return badge_1.BadgeGenerator; } });
|
|
14
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,yCAAyF;AAAhF,2GAAA,cAAc,OAAA;AACvB,iCAAyC;AAAhC,uGAAA,cAAc,OAAA"}
|
package/package.json
ADDED
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "wjttc",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "FAF Foundation Testing Standard - Zero-error, multi-tier, most stringent MCP test suite. How IANA-registered formats, MCPs, and CLIs get certified. Big Orange (105%) = Excellence.",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"bin": {
|
|
7
|
+
"wjttc": "dist/cli.js"
|
|
8
|
+
},
|
|
9
|
+
"scripts": {
|
|
10
|
+
"build": "tsc",
|
|
11
|
+
"dev": "ts-node src/cli.ts",
|
|
12
|
+
"test": "jest",
|
|
13
|
+
"lint": "eslint src/**/*.ts",
|
|
14
|
+
"prepublishOnly": "npm run build"
|
|
15
|
+
},
|
|
16
|
+
"keywords": [
|
|
17
|
+
"mcp",
|
|
18
|
+
"model-context-protocol",
|
|
19
|
+
"testing",
|
|
20
|
+
"certification",
|
|
21
|
+
"validation",
|
|
22
|
+
"claude",
|
|
23
|
+
"anthropic",
|
|
24
|
+
"wjttc",
|
|
25
|
+
"faf",
|
|
26
|
+
"ai-readiness",
|
|
27
|
+
"f1",
|
|
28
|
+
"championship",
|
|
29
|
+
"big-orange",
|
|
30
|
+
"quality",
|
|
31
|
+
"github-action"
|
|
32
|
+
],
|
|
33
|
+
"author": {
|
|
34
|
+
"name": "wolfejam",
|
|
35
|
+
"email": "team@faf.one",
|
|
36
|
+
"url": "https://wolfejam.dev"
|
|
37
|
+
},
|
|
38
|
+
"license": "MIT",
|
|
39
|
+
"repository": {
|
|
40
|
+
"type": "git",
|
|
41
|
+
"url": "https://github.com/Wolfe-Jam/wjttc.git"
|
|
42
|
+
},
|
|
43
|
+
"bugs": {
|
|
44
|
+
"url": "https://github.com/Wolfe-Jam/wjttc/issues"
|
|
45
|
+
},
|
|
46
|
+
"homepage": "https://wjttc.vercel.app",
|
|
47
|
+
"engines": {
|
|
48
|
+
"node": ">=18.0.0"
|
|
49
|
+
},
|
|
50
|
+
"files": [
|
|
51
|
+
"dist/**/*",
|
|
52
|
+
"README.md",
|
|
53
|
+
"LICENSE",
|
|
54
|
+
"project.faf"
|
|
55
|
+
],
|
|
56
|
+
"publishConfig": {
|
|
57
|
+
"access": "public"
|
|
58
|
+
},
|
|
59
|
+
"dependencies": {
|
|
60
|
+
"@modelcontextprotocol/sdk": "^1.20.1",
|
|
61
|
+
"@modelcontextprotocol/server-filesystem": "^2025.11.25",
|
|
62
|
+
"@modelcontextprotocol/server-memory": "^2025.11.25",
|
|
63
|
+
"chalk": "^5.3.0",
|
|
64
|
+
"commander": "^12.0.0"
|
|
65
|
+
},
|
|
66
|
+
"devDependencies": {
|
|
67
|
+
"@jest/globals": "^30.1.2",
|
|
68
|
+
"@types/node": "^20.11.0",
|
|
69
|
+
"jest": "^29.7.0",
|
|
70
|
+
"ts-jest": "^29.1.0",
|
|
71
|
+
"ts-node": "^10.9.2",
|
|
72
|
+
"typescript": "^5.3.0"
|
|
73
|
+
}
|
|
74
|
+
}
|
package/project.faf
ADDED
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
faf_version: 2.5.0
|
|
2
|
+
ai_scoring_system: 2025-09-20
|
|
3
|
+
ai_score: 89%
|
|
4
|
+
ai_confidence: HIGH
|
|
5
|
+
ai_value: 30_seconds_replaces_20_minutes_of_questions
|
|
6
|
+
ai_tldr:
|
|
7
|
+
project: WJTTC MCP Certification - "FAF Foundation Testing Standard -
|
|
8
|
+
Zero-error, multi-tier, most stringent MCP test suite. How IANA-registered
|
|
9
|
+
formats, MCPs, and CLIs get certified. Big Orange (105%) = Excellence."
|
|
10
|
+
stack: CLI/TypeScript/TypeScript (tsc)/npm registry/Node.js
|
|
11
|
+
quality_bar: ZERO_ERRORS_F1_STANDARDS
|
|
12
|
+
current_focus: Production deployment preparation
|
|
13
|
+
your_role: Build features with perfect context
|
|
14
|
+
instant_context:
|
|
15
|
+
what_building: FAF Foundation Testing Standard - Zero-error, multi-tier, most
|
|
16
|
+
stringent MCP test suite. How IANA-registered formats, MCPs, and CLIs get
|
|
17
|
+
certified. Big Orange (105%) = Excellence.
|
|
18
|
+
tech_stack: CLI/TypeScript/TypeScript (tsc)/npm registry/Node.js
|
|
19
|
+
main_language: TypeScript
|
|
20
|
+
deployment: npm registry
|
|
21
|
+
key_files:
|
|
22
|
+
- package.json
|
|
23
|
+
- tsconfig.json
|
|
24
|
+
context_quality:
|
|
25
|
+
slots_filled: 17/21 (81%)
|
|
26
|
+
ai_confidence: HIGH
|
|
27
|
+
handoff_ready: true
|
|
28
|
+
missing_context:
|
|
29
|
+
- Database
|
|
30
|
+
project:
|
|
31
|
+
name: WJTTC MCP Certification
|
|
32
|
+
goal: FAF Foundation Testing Standard - Zero-error, multi-tier, most stringent
|
|
33
|
+
MCP test suite. How IANA-registered formats, MCPs, and CLIs get certified.
|
|
34
|
+
Big Orange (105%) = Excellence.
|
|
35
|
+
main_language: TypeScript
|
|
36
|
+
type: cli-ts
|
|
37
|
+
generated: 2025-12-02T03:48:38.104Z
|
|
38
|
+
mission: ๐ Make Your AI Happy! ๐งก Trust-Driven ๐ค
|
|
39
|
+
revolution: 30 seconds replaces 20 minutes of questions
|
|
40
|
+
brand: F1-Inspired Software Engineering - Championship AI Context
|
|
41
|
+
ai_instructions:
|
|
42
|
+
priority_order:
|
|
43
|
+
- 1. Read THIS .faf file first
|
|
44
|
+
- 2. Check CLAUDE.md for session context
|
|
45
|
+
- 3. Review package.json for dependencies
|
|
46
|
+
working_style:
|
|
47
|
+
code_first: true
|
|
48
|
+
explanations: minimal
|
|
49
|
+
quality_bar: zero_errors
|
|
50
|
+
testing: required
|
|
51
|
+
warnings:
|
|
52
|
+
- Never modify dial components without approval
|
|
53
|
+
- All TypeScript must pass strict mode
|
|
54
|
+
- Test coverage required for new features
|
|
55
|
+
stack:
|
|
56
|
+
frontend: CLI
|
|
57
|
+
css_framework: chalk (terminal colors)
|
|
58
|
+
ui_library: None
|
|
59
|
+
state_management: None
|
|
60
|
+
backend: Node.js
|
|
61
|
+
runtime: Node.js >=18.0.0
|
|
62
|
+
database: None
|
|
63
|
+
build: TypeScript (tsc)
|
|
64
|
+
package_manager: npm
|
|
65
|
+
api_type: CLI
|
|
66
|
+
hosting: npm registry
|
|
67
|
+
cicd: GitHub Actions
|
|
68
|
+
preferences:
|
|
69
|
+
quality_bar: zero_errors
|
|
70
|
+
commit_style: conventional_emoji
|
|
71
|
+
response_style: concise_code_first
|
|
72
|
+
explanation_level: minimal
|
|
73
|
+
communication: direct
|
|
74
|
+
testing: required
|
|
75
|
+
documentation: as_needed
|
|
76
|
+
state:
|
|
77
|
+
phase: development
|
|
78
|
+
version: 1.0.0
|
|
79
|
+
focus: production_deployment
|
|
80
|
+
status: green_flag
|
|
81
|
+
next_milestone: npm_publication
|
|
82
|
+
blockers: null
|
|
83
|
+
tags:
|
|
84
|
+
auto_generated:
|
|
85
|
+
- wjttc-mcp-certification
|
|
86
|
+
- cli
|
|
87
|
+
- typescript
|
|
88
|
+
- typescript-(tsc)
|
|
89
|
+
- npm-registry
|
|
90
|
+
- node.js
|
|
91
|
+
smart_defaults:
|
|
92
|
+
- .faf
|
|
93
|
+
- ai-ready
|
|
94
|
+
- "2025"
|
|
95
|
+
- software
|
|
96
|
+
- open-source
|
|
97
|
+
user_defined: null
|
|
98
|
+
human_context:
|
|
99
|
+
who: Development teams
|
|
100
|
+
what: FAF Foundation Testing Standard - Zero-error, multi-tier, most stringent
|
|
101
|
+
MCP test suite. How IANA-registered formats, MCPs, and CLIs get certified.
|
|
102
|
+
Big Orange (105%) = Excellence.
|
|
103
|
+
why: Improve development efficiency
|
|
104
|
+
where: Vercel platform
|
|
105
|
+
when: Production/Stable
|
|
106
|
+
how: Test-driven development
|
|
107
|
+
additional_context: null
|
|
108
|
+
context_score: 0
|
|
109
|
+
total_prd_score: 89
|
|
110
|
+
success_rate: 50%
|
|
111
|
+
ai_scoring_details:
|
|
112
|
+
system_date: 2025-09-20
|
|
113
|
+
slot_based_percentage: 81
|
|
114
|
+
ai_score: 89
|
|
115
|
+
total_slots: 21
|
|
116
|
+
filled_slots: 17
|
|
117
|
+
scoring_method: Honest percentage - no fake minimums
|
|
118
|
+
trust_embedded: COUNT ONCE architecture - trust MY embedded scores
|
|
119
|
+
faf_dna:
|
|
120
|
+
birth_dna: 22
|
|
121
|
+
birth_certificate: FAF-2025-WJTTC-YMB4
|
|
122
|
+
birth_date: 2025-12-02T03:48:38.186Z
|
|
123
|
+
current_score: 83
|