opencode-metis 0.1.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/README.md +140 -0
- package/dist/cli.cjs +63 -0
- package/dist/mcp-server.cjs +51 -0
- package/dist/plugin.cjs +4 -0
- package/dist/worker.cjs +224 -0
- package/opencode/agent/the-analyst/feature-prioritization.md +66 -0
- package/opencode/agent/the-analyst/market-research.md +77 -0
- package/opencode/agent/the-analyst/project-coordination.md +81 -0
- package/opencode/agent/the-analyst/requirements-analysis.md +77 -0
- package/opencode/agent/the-architect/compatibility-review.md +138 -0
- package/opencode/agent/the-architect/complexity-review.md +137 -0
- package/opencode/agent/the-architect/quality-review.md +67 -0
- package/opencode/agent/the-architect/security-review.md +127 -0
- package/opencode/agent/the-architect/system-architecture.md +119 -0
- package/opencode/agent/the-architect/system-documentation.md +83 -0
- package/opencode/agent/the-architect/technology-research.md +85 -0
- package/opencode/agent/the-chief.md +79 -0
- package/opencode/agent/the-designer/accessibility-implementation.md +101 -0
- package/opencode/agent/the-designer/design-foundation.md +74 -0
- package/opencode/agent/the-designer/interaction-architecture.md +75 -0
- package/opencode/agent/the-designer/user-research.md +70 -0
- package/opencode/agent/the-meta-agent.md +155 -0
- package/opencode/agent/the-platform-engineer/ci-cd-pipelines.md +109 -0
- package/opencode/agent/the-platform-engineer/containerization.md +106 -0
- package/opencode/agent/the-platform-engineer/data-architecture.md +81 -0
- package/opencode/agent/the-platform-engineer/dependency-review.md +144 -0
- package/opencode/agent/the-platform-engineer/deployment-automation.md +81 -0
- package/opencode/agent/the-platform-engineer/infrastructure-as-code.md +107 -0
- package/opencode/agent/the-platform-engineer/performance-tuning.md +82 -0
- package/opencode/agent/the-platform-engineer/pipeline-engineering.md +81 -0
- package/opencode/agent/the-platform-engineer/production-monitoring.md +105 -0
- package/opencode/agent/the-qa-engineer/exploratory-testing.md +66 -0
- package/opencode/agent/the-qa-engineer/performance-testing.md +81 -0
- package/opencode/agent/the-qa-engineer/quality-assurance.md +77 -0
- package/opencode/agent/the-qa-engineer/test-execution.md +66 -0
- package/opencode/agent/the-software-engineer/api-development.md +78 -0
- package/opencode/agent/the-software-engineer/component-development.md +79 -0
- package/opencode/agent/the-software-engineer/concurrency-review.md +141 -0
- package/opencode/agent/the-software-engineer/domain-modeling.md +66 -0
- package/opencode/agent/the-software-engineer/performance-optimization.md +113 -0
- package/opencode/command/analyze.md +149 -0
- package/opencode/command/constitution.md +178 -0
- package/opencode/command/debug.md +194 -0
- package/opencode/command/document.md +178 -0
- package/opencode/command/implement.md +225 -0
- package/opencode/command/refactor.md +207 -0
- package/opencode/command/review.md +229 -0
- package/opencode/command/simplify.md +267 -0
- package/opencode/command/specify.md +191 -0
- package/opencode/command/validate.md +224 -0
- package/opencode/skill/accessibility-design/SKILL.md +566 -0
- package/opencode/skill/accessibility-design/checklists/wcag-checklist.md +435 -0
- package/opencode/skill/agent-coordination/SKILL.md +224 -0
- package/opencode/skill/api-contract-design/SKILL.md +550 -0
- package/opencode/skill/api-contract-design/templates/graphql-schema-template.md +818 -0
- package/opencode/skill/api-contract-design/templates/rest-api-template.md +417 -0
- package/opencode/skill/architecture-design/SKILL.md +160 -0
- package/opencode/skill/architecture-design/examples/architecture-examples.md +170 -0
- package/opencode/skill/architecture-design/template.md +749 -0
- package/opencode/skill/architecture-design/validation.md +99 -0
- package/opencode/skill/architecture-selection/SKILL.md +522 -0
- package/opencode/skill/architecture-selection/examples/adrs/001-example-adr.md +71 -0
- package/opencode/skill/architecture-selection/examples/architecture-patterns.md +239 -0
- package/opencode/skill/bug-diagnosis/SKILL.md +235 -0
- package/opencode/skill/code-quality-review/SKILL.md +337 -0
- package/opencode/skill/code-quality-review/examples/anti-patterns.md +629 -0
- package/opencode/skill/code-quality-review/reference.md +322 -0
- package/opencode/skill/code-review/SKILL.md +363 -0
- package/opencode/skill/code-review/reference.md +450 -0
- package/opencode/skill/codebase-analysis/SKILL.md +139 -0
- package/opencode/skill/codebase-navigation/SKILL.md +227 -0
- package/opencode/skill/codebase-navigation/examples/exploration-patterns.md +263 -0
- package/opencode/skill/coding-conventions/SKILL.md +178 -0
- package/opencode/skill/coding-conventions/checklists/accessibility-checklist.md +176 -0
- package/opencode/skill/coding-conventions/checklists/performance-checklist.md +154 -0
- package/opencode/skill/coding-conventions/checklists/security-checklist.md +127 -0
- package/opencode/skill/constitution-validation/SKILL.md +315 -0
- package/opencode/skill/constitution-validation/examples/CONSTITUTION.md +202 -0
- package/opencode/skill/constitution-validation/reference/rule-patterns.md +328 -0
- package/opencode/skill/constitution-validation/template.md +115 -0
- package/opencode/skill/context-preservation/SKILL.md +445 -0
- package/opencode/skill/data-modeling/SKILL.md +385 -0
- package/opencode/skill/data-modeling/templates/schema-design-template.md +268 -0
- package/opencode/skill/deployment-pipeline-design/SKILL.md +579 -0
- package/opencode/skill/deployment-pipeline-design/templates/pipeline-template.md +633 -0
- package/opencode/skill/documentation-extraction/SKILL.md +259 -0
- package/opencode/skill/documentation-sync/SKILL.md +431 -0
- package/opencode/skill/domain-driven-design/SKILL.md +509 -0
- package/opencode/skill/domain-driven-design/examples/ddd-patterns.md +688 -0
- package/opencode/skill/domain-driven-design/reference.md +465 -0
- package/opencode/skill/drift-detection/SKILL.md +383 -0
- package/opencode/skill/drift-detection/reference.md +340 -0
- package/opencode/skill/error-recovery/SKILL.md +162 -0
- package/opencode/skill/error-recovery/examples/error-patterns.md +484 -0
- package/opencode/skill/feature-prioritization/SKILL.md +419 -0
- package/opencode/skill/feature-prioritization/examples/rice-template.md +139 -0
- package/opencode/skill/feature-prioritization/reference.md +256 -0
- package/opencode/skill/git-workflow/SKILL.md +453 -0
- package/opencode/skill/implementation-planning/SKILL.md +215 -0
- package/opencode/skill/implementation-planning/examples/phase-examples.md +217 -0
- package/opencode/skill/implementation-planning/template.md +220 -0
- package/opencode/skill/implementation-planning/validation.md +88 -0
- package/opencode/skill/implementation-verification/SKILL.md +272 -0
- package/opencode/skill/knowledge-capture/SKILL.md +265 -0
- package/opencode/skill/knowledge-capture/reference/knowledge-capture.md +402 -0
- package/opencode/skill/knowledge-capture/reference.md +444 -0
- package/opencode/skill/knowledge-capture/templates/domain-template.md +325 -0
- package/opencode/skill/knowledge-capture/templates/interface-template.md +255 -0
- package/opencode/skill/knowledge-capture/templates/pattern-template.md +144 -0
- package/opencode/skill/observability-design/SKILL.md +291 -0
- package/opencode/skill/observability-design/references/monitoring-patterns.md +461 -0
- package/opencode/skill/pattern-detection/SKILL.md +171 -0
- package/opencode/skill/pattern-detection/examples/common-patterns.md +359 -0
- package/opencode/skill/performance-analysis/SKILL.md +266 -0
- package/opencode/skill/performance-analysis/references/profiling-tools.md +499 -0
- package/opencode/skill/requirements-analysis/SKILL.md +139 -0
- package/opencode/skill/requirements-analysis/examples/good-prd.md +66 -0
- package/opencode/skill/requirements-analysis/template.md +177 -0
- package/opencode/skill/requirements-analysis/validation.md +69 -0
- package/opencode/skill/requirements-elicitation/SKILL.md +518 -0
- package/opencode/skill/requirements-elicitation/examples/interview-questions.md +226 -0
- package/opencode/skill/requirements-elicitation/examples/user-stories.md +414 -0
- package/opencode/skill/safe-refactoring/SKILL.md +312 -0
- package/opencode/skill/safe-refactoring/reference/code-smells.md +347 -0
- package/opencode/skill/security-assessment/SKILL.md +421 -0
- package/opencode/skill/security-assessment/checklists/security-review-checklist.md +285 -0
- package/opencode/skill/specification-management/SKILL.md +143 -0
- package/opencode/skill/specification-management/readme-template.md +32 -0
- package/opencode/skill/specification-management/reference.md +115 -0
- package/opencode/skill/specification-management/spec.py +229 -0
- package/opencode/skill/specification-validation/SKILL.md +397 -0
- package/opencode/skill/specification-validation/reference/3cs-framework.md +306 -0
- package/opencode/skill/specification-validation/reference/ambiguity-detection.md +132 -0
- package/opencode/skill/specification-validation/reference/constitution-validation.md +301 -0
- package/opencode/skill/specification-validation/reference/drift-detection.md +383 -0
- package/opencode/skill/task-delegation/SKILL.md +607 -0
- package/opencode/skill/task-delegation/examples/file-coordination.md +495 -0
- package/opencode/skill/task-delegation/examples/parallel-research.md +337 -0
- package/opencode/skill/task-delegation/examples/sequential-build.md +504 -0
- package/opencode/skill/task-delegation/reference.md +825 -0
- package/opencode/skill/tech-stack-detection/SKILL.md +89 -0
- package/opencode/skill/tech-stack-detection/references/framework-signatures.md +598 -0
- package/opencode/skill/technical-writing/SKILL.md +190 -0
- package/opencode/skill/technical-writing/templates/adr-template.md +205 -0
- package/opencode/skill/technical-writing/templates/system-doc-template.md +380 -0
- package/opencode/skill/test-design/SKILL.md +464 -0
- package/opencode/skill/test-design/examples/test-pyramid.md +724 -0
- package/opencode/skill/testing/SKILL.md +213 -0
- package/opencode/skill/testing/examples/test-pyramid.md +724 -0
- package/opencode/skill/user-insight-synthesis/SKILL.md +576 -0
- package/opencode/skill/user-insight-synthesis/templates/research-plan-template.md +217 -0
- package/opencode/skill/user-research/SKILL.md +508 -0
- package/opencode/skill/user-research/examples/interview-questions.md +265 -0
- package/opencode/skill/user-research/examples/personas.md +267 -0
- package/opencode/skill/vibe-security/SKILL.md +654 -0
- package/package.json +45 -0
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: tech-stack-detection
|
|
3
|
+
description: "Auto-detect project tech stacks, package managers, and configuration patterns for framework-specific guidance."
|
|
4
|
+
license: MIT
|
|
5
|
+
compatibility: opencode
|
|
6
|
+
metadata:
|
|
7
|
+
category: analysis
|
|
8
|
+
version: "1.0"
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Tech Stack Detection
|
|
12
|
+
|
|
13
|
+
Roleplay as a tech stack detection specialist auto-detecting project frameworks, package managers, and configuration patterns.
|
|
14
|
+
|
|
15
|
+
TechStackDetection {
|
|
16
|
+
Activation {
|
|
17
|
+
- Starting work on an unfamiliar project
|
|
18
|
+
- Determining appropriate tooling and patterns for recommendations
|
|
19
|
+
- Providing framework-specific guidance and best practices
|
|
20
|
+
- Identifying package manager for dependency operations
|
|
21
|
+
- Understanding project architecture before making changes
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
Constraints {
|
|
25
|
+
1. Always verify detection by checking multiple indicators (config + dependencies + structure)
|
|
26
|
+
2. Report confidence level when patterns are ambiguous
|
|
27
|
+
3. Note when multiple frameworks are present (e.g., Next.js + Tailwind + Prisma)
|
|
28
|
+
4. Check for meta-frameworks built on top of base frameworks
|
|
29
|
+
5. Consider monorepo patterns where different packages may use different frameworks
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
DetectionMethodology {
|
|
33
|
+
Step1_PackageManagerDetection {
|
|
34
|
+
Check for package manager indicators in the project root:
|
|
35
|
+
|
|
36
|
+
| File | Package Manager | Ecosystem |
|
|
37
|
+
|------|-----------------|-----------|
|
|
38
|
+
| `package-lock.json` | npm | Node.js |
|
|
39
|
+
| `yarn.lock` | Yarn | Node.js |
|
|
40
|
+
| `pnpm-lock.yaml` | pnpm | Node.js |
|
|
41
|
+
| `bun.lockb` | Bun | Node.js |
|
|
42
|
+
| `requirements.txt` | pip | Python |
|
|
43
|
+
| `Pipfile.lock` | pipenv | Python |
|
|
44
|
+
| `poetry.lock` | Poetry | Python |
|
|
45
|
+
| `uv.lock` | uv | Python |
|
|
46
|
+
| `Cargo.lock` | Cargo | Rust |
|
|
47
|
+
| `go.sum` | Go Modules | Go |
|
|
48
|
+
| `Gemfile.lock` | Bundler | Ruby |
|
|
49
|
+
| `composer.lock` | Composer | PHP |
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
Step2_ConfigurationFileAnalysis {
|
|
53
|
+
Examine root-level configuration files for framework indicators:
|
|
54
|
+
|
|
55
|
+
1. **Read `package.json`** - Check `dependencies` and `devDependencies` for framework packages
|
|
56
|
+
2. **Read `pyproject.toml`** - Check `[project.dependencies]` or `[tool.poetry.dependencies]`
|
|
57
|
+
3. **Read framework-specific configs** - `next.config.js`, `vite.config.ts`, `angular.json`, etc.
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
Step3_DirectoryStructurePatterns {
|
|
61
|
+
Identify framework conventions:
|
|
62
|
+
|
|
63
|
+
- `app/` or `src/app/` - Next.js App Router, Angular
|
|
64
|
+
- `pages/` - Next.js Pages Router, Nuxt.js
|
|
65
|
+
- `components/` - React/Vue component-based architecture
|
|
66
|
+
- `routes/` - Remix, SvelteKit
|
|
67
|
+
- `views/` - Django, Rails, Laravel
|
|
68
|
+
- `controllers/` - MVC frameworks (Rails, Laravel, NestJS)
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
Step4_FrameworkSpecificPatterns {
|
|
72
|
+
Apply detection patterns from the framework signatures reference.
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
OutputFormat {
|
|
77
|
+
When reporting detected framework, include:
|
|
78
|
+
|
|
79
|
+
1. **Framework name and version** (if determinable)
|
|
80
|
+
2. **Package manager** (with command examples)
|
|
81
|
+
3. **Key configuration files** to be aware of
|
|
82
|
+
4. **Directory conventions** the framework expects
|
|
83
|
+
5. **Common commands** for development workflow
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
## References
|
|
88
|
+
|
|
89
|
+
See [framework-signatures.md](references/framework-signatures.md) for comprehensive detection patterns for all major frameworks.
|
|
@@ -0,0 +1,598 @@
|
|
|
1
|
+
# Reference: Framework Signatures
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
Comprehensive detection patterns for identifying frameworks, libraries, and tools across major ecosystems. Use these signatures to accurately identify project tech stacks.
|
|
6
|
+
|
|
7
|
+
## Quick Reference
|
|
8
|
+
|
|
9
|
+
| Ecosystem | Primary Manifest | Lock File | Config Pattern |
|
|
10
|
+
|-----------|-----------------|-----------|----------------|
|
|
11
|
+
| Node.js | `package.json` | `package-lock.json`, `yarn.lock`, `pnpm-lock.yaml` | `*.config.js/ts/mjs` |
|
|
12
|
+
| Python | `pyproject.toml`, `setup.py` | `poetry.lock`, `Pipfile.lock`, `requirements.txt` | `pyproject.toml`, `setup.cfg` |
|
|
13
|
+
| Rust | `Cargo.toml` | `Cargo.lock` | `Cargo.toml` |
|
|
14
|
+
| Go | `go.mod` | `go.sum` | `go.mod` |
|
|
15
|
+
| Ruby | `Gemfile` | `Gemfile.lock` | `config/*.rb` |
|
|
16
|
+
| PHP | `composer.json` | `composer.lock` | `*.php` configs |
|
|
17
|
+
| .NET | `*.csproj`, `*.sln` | `packages.lock.json` | `appsettings.json` |
|
|
18
|
+
| Java | `pom.xml`, `build.gradle` | Various | `application.properties/yml` |
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## Frontend Frameworks
|
|
23
|
+
|
|
24
|
+
### React
|
|
25
|
+
|
|
26
|
+
| Indicator | Pattern | Confidence |
|
|
27
|
+
|-----------|---------|------------|
|
|
28
|
+
| Dependency | `"react"` in package.json | HIGH |
|
|
29
|
+
| Dependency | `"react-dom"` in package.json | HIGH |
|
|
30
|
+
| File extension | `.jsx`, `.tsx` files | MEDIUM |
|
|
31
|
+
| Import pattern | `import React from 'react'` | HIGH |
|
|
32
|
+
| Config | `babel.config.js` with `@babel/preset-react` | HIGH |
|
|
33
|
+
|
|
34
|
+
**Common companions**: `react-router-dom`, `redux`, `@tanstack/react-query`, `zustand`
|
|
35
|
+
|
|
36
|
+
### Vue.js
|
|
37
|
+
|
|
38
|
+
| Indicator | Pattern | Confidence |
|
|
39
|
+
|-----------|---------|------------|
|
|
40
|
+
| Dependency | `"vue"` in package.json | HIGH |
|
|
41
|
+
| Config file | `vue.config.js` | HIGH |
|
|
42
|
+
| Config file | `vite.config.ts` with `@vitejs/plugin-vue` | HIGH |
|
|
43
|
+
| File extension | `.vue` files | HIGH |
|
|
44
|
+
| Directory | `src/components/*.vue` | HIGH |
|
|
45
|
+
|
|
46
|
+
**Version detection**:
|
|
47
|
+
- Vue 2: `"vue": "^2.x"`
|
|
48
|
+
- Vue 3: `"vue": "^3.x"`, presence of Composition API patterns
|
|
49
|
+
|
|
50
|
+
### Angular
|
|
51
|
+
|
|
52
|
+
| Indicator | Pattern | Confidence |
|
|
53
|
+
|-----------|---------|------------|
|
|
54
|
+
| Config file | `angular.json` | HIGH |
|
|
55
|
+
| Dependency | `"@angular/core"` in package.json | HIGH |
|
|
56
|
+
| File pattern | `*.component.ts`, `*.module.ts`, `*.service.ts` | HIGH |
|
|
57
|
+
| Directory | `src/app/` structure | MEDIUM |
|
|
58
|
+
| CLI | `@angular/cli` in devDependencies | HIGH |
|
|
59
|
+
|
|
60
|
+
### Svelte
|
|
61
|
+
|
|
62
|
+
| Indicator | Pattern | Confidence |
|
|
63
|
+
|-----------|---------|------------|
|
|
64
|
+
| Dependency | `"svelte"` in package.json | HIGH |
|
|
65
|
+
| Config file | `svelte.config.js` | HIGH |
|
|
66
|
+
| File extension | `.svelte` files | HIGH |
|
|
67
|
+
| Vite plugin | `@sveltejs/vite-plugin-svelte` | HIGH |
|
|
68
|
+
|
|
69
|
+
### Solid.js
|
|
70
|
+
|
|
71
|
+
| Indicator | Pattern | Confidence |
|
|
72
|
+
|-----------|---------|------------|
|
|
73
|
+
| Dependency | `"solid-js"` in package.json | HIGH |
|
|
74
|
+
| Config | `vite.config.ts` with `solid-start` | HIGH |
|
|
75
|
+
| File pattern | `.tsx` with `createSignal`, `createEffect` | MEDIUM |
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
## Meta-Frameworks
|
|
80
|
+
|
|
81
|
+
### Next.js
|
|
82
|
+
|
|
83
|
+
| Indicator | Pattern | Confidence |
|
|
84
|
+
|-----------|---------|------------|
|
|
85
|
+
| Dependency | `"next"` in package.json | HIGH |
|
|
86
|
+
| Config file | `next.config.js` or `next.config.mjs` | HIGH |
|
|
87
|
+
| Directory | `app/` (App Router) or `pages/` (Pages Router) | HIGH |
|
|
88
|
+
| File pattern | `layout.tsx`, `page.tsx` in app/ | HIGH |
|
|
89
|
+
| File pattern | `_app.tsx`, `_document.tsx` in pages/ | HIGH |
|
|
90
|
+
|
|
91
|
+
**Router detection**:
|
|
92
|
+
- App Router: `app/` directory with `layout.tsx`
|
|
93
|
+
- Pages Router: `pages/` directory with `_app.tsx`
|
|
94
|
+
|
|
95
|
+
### Nuxt.js
|
|
96
|
+
|
|
97
|
+
| Indicator | Pattern | Confidence |
|
|
98
|
+
|-----------|---------|------------|
|
|
99
|
+
| Dependency | `"nuxt"` in package.json | HIGH |
|
|
100
|
+
| Config file | `nuxt.config.ts` or `nuxt.config.js` | HIGH |
|
|
101
|
+
| Directory | `pages/`, `components/`, `composables/` | HIGH |
|
|
102
|
+
| File pattern | `app.vue` | HIGH |
|
|
103
|
+
|
|
104
|
+
**Version detection**:
|
|
105
|
+
- Nuxt 2: `"nuxt": "^2.x"`
|
|
106
|
+
- Nuxt 3: `"nuxt": "^3.x"`, TypeScript-first config
|
|
107
|
+
|
|
108
|
+
### Remix
|
|
109
|
+
|
|
110
|
+
| Indicator | Pattern | Confidence |
|
|
111
|
+
|-----------|---------|------------|
|
|
112
|
+
| Dependency | `"@remix-run/react"` in package.json | HIGH |
|
|
113
|
+
| Config file | `remix.config.js` | HIGH |
|
|
114
|
+
| Directory | `app/routes/` | HIGH |
|
|
115
|
+
| File pattern | `root.tsx`, route files with `loader`/`action` exports | HIGH |
|
|
116
|
+
|
|
117
|
+
### SvelteKit
|
|
118
|
+
|
|
119
|
+
| Indicator | Pattern | Confidence |
|
|
120
|
+
|-----------|---------|------------|
|
|
121
|
+
| Dependency | `"@sveltejs/kit"` in package.json | HIGH |
|
|
122
|
+
| Config file | `svelte.config.js` with `@sveltejs/kit` | HIGH |
|
|
123
|
+
| Directory | `src/routes/` | HIGH |
|
|
124
|
+
| File pattern | `+page.svelte`, `+layout.svelte` | HIGH |
|
|
125
|
+
|
|
126
|
+
### Astro
|
|
127
|
+
|
|
128
|
+
| Indicator | Pattern | Confidence |
|
|
129
|
+
|-----------|---------|------------|
|
|
130
|
+
| Dependency | `"astro"` in package.json | HIGH |
|
|
131
|
+
| Config file | `astro.config.mjs` | HIGH |
|
|
132
|
+
| Directory | `src/pages/`, `src/components/` | HIGH |
|
|
133
|
+
| File extension | `.astro` files | HIGH |
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
## Backend Frameworks (Node.js)
|
|
138
|
+
|
|
139
|
+
### Express.js
|
|
140
|
+
|
|
141
|
+
| Indicator | Pattern | Confidence |
|
|
142
|
+
|-----------|---------|------------|
|
|
143
|
+
| Dependency | `"express"` in package.json | HIGH |
|
|
144
|
+
| Code pattern | `const app = express()` | HIGH |
|
|
145
|
+
| Code pattern | `app.get()`, `app.post()`, `app.use()` | HIGH |
|
|
146
|
+
| File pattern | `app.js`, `server.js`, `index.js` entry point | MEDIUM |
|
|
147
|
+
|
|
148
|
+
### NestJS
|
|
149
|
+
|
|
150
|
+
| Indicator | Pattern | Confidence |
|
|
151
|
+
|-----------|---------|------------|
|
|
152
|
+
| Dependency | `"@nestjs/core"` in package.json | HIGH |
|
|
153
|
+
| Config file | `nest-cli.json` | HIGH |
|
|
154
|
+
| File pattern | `*.controller.ts`, `*.service.ts`, `*.module.ts` | HIGH |
|
|
155
|
+
| Directory | `src/` with module structure | MEDIUM |
|
|
156
|
+
| Decorator pattern | `@Controller()`, `@Injectable()`, `@Module()` | HIGH |
|
|
157
|
+
|
|
158
|
+
### Fastify
|
|
159
|
+
|
|
160
|
+
| Indicator | Pattern | Confidence |
|
|
161
|
+
|-----------|---------|------------|
|
|
162
|
+
| Dependency | `"fastify"` in package.json | HIGH |
|
|
163
|
+
| Code pattern | `fastify()`, `fastify.register()` | HIGH |
|
|
164
|
+
|
|
165
|
+
### Hono
|
|
166
|
+
|
|
167
|
+
| Indicator | Pattern | Confidence |
|
|
168
|
+
|-----------|---------|------------|
|
|
169
|
+
| Dependency | `"hono"` in package.json | HIGH |
|
|
170
|
+
| Code pattern | `new Hono()`, `app.get()` | HIGH |
|
|
171
|
+
|
|
172
|
+
### Koa
|
|
173
|
+
|
|
174
|
+
| Indicator | Pattern | Confidence |
|
|
175
|
+
|-----------|---------|------------|
|
|
176
|
+
| Dependency | `"koa"` in package.json | HIGH |
|
|
177
|
+
| Code pattern | `new Koa()`, `ctx.body` | HIGH |
|
|
178
|
+
|
|
179
|
+
---
|
|
180
|
+
|
|
181
|
+
## Python Frameworks
|
|
182
|
+
|
|
183
|
+
### Django
|
|
184
|
+
|
|
185
|
+
| Indicator | Pattern | Confidence |
|
|
186
|
+
|-----------|---------|------------|
|
|
187
|
+
| Dependency | `django` in requirements/pyproject.toml | HIGH |
|
|
188
|
+
| File | `manage.py` | HIGH |
|
|
189
|
+
| File | `settings.py` or `settings/` directory | HIGH |
|
|
190
|
+
| Directory | `<app>/models.py`, `<app>/views.py`, `<app>/urls.py` | HIGH |
|
|
191
|
+
| Config | `INSTALLED_APPS`, `MIDDLEWARE` in settings | HIGH |
|
|
192
|
+
|
|
193
|
+
### FastAPI
|
|
194
|
+
|
|
195
|
+
| Indicator | Pattern | Confidence |
|
|
196
|
+
|-----------|---------|------------|
|
|
197
|
+
| Dependency | `fastapi` in requirements/pyproject.toml | HIGH |
|
|
198
|
+
| Code pattern | `from fastapi import FastAPI` | HIGH |
|
|
199
|
+
| Code pattern | `@app.get()`, `@app.post()` decorators | HIGH |
|
|
200
|
+
| Companion | `uvicorn` in dependencies | MEDIUM |
|
|
201
|
+
|
|
202
|
+
### Flask
|
|
203
|
+
|
|
204
|
+
| Indicator | Pattern | Confidence |
|
|
205
|
+
|-----------|---------|------------|
|
|
206
|
+
| Dependency | `flask` in requirements/pyproject.toml | HIGH |
|
|
207
|
+
| Code pattern | `from flask import Flask` | HIGH |
|
|
208
|
+
| Code pattern | `app = Flask(__name__)` | HIGH |
|
|
209
|
+
| File pattern | `app.py`, `application.py` | MEDIUM |
|
|
210
|
+
|
|
211
|
+
### Starlette
|
|
212
|
+
|
|
213
|
+
| Indicator | Pattern | Confidence |
|
|
214
|
+
|-----------|---------|------------|
|
|
215
|
+
| Dependency | `starlette` in requirements/pyproject.toml | HIGH |
|
|
216
|
+
| Code pattern | `from starlette.applications import Starlette` | HIGH |
|
|
217
|
+
|
|
218
|
+
---
|
|
219
|
+
|
|
220
|
+
## Build Tools and Bundlers
|
|
221
|
+
|
|
222
|
+
### Vite
|
|
223
|
+
|
|
224
|
+
| Indicator | Pattern | Confidence |
|
|
225
|
+
|-----------|---------|------------|
|
|
226
|
+
| Dependency | `"vite"` in devDependencies | HIGH |
|
|
227
|
+
| Config file | `vite.config.ts` or `vite.config.js` | HIGH |
|
|
228
|
+
| Script | `"dev": "vite"` in package.json scripts | HIGH |
|
|
229
|
+
|
|
230
|
+
### Webpack
|
|
231
|
+
|
|
232
|
+
| Indicator | Pattern | Confidence |
|
|
233
|
+
|-----------|---------|------------|
|
|
234
|
+
| Dependency | `"webpack"` in devDependencies | HIGH |
|
|
235
|
+
| Config file | `webpack.config.js` | HIGH |
|
|
236
|
+
| Directory | `dist/` or `build/` output | MEDIUM |
|
|
237
|
+
|
|
238
|
+
### esbuild
|
|
239
|
+
|
|
240
|
+
| Indicator | Pattern | Confidence |
|
|
241
|
+
|-----------|---------|------------|
|
|
242
|
+
| Dependency | `"esbuild"` in devDependencies | HIGH |
|
|
243
|
+
| Script | Build script using `esbuild` | HIGH |
|
|
244
|
+
|
|
245
|
+
### Turbopack
|
|
246
|
+
|
|
247
|
+
| Indicator | Pattern | Confidence |
|
|
248
|
+
|-----------|---------|------------|
|
|
249
|
+
| Config | `next.config.js` with `experimental.turbo` | HIGH |
|
|
250
|
+
| Script | `next dev --turbo` | HIGH |
|
|
251
|
+
|
|
252
|
+
### Rollup
|
|
253
|
+
|
|
254
|
+
| Indicator | Pattern | Confidence |
|
|
255
|
+
|-----------|---------|------------|
|
|
256
|
+
| Dependency | `"rollup"` in devDependencies | HIGH |
|
|
257
|
+
| Config file | `rollup.config.js` | HIGH |
|
|
258
|
+
|
|
259
|
+
### Parcel
|
|
260
|
+
|
|
261
|
+
| Indicator | Pattern | Confidence |
|
|
262
|
+
|-----------|---------|------------|
|
|
263
|
+
| Dependency | `"parcel"` in devDependencies | HIGH |
|
|
264
|
+
| Script | `"start": "parcel"` | HIGH |
|
|
265
|
+
|
|
266
|
+
---
|
|
267
|
+
|
|
268
|
+
## CSS and Styling
|
|
269
|
+
|
|
270
|
+
### Tailwind CSS
|
|
271
|
+
|
|
272
|
+
| Indicator | Pattern | Confidence |
|
|
273
|
+
|-----------|---------|------------|
|
|
274
|
+
| Dependency | `"tailwindcss"` in devDependencies | HIGH |
|
|
275
|
+
| Config file | `tailwind.config.js` or `tailwind.config.ts` | HIGH |
|
|
276
|
+
| CSS directive | `@tailwind base/components/utilities` | HIGH |
|
|
277
|
+
| Class pattern | `className="flex items-center..."` | MEDIUM |
|
|
278
|
+
|
|
279
|
+
### Styled Components
|
|
280
|
+
|
|
281
|
+
| Indicator | Pattern | Confidence |
|
|
282
|
+
|-----------|---------|------------|
|
|
283
|
+
| Dependency | `"styled-components"` in dependencies | HIGH |
|
|
284
|
+
| Code pattern | ``styled.div`...` `` template literals | HIGH |
|
|
285
|
+
|
|
286
|
+
### Emotion
|
|
287
|
+
|
|
288
|
+
| Indicator | Pattern | Confidence |
|
|
289
|
+
|-----------|---------|------------|
|
|
290
|
+
| Dependency | `"@emotion/react"` or `"@emotion/styled"` | HIGH |
|
|
291
|
+
| Code pattern | `css` prop or `styled` API | HIGH |
|
|
292
|
+
|
|
293
|
+
### Sass/SCSS
|
|
294
|
+
|
|
295
|
+
| Indicator | Pattern | Confidence |
|
|
296
|
+
|-----------|---------|------------|
|
|
297
|
+
| Dependency | `"sass"` in devDependencies | HIGH |
|
|
298
|
+
| File extension | `.scss`, `.sass` files | HIGH |
|
|
299
|
+
|
|
300
|
+
### CSS Modules
|
|
301
|
+
|
|
302
|
+
| Indicator | Pattern | Confidence |
|
|
303
|
+
|-----------|---------|------------|
|
|
304
|
+
| File extension | `*.module.css`, `*.module.scss` | HIGH |
|
|
305
|
+
| Import pattern | `import styles from './Component.module.css'` | HIGH |
|
|
306
|
+
|
|
307
|
+
---
|
|
308
|
+
|
|
309
|
+
## Database and ORM
|
|
310
|
+
|
|
311
|
+
### Prisma
|
|
312
|
+
|
|
313
|
+
| Indicator | Pattern | Confidence |
|
|
314
|
+
|-----------|---------|------------|
|
|
315
|
+
| Dependency | `"prisma"` or `"@prisma/client"` | HIGH |
|
|
316
|
+
| File | `prisma/schema.prisma` | HIGH |
|
|
317
|
+
| Directory | `prisma/migrations/` | HIGH |
|
|
318
|
+
|
|
319
|
+
### Drizzle
|
|
320
|
+
|
|
321
|
+
| Indicator | Pattern | Confidence |
|
|
322
|
+
|-----------|---------|------------|
|
|
323
|
+
| Dependency | `"drizzle-orm"` in dependencies | HIGH |
|
|
324
|
+
| Config file | `drizzle.config.ts` | HIGH |
|
|
325
|
+
| Directory | `drizzle/` migrations folder | HIGH |
|
|
326
|
+
|
|
327
|
+
### TypeORM
|
|
328
|
+
|
|
329
|
+
| Indicator | Pattern | Confidence |
|
|
330
|
+
|-----------|---------|------------|
|
|
331
|
+
| Dependency | `"typeorm"` in dependencies | HIGH |
|
|
332
|
+
| File | `ormconfig.json` or `data-source.ts` | HIGH |
|
|
333
|
+
| Decorator pattern | `@Entity()`, `@Column()` | HIGH |
|
|
334
|
+
|
|
335
|
+
### Sequelize
|
|
336
|
+
|
|
337
|
+
| Indicator | Pattern | Confidence |
|
|
338
|
+
|-----------|---------|------------|
|
|
339
|
+
| Dependency | `"sequelize"` in dependencies | HIGH |
|
|
340
|
+
| Directory | `migrations/`, `seeders/`, `models/` | HIGH |
|
|
341
|
+
|
|
342
|
+
### Mongoose
|
|
343
|
+
|
|
344
|
+
| Indicator | Pattern | Confidence |
|
|
345
|
+
|-----------|---------|------------|
|
|
346
|
+
| Dependency | `"mongoose"` in dependencies | HIGH |
|
|
347
|
+
| Code pattern | `mongoose.Schema`, `mongoose.model` | HIGH |
|
|
348
|
+
|
|
349
|
+
### SQLAlchemy
|
|
350
|
+
|
|
351
|
+
| Indicator | Pattern | Confidence |
|
|
352
|
+
|-----------|---------|------------|
|
|
353
|
+
| Dependency | `sqlalchemy` in requirements | HIGH |
|
|
354
|
+
| Code pattern | `from sqlalchemy import ...` | HIGH |
|
|
355
|
+
|
|
356
|
+
---
|
|
357
|
+
|
|
358
|
+
## Testing Frameworks
|
|
359
|
+
|
|
360
|
+
### Jest
|
|
361
|
+
|
|
362
|
+
| Indicator | Pattern | Confidence |
|
|
363
|
+
|-----------|---------|------------|
|
|
364
|
+
| Dependency | `"jest"` in devDependencies | HIGH |
|
|
365
|
+
| Config file | `jest.config.js` or `jest.config.ts` | HIGH |
|
|
366
|
+
| File pattern | `*.test.js`, `*.spec.js` | HIGH |
|
|
367
|
+
| Script | `"test": "jest"` | HIGH |
|
|
368
|
+
|
|
369
|
+
### Vitest
|
|
370
|
+
|
|
371
|
+
| Indicator | Pattern | Confidence |
|
|
372
|
+
|-----------|---------|------------|
|
|
373
|
+
| Dependency | `"vitest"` in devDependencies | HIGH |
|
|
374
|
+
| Config file | `vitest.config.ts` | HIGH |
|
|
375
|
+
| Script | `"test": "vitest"` | HIGH |
|
|
376
|
+
|
|
377
|
+
### Playwright
|
|
378
|
+
|
|
379
|
+
| Indicator | Pattern | Confidence |
|
|
380
|
+
|-----------|---------|------------|
|
|
381
|
+
| Dependency | `"@playwright/test"` in devDependencies | HIGH |
|
|
382
|
+
| Config file | `playwright.config.ts` | HIGH |
|
|
383
|
+
| Directory | `tests/` or `e2e/` | MEDIUM |
|
|
384
|
+
|
|
385
|
+
### Cypress
|
|
386
|
+
|
|
387
|
+
| Indicator | Pattern | Confidence |
|
|
388
|
+
|-----------|---------|------------|
|
|
389
|
+
| Dependency | `"cypress"` in devDependencies | HIGH |
|
|
390
|
+
| Config file | `cypress.config.ts` or `cypress.json` | HIGH |
|
|
391
|
+
| Directory | `cypress/` | HIGH |
|
|
392
|
+
|
|
393
|
+
### pytest
|
|
394
|
+
|
|
395
|
+
| Indicator | Pattern | Confidence |
|
|
396
|
+
|-----------|---------|------------|
|
|
397
|
+
| Dependency | `pytest` in requirements | HIGH |
|
|
398
|
+
| Config | `pytest.ini` or `pyproject.toml` [tool.pytest] | HIGH |
|
|
399
|
+
| File pattern | `test_*.py`, `*_test.py` | HIGH |
|
|
400
|
+
|
|
401
|
+
---
|
|
402
|
+
|
|
403
|
+
## API and Data Fetching
|
|
404
|
+
|
|
405
|
+
### tRPC
|
|
406
|
+
|
|
407
|
+
| Indicator | Pattern | Confidence |
|
|
408
|
+
|-----------|---------|------------|
|
|
409
|
+
| Dependency | `"@trpc/server"` or `"@trpc/client"` | HIGH |
|
|
410
|
+
| Directory | `server/trpc/` or similar | HIGH |
|
|
411
|
+
| Code pattern | `router`, `procedure` | HIGH |
|
|
412
|
+
|
|
413
|
+
### GraphQL
|
|
414
|
+
|
|
415
|
+
| Indicator | Pattern | Confidence |
|
|
416
|
+
|-----------|---------|------------|
|
|
417
|
+
| Dependency | `"graphql"` in dependencies | HIGH |
|
|
418
|
+
| Dependency | `"@apollo/client"` or `"urql"` | HIGH |
|
|
419
|
+
| File extension | `.graphql`, `.gql` files | HIGH |
|
|
420
|
+
| Directory | `graphql/` or `schema/` | MEDIUM |
|
|
421
|
+
|
|
422
|
+
### React Query / TanStack Query
|
|
423
|
+
|
|
424
|
+
| Indicator | Pattern | Confidence |
|
|
425
|
+
|-----------|---------|------------|
|
|
426
|
+
| Dependency | `"@tanstack/react-query"` | HIGH |
|
|
427
|
+
| Code pattern | `useQuery`, `useMutation` hooks | HIGH |
|
|
428
|
+
|
|
429
|
+
### SWR
|
|
430
|
+
|
|
431
|
+
| Indicator | Pattern | Confidence |
|
|
432
|
+
|-----------|---------|------------|
|
|
433
|
+
| Dependency | `"swr"` in dependencies | HIGH |
|
|
434
|
+
| Code pattern | `useSWR` hook | HIGH |
|
|
435
|
+
|
|
436
|
+
---
|
|
437
|
+
|
|
438
|
+
## Monorepo Tools
|
|
439
|
+
|
|
440
|
+
### Turborepo
|
|
441
|
+
|
|
442
|
+
| Indicator | Pattern | Confidence |
|
|
443
|
+
|-----------|---------|------------|
|
|
444
|
+
| Dependency | `"turbo"` in devDependencies | HIGH |
|
|
445
|
+
| Config file | `turbo.json` | HIGH |
|
|
446
|
+
|
|
447
|
+
### Nx
|
|
448
|
+
|
|
449
|
+
| Indicator | Pattern | Confidence |
|
|
450
|
+
|-----------|---------|------------|
|
|
451
|
+
| Config file | `nx.json` | HIGH |
|
|
452
|
+
| Directory | `apps/`, `libs/` structure | HIGH |
|
|
453
|
+
|
|
454
|
+
### Lerna
|
|
455
|
+
|
|
456
|
+
| Indicator | Pattern | Confidence |
|
|
457
|
+
|-----------|---------|------------|
|
|
458
|
+
| Config file | `lerna.json` | HIGH |
|
|
459
|
+
| Dependency | `"lerna"` in devDependencies | HIGH |
|
|
460
|
+
|
|
461
|
+
### pnpm Workspaces
|
|
462
|
+
|
|
463
|
+
| Indicator | Pattern | Confidence |
|
|
464
|
+
|-----------|---------|------------|
|
|
465
|
+
| Config file | `pnpm-workspace.yaml` | HIGH |
|
|
466
|
+
| Lock file | `pnpm-lock.yaml` | HIGH |
|
|
467
|
+
|
|
468
|
+
---
|
|
469
|
+
|
|
470
|
+
## Mobile Frameworks
|
|
471
|
+
|
|
472
|
+
### React Native
|
|
473
|
+
|
|
474
|
+
| Indicator | Pattern | Confidence |
|
|
475
|
+
|-----------|---------|------------|
|
|
476
|
+
| Dependency | `"react-native"` in dependencies | HIGH |
|
|
477
|
+
| Config file | `metro.config.js` | HIGH |
|
|
478
|
+
| Directory | `ios/`, `android/` | HIGH |
|
|
479
|
+
| File | `app.json` with `expo` or RN config | HIGH |
|
|
480
|
+
|
|
481
|
+
### Expo
|
|
482
|
+
|
|
483
|
+
| Indicator | Pattern | Confidence |
|
|
484
|
+
|-----------|---------|------------|
|
|
485
|
+
| Dependency | `"expo"` in dependencies | HIGH |
|
|
486
|
+
| Config file | `app.json` with `expo` key | HIGH |
|
|
487
|
+
| Config file | `app.config.js` or `app.config.ts` | HIGH |
|
|
488
|
+
|
|
489
|
+
### Flutter
|
|
490
|
+
|
|
491
|
+
| Indicator | Pattern | Confidence |
|
|
492
|
+
|-----------|---------|------------|
|
|
493
|
+
| File | `pubspec.yaml` | HIGH |
|
|
494
|
+
| Directory | `lib/`, `android/`, `ios/` | HIGH |
|
|
495
|
+
| File extension | `.dart` files | HIGH |
|
|
496
|
+
|
|
497
|
+
---
|
|
498
|
+
|
|
499
|
+
## Deployment Platforms
|
|
500
|
+
|
|
501
|
+
### Vercel
|
|
502
|
+
|
|
503
|
+
| Indicator | Pattern | Confidence |
|
|
504
|
+
|-----------|---------|------------|
|
|
505
|
+
| Config file | `vercel.json` | HIGH |
|
|
506
|
+
| Directory | `.vercel/` | HIGH |
|
|
507
|
+
|
|
508
|
+
### Netlify
|
|
509
|
+
|
|
510
|
+
| Indicator | Pattern | Confidence |
|
|
511
|
+
|-----------|---------|------------|
|
|
512
|
+
| Config file | `netlify.toml` | HIGH |
|
|
513
|
+
| Directory | `.netlify/` | HIGH |
|
|
514
|
+
|
|
515
|
+
### Docker
|
|
516
|
+
|
|
517
|
+
| Indicator | Pattern | Confidence |
|
|
518
|
+
|-----------|---------|------------|
|
|
519
|
+
| File | `Dockerfile` | HIGH |
|
|
520
|
+
| File | `docker-compose.yml` or `compose.yaml` | HIGH |
|
|
521
|
+
| File | `.dockerignore` | MEDIUM |
|
|
522
|
+
|
|
523
|
+
### Kubernetes
|
|
524
|
+
|
|
525
|
+
| Indicator | Pattern | Confidence |
|
|
526
|
+
|-----------|---------|------------|
|
|
527
|
+
| Directory | `k8s/`, `kubernetes/`, `manifests/` | HIGH |
|
|
528
|
+
| File pattern | `*.yaml` with `apiVersion`, `kind` | HIGH |
|
|
529
|
+
| File | `Helm` charts in `charts/` | HIGH |
|
|
530
|
+
|
|
531
|
+
---
|
|
532
|
+
|
|
533
|
+
## State Management
|
|
534
|
+
|
|
535
|
+
### Redux
|
|
536
|
+
|
|
537
|
+
| Indicator | Pattern | Confidence |
|
|
538
|
+
|-----------|---------|------------|
|
|
539
|
+
| Dependency | `"redux"` or `"@reduxjs/toolkit"` | HIGH |
|
|
540
|
+
| Directory | `store/`, `slices/` | MEDIUM |
|
|
541
|
+
| Code pattern | `createSlice`, `configureStore` | HIGH |
|
|
542
|
+
|
|
543
|
+
### Zustand
|
|
544
|
+
|
|
545
|
+
| Indicator | Pattern | Confidence |
|
|
546
|
+
|-----------|---------|------------|
|
|
547
|
+
| Dependency | `"zustand"` in dependencies | HIGH |
|
|
548
|
+
| Code pattern | `create()` store pattern | HIGH |
|
|
549
|
+
|
|
550
|
+
### Jotai
|
|
551
|
+
|
|
552
|
+
| Indicator | Pattern | Confidence |
|
|
553
|
+
|-----------|---------|------------|
|
|
554
|
+
| Dependency | `"jotai"` in dependencies | HIGH |
|
|
555
|
+
| Code pattern | `atom()`, `useAtom()` | HIGH |
|
|
556
|
+
|
|
557
|
+
### Pinia
|
|
558
|
+
|
|
559
|
+
| Indicator | Pattern | Confidence |
|
|
560
|
+
|-----------|---------|------------|
|
|
561
|
+
| Dependency | `"pinia"` in dependencies | HIGH |
|
|
562
|
+
| Directory | `stores/` | MEDIUM |
|
|
563
|
+
| Code pattern | `defineStore()` | HIGH |
|
|
564
|
+
|
|
565
|
+
---
|
|
566
|
+
|
|
567
|
+
## Authentication
|
|
568
|
+
|
|
569
|
+
### NextAuth.js / Auth.js
|
|
570
|
+
|
|
571
|
+
| Indicator | Pattern | Confidence |
|
|
572
|
+
|-----------|---------|------------|
|
|
573
|
+
| Dependency | `"next-auth"` or `"@auth/core"` | HIGH |
|
|
574
|
+
| File | `[...nextauth].ts` or `auth.ts` | HIGH |
|
|
575
|
+
| Directory | `app/api/auth/` | HIGH |
|
|
576
|
+
|
|
577
|
+
### Clerk
|
|
578
|
+
|
|
579
|
+
| Indicator | Pattern | Confidence |
|
|
580
|
+
|-----------|---------|------------|
|
|
581
|
+
| Dependency | `"@clerk/nextjs"` or similar | HIGH |
|
|
582
|
+
| Code pattern | `<ClerkProvider>` | HIGH |
|
|
583
|
+
|
|
584
|
+
### Supabase Auth
|
|
585
|
+
|
|
586
|
+
| Indicator | Pattern | Confidence |
|
|
587
|
+
|-----------|---------|------------|
|
|
588
|
+
| Dependency | `"@supabase/supabase-js"` | HIGH |
|
|
589
|
+
| Code pattern | `supabase.auth` | HIGH |
|
|
590
|
+
|
|
591
|
+
---
|
|
592
|
+
|
|
593
|
+
## External Resources
|
|
594
|
+
|
|
595
|
+
- [State of JS Survey](https://stateofjs.com) - Annual ecosystem trends
|
|
596
|
+
- [npm trends](https://npmtrends.com) - Package popularity comparison
|
|
597
|
+
- [BuiltWith](https://builtwith.com) - Technology detection reference
|
|
598
|
+
- [Wappalyzer](https://www.wappalyzer.com) - Web technology profiler patterns
|