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.
Files changed (156) hide show
  1. package/README.md +140 -0
  2. package/dist/cli.cjs +63 -0
  3. package/dist/mcp-server.cjs +51 -0
  4. package/dist/plugin.cjs +4 -0
  5. package/dist/worker.cjs +224 -0
  6. package/opencode/agent/the-analyst/feature-prioritization.md +66 -0
  7. package/opencode/agent/the-analyst/market-research.md +77 -0
  8. package/opencode/agent/the-analyst/project-coordination.md +81 -0
  9. package/opencode/agent/the-analyst/requirements-analysis.md +77 -0
  10. package/opencode/agent/the-architect/compatibility-review.md +138 -0
  11. package/opencode/agent/the-architect/complexity-review.md +137 -0
  12. package/opencode/agent/the-architect/quality-review.md +67 -0
  13. package/opencode/agent/the-architect/security-review.md +127 -0
  14. package/opencode/agent/the-architect/system-architecture.md +119 -0
  15. package/opencode/agent/the-architect/system-documentation.md +83 -0
  16. package/opencode/agent/the-architect/technology-research.md +85 -0
  17. package/opencode/agent/the-chief.md +79 -0
  18. package/opencode/agent/the-designer/accessibility-implementation.md +101 -0
  19. package/opencode/agent/the-designer/design-foundation.md +74 -0
  20. package/opencode/agent/the-designer/interaction-architecture.md +75 -0
  21. package/opencode/agent/the-designer/user-research.md +70 -0
  22. package/opencode/agent/the-meta-agent.md +155 -0
  23. package/opencode/agent/the-platform-engineer/ci-cd-pipelines.md +109 -0
  24. package/opencode/agent/the-platform-engineer/containerization.md +106 -0
  25. package/opencode/agent/the-platform-engineer/data-architecture.md +81 -0
  26. package/opencode/agent/the-platform-engineer/dependency-review.md +144 -0
  27. package/opencode/agent/the-platform-engineer/deployment-automation.md +81 -0
  28. package/opencode/agent/the-platform-engineer/infrastructure-as-code.md +107 -0
  29. package/opencode/agent/the-platform-engineer/performance-tuning.md +82 -0
  30. package/opencode/agent/the-platform-engineer/pipeline-engineering.md +81 -0
  31. package/opencode/agent/the-platform-engineer/production-monitoring.md +105 -0
  32. package/opencode/agent/the-qa-engineer/exploratory-testing.md +66 -0
  33. package/opencode/agent/the-qa-engineer/performance-testing.md +81 -0
  34. package/opencode/agent/the-qa-engineer/quality-assurance.md +77 -0
  35. package/opencode/agent/the-qa-engineer/test-execution.md +66 -0
  36. package/opencode/agent/the-software-engineer/api-development.md +78 -0
  37. package/opencode/agent/the-software-engineer/component-development.md +79 -0
  38. package/opencode/agent/the-software-engineer/concurrency-review.md +141 -0
  39. package/opencode/agent/the-software-engineer/domain-modeling.md +66 -0
  40. package/opencode/agent/the-software-engineer/performance-optimization.md +113 -0
  41. package/opencode/command/analyze.md +149 -0
  42. package/opencode/command/constitution.md +178 -0
  43. package/opencode/command/debug.md +194 -0
  44. package/opencode/command/document.md +178 -0
  45. package/opencode/command/implement.md +225 -0
  46. package/opencode/command/refactor.md +207 -0
  47. package/opencode/command/review.md +229 -0
  48. package/opencode/command/simplify.md +267 -0
  49. package/opencode/command/specify.md +191 -0
  50. package/opencode/command/validate.md +224 -0
  51. package/opencode/skill/accessibility-design/SKILL.md +566 -0
  52. package/opencode/skill/accessibility-design/checklists/wcag-checklist.md +435 -0
  53. package/opencode/skill/agent-coordination/SKILL.md +224 -0
  54. package/opencode/skill/api-contract-design/SKILL.md +550 -0
  55. package/opencode/skill/api-contract-design/templates/graphql-schema-template.md +818 -0
  56. package/opencode/skill/api-contract-design/templates/rest-api-template.md +417 -0
  57. package/opencode/skill/architecture-design/SKILL.md +160 -0
  58. package/opencode/skill/architecture-design/examples/architecture-examples.md +170 -0
  59. package/opencode/skill/architecture-design/template.md +749 -0
  60. package/opencode/skill/architecture-design/validation.md +99 -0
  61. package/opencode/skill/architecture-selection/SKILL.md +522 -0
  62. package/opencode/skill/architecture-selection/examples/adrs/001-example-adr.md +71 -0
  63. package/opencode/skill/architecture-selection/examples/architecture-patterns.md +239 -0
  64. package/opencode/skill/bug-diagnosis/SKILL.md +235 -0
  65. package/opencode/skill/code-quality-review/SKILL.md +337 -0
  66. package/opencode/skill/code-quality-review/examples/anti-patterns.md +629 -0
  67. package/opencode/skill/code-quality-review/reference.md +322 -0
  68. package/opencode/skill/code-review/SKILL.md +363 -0
  69. package/opencode/skill/code-review/reference.md +450 -0
  70. package/opencode/skill/codebase-analysis/SKILL.md +139 -0
  71. package/opencode/skill/codebase-navigation/SKILL.md +227 -0
  72. package/opencode/skill/codebase-navigation/examples/exploration-patterns.md +263 -0
  73. package/opencode/skill/coding-conventions/SKILL.md +178 -0
  74. package/opencode/skill/coding-conventions/checklists/accessibility-checklist.md +176 -0
  75. package/opencode/skill/coding-conventions/checklists/performance-checklist.md +154 -0
  76. package/opencode/skill/coding-conventions/checklists/security-checklist.md +127 -0
  77. package/opencode/skill/constitution-validation/SKILL.md +315 -0
  78. package/opencode/skill/constitution-validation/examples/CONSTITUTION.md +202 -0
  79. package/opencode/skill/constitution-validation/reference/rule-patterns.md +328 -0
  80. package/opencode/skill/constitution-validation/template.md +115 -0
  81. package/opencode/skill/context-preservation/SKILL.md +445 -0
  82. package/opencode/skill/data-modeling/SKILL.md +385 -0
  83. package/opencode/skill/data-modeling/templates/schema-design-template.md +268 -0
  84. package/opencode/skill/deployment-pipeline-design/SKILL.md +579 -0
  85. package/opencode/skill/deployment-pipeline-design/templates/pipeline-template.md +633 -0
  86. package/opencode/skill/documentation-extraction/SKILL.md +259 -0
  87. package/opencode/skill/documentation-sync/SKILL.md +431 -0
  88. package/opencode/skill/domain-driven-design/SKILL.md +509 -0
  89. package/opencode/skill/domain-driven-design/examples/ddd-patterns.md +688 -0
  90. package/opencode/skill/domain-driven-design/reference.md +465 -0
  91. package/opencode/skill/drift-detection/SKILL.md +383 -0
  92. package/opencode/skill/drift-detection/reference.md +340 -0
  93. package/opencode/skill/error-recovery/SKILL.md +162 -0
  94. package/opencode/skill/error-recovery/examples/error-patterns.md +484 -0
  95. package/opencode/skill/feature-prioritization/SKILL.md +419 -0
  96. package/opencode/skill/feature-prioritization/examples/rice-template.md +139 -0
  97. package/opencode/skill/feature-prioritization/reference.md +256 -0
  98. package/opencode/skill/git-workflow/SKILL.md +453 -0
  99. package/opencode/skill/implementation-planning/SKILL.md +215 -0
  100. package/opencode/skill/implementation-planning/examples/phase-examples.md +217 -0
  101. package/opencode/skill/implementation-planning/template.md +220 -0
  102. package/opencode/skill/implementation-planning/validation.md +88 -0
  103. package/opencode/skill/implementation-verification/SKILL.md +272 -0
  104. package/opencode/skill/knowledge-capture/SKILL.md +265 -0
  105. package/opencode/skill/knowledge-capture/reference/knowledge-capture.md +402 -0
  106. package/opencode/skill/knowledge-capture/reference.md +444 -0
  107. package/opencode/skill/knowledge-capture/templates/domain-template.md +325 -0
  108. package/opencode/skill/knowledge-capture/templates/interface-template.md +255 -0
  109. package/opencode/skill/knowledge-capture/templates/pattern-template.md +144 -0
  110. package/opencode/skill/observability-design/SKILL.md +291 -0
  111. package/opencode/skill/observability-design/references/monitoring-patterns.md +461 -0
  112. package/opencode/skill/pattern-detection/SKILL.md +171 -0
  113. package/opencode/skill/pattern-detection/examples/common-patterns.md +359 -0
  114. package/opencode/skill/performance-analysis/SKILL.md +266 -0
  115. package/opencode/skill/performance-analysis/references/profiling-tools.md +499 -0
  116. package/opencode/skill/requirements-analysis/SKILL.md +139 -0
  117. package/opencode/skill/requirements-analysis/examples/good-prd.md +66 -0
  118. package/opencode/skill/requirements-analysis/template.md +177 -0
  119. package/opencode/skill/requirements-analysis/validation.md +69 -0
  120. package/opencode/skill/requirements-elicitation/SKILL.md +518 -0
  121. package/opencode/skill/requirements-elicitation/examples/interview-questions.md +226 -0
  122. package/opencode/skill/requirements-elicitation/examples/user-stories.md +414 -0
  123. package/opencode/skill/safe-refactoring/SKILL.md +312 -0
  124. package/opencode/skill/safe-refactoring/reference/code-smells.md +347 -0
  125. package/opencode/skill/security-assessment/SKILL.md +421 -0
  126. package/opencode/skill/security-assessment/checklists/security-review-checklist.md +285 -0
  127. package/opencode/skill/specification-management/SKILL.md +143 -0
  128. package/opencode/skill/specification-management/readme-template.md +32 -0
  129. package/opencode/skill/specification-management/reference.md +115 -0
  130. package/opencode/skill/specification-management/spec.py +229 -0
  131. package/opencode/skill/specification-validation/SKILL.md +397 -0
  132. package/opencode/skill/specification-validation/reference/3cs-framework.md +306 -0
  133. package/opencode/skill/specification-validation/reference/ambiguity-detection.md +132 -0
  134. package/opencode/skill/specification-validation/reference/constitution-validation.md +301 -0
  135. package/opencode/skill/specification-validation/reference/drift-detection.md +383 -0
  136. package/opencode/skill/task-delegation/SKILL.md +607 -0
  137. package/opencode/skill/task-delegation/examples/file-coordination.md +495 -0
  138. package/opencode/skill/task-delegation/examples/parallel-research.md +337 -0
  139. package/opencode/skill/task-delegation/examples/sequential-build.md +504 -0
  140. package/opencode/skill/task-delegation/reference.md +825 -0
  141. package/opencode/skill/tech-stack-detection/SKILL.md +89 -0
  142. package/opencode/skill/tech-stack-detection/references/framework-signatures.md +598 -0
  143. package/opencode/skill/technical-writing/SKILL.md +190 -0
  144. package/opencode/skill/technical-writing/templates/adr-template.md +205 -0
  145. package/opencode/skill/technical-writing/templates/system-doc-template.md +380 -0
  146. package/opencode/skill/test-design/SKILL.md +464 -0
  147. package/opencode/skill/test-design/examples/test-pyramid.md +724 -0
  148. package/opencode/skill/testing/SKILL.md +213 -0
  149. package/opencode/skill/testing/examples/test-pyramid.md +724 -0
  150. package/opencode/skill/user-insight-synthesis/SKILL.md +576 -0
  151. package/opencode/skill/user-insight-synthesis/templates/research-plan-template.md +217 -0
  152. package/opencode/skill/user-research/SKILL.md +508 -0
  153. package/opencode/skill/user-research/examples/interview-questions.md +265 -0
  154. package/opencode/skill/user-research/examples/personas.md +267 -0
  155. package/opencode/skill/vibe-security/SKILL.md +654 -0
  156. 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