Back to skills

Framework Detection

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.

127 stars
0 votes
0 copies
0 views
Added 12/19/2025
developmentpythonrustgorubyphpreactvueangularnextjsnode

Install via CLI

$openskills install rsmdt/the-startup
Download Zip
Files
SKILL.md
---
name: framework-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:

1. **Read `package.json`** - Check `dependencies` and `devDependencies` for framework packages
2. **Read `pyproject.toml`** - Check `[project.dependencies]` or `[tool.poetry.dependencies]`
3. **Read framework-specific configs** - `next.config.js`, `vite.config.ts`, `angular.json`, etc.

### Step 3: Directory Structure Patterns

Identify framework conventions:

- `app/` or `src/app/` - Next.js App Router, Angular
- `pages/` - Next.js Pages Router, Nuxt.js
- `components/` - React/Vue component-based architecture
- `routes/` - Remix, SvelteKit
- `views/` - Django, Rails, Laravel
- `controllers/` - 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:

1. **Framework name and version** (if determinable)
2. **Package manager** (with command examples)
3. **Key configuration files** to be aware of
4. **Directory conventions** the framework expects
5. **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.

Attribution

Comments (0)

No comments yet. Be the first to comment!