| name | tech-stack-detection |
| description | Auto-detect project tech stacks (React, Vue, Express, Django, etc.). Recognize package managers and configuration patterns. Use when starting work on any project, analyzing dependencies, or providing framework-specific guidance. |
Framework Detection
When to Use
- Starting work on an unfamiliar project
- Determining appropriate tooling and patterns for recommendations
- Providing framework-specific guidance and best practices
- Identifying package manager for dependency operations
- Understanding project architecture before making changes
Detection Methodology
Step 1: Package Manager Detection
Check for package manager indicators in the project root:
| File | Package Manager | Ecosystem |
|---|---|---|
package-lock.json |
npm | Node.js |
yarn.lock |
Yarn | Node.js |
pnpm-lock.yaml |
pnpm | Node.js |
bun.lockb |
Bun | Node.js |
requirements.txt |
pip | Python |
Pipfile.lock |
pipenv | Python |
poetry.lock |
Poetry | Python |
uv.lock |
uv | Python |
Cargo.lock |
Cargo | Rust |
go.sum |
Go Modules | Go |
Gemfile.lock |
Bundler | Ruby |
composer.lock |
Composer | PHP |
Step 2: Configuration File Analysis
Examine root-level configuration files for framework indicators:
- Read
package.json- CheckdependenciesanddevDependenciesfor framework packages - Read
pyproject.toml- Check[project.dependencies]or[tool.poetry.dependencies] - Read framework-specific configs -
next.config.js,vite.config.ts,angular.json, etc.
Step 3: Directory Structure Patterns
Identify framework conventions:
app/orsrc/app/- Next.js App Router, Angularpages/- Next.js Pages Router, Nuxt.jscomponents/- React/Vue component-based architectureroutes/- Remix, SvelteKitviews/- Django, Rails, Laravelcontrollers/- MVC frameworks (Rails, Laravel, NestJS)
Step 4: Framework-Specific Patterns
Apply detection patterns from the framework signatures reference.
Detection Workflow
START
|
v
[Check lock files] --> Identify package manager
|
v
[Read manifest] --> package.json / pyproject.toml / Cargo.toml
|
v
[Check dependencies] --> Match against known frameworks
|
v
[Check config files] --> Framework-specific configuration
|
v
[Verify directory structure] --> Confirm framework conventions
|
v
[Output] --> Framework, version, package manager, key patterns
Output Format
When reporting detected framework, include:
- Framework name and version (if determinable)
- Package manager (with command examples)
- Key configuration files to be aware of
- Directory conventions the framework expects
- Common commands for development workflow
Best Practices
- Always verify detection by checking multiple indicators (config + dependencies + structure)
- Report confidence level when patterns are ambiguous
- Note when multiple frameworks are present (e.g., Next.js + Tailwind + Prisma)
- Check for meta-frameworks built on top of base frameworks
- Consider monorepo patterns where different packages may use different frameworks
References
See references/framework-signatures.md for comprehensive detection patterns for all major frameworks.