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.
@@ -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,9 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * WJTTC MCP Certification CLI
4
+ * WolfeJam Technical & Testing Center
5
+ *
6
+ * "When brakes must work flawlessly, so must our MCP servers"
7
+ */
8
+ export {};
9
+ //# sourceMappingURL=cli.d.ts.map
@@ -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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -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