Detects primary framework (NestJS, React, Phoenix, Rails, .NET/ASP.NET Core, Blazor) in projects via package managers, files, imports, and patterns with weighted confidence scoring.
npx claudepluginhub fortiumpartners/ai-meshThis skill uses the workspace's default tool permissions.
**When to Use**: Automatically detect framework in project before loading framework-specific skills
Lazy-loads framework-specific patterns and best practices for React, Vue, Angular, Next.js, Node.js, Python, Laravel, Go, Flutter, Godot based on detected tech stack.
Detects project tech stack (frameworks, databases, tests, libraries) from dependency files (Python, JS, Go, Ruby, Java, PHP) and structure; outputs structured JSON.
Detects programming language, framework, build tools, and verification commands for any project by scanning structure, counting file extensions, and analyzing configs like package.json or go.mod.
Share bugs, ideas, or general feedback.
When to Use: Automatically detect framework in project before loading framework-specific skills
Supported Frameworks: NestJS, React, Phoenix, Rails, .NET/ASP.NET Core, Blazor
Detection Method: Multi-signal analysis with weighted confidence scoring
const FrameworkDetector = require('./detect-framework');
const detector = new FrameworkDetector('/path/to/project');
const result = await detector.detect();
console.log(result.primary); // "nestjs"
console.log(result.confidence); // 0.92
console.log(result.alternates); // [{ framework: "dotnet", confidence: 0.45 }]
# Detect framework in current directory
./detect-framework.js
# Detect framework in specific project
./detect-framework.js /path/to/project
# Output format (JSON)
{
"primary": "react",
"confidence": 0.89,
"alternates": [],
"details": { ... }
}
package.json dependenciesGemfile gemsmix.exs dependencies*.csproj PackageReferences*.csproj)nest-cli.json (+50%).razor files (+60%)Default: 0.8 (80% confidence required)
Interpretation:
✓ @nestjs/core in package.json
✓ nest-cli.json exists
✓ @Module decorator in .ts files
✓ @Controller decorator in .ts files
✓ react in package.json
✓ .jsx or .tsx files exist
✓ useState or useEffect in code
✓ createRoot in code
✓ {:phoenix, in mix.exs
✓ config/config.exs exists
✓ Phoenix.Endpoint in .ex files
✓ Phoenix.Router in .ex files
✓ gem 'rails' in Gemfile
✓ config/application.rb exists
✓ Rails.application in code
✓ ActiveRecord::Base in code
✓ Microsoft.AspNetCore in .csproj
✓ Program.cs exists
✓ [ApiController] in .cs files
✓ using Microsoft.AspNetCore
✓ Microsoft.AspNetCore.Components in .csproj
✓ .razor files exist
✓ @page directive in .razor files
✓ ComponentBase in code
Optimizations:
Typical Detection Time: 100-500ms
No Frameworks Detected:
{
primary: null,
confidence: 0,
alternates: [],
details: {}
}
Multiple Frameworks (e.g., monorepo):
{
primary: "react",
confidence: 0.91,
alternates: [
{ framework: "nestjs", confidence: 0.87 }
]
}
const { SkillLoader } = require('../skill-loader');
const FrameworkDetector = require('./detect-framework');
async function loadFrameworkSkill(projectRoot) {
// 1. Detect framework
const detector = new FrameworkDetector(projectRoot);
const result = await detector.detect();
// 2. Handle low confidence
if (result.confidence < 0.8) {
// Prompt user or use alternates
console.warn('Low confidence detection');
}
// 3. Load skill
const loader = new SkillLoader({
agentName: 'backend-developer',
agentVersion: '3.0.0'
});
const skill = await loader.loadSkill(result.primary, 'quick');
return skill;
}
Edit framework-patterns.json to: