@codihaus/claude-skills 1.0.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 +167 -0
- package/bin/cli.js +58 -0
- package/package.json +46 -0
- package/skills/_quality-attributes.md +392 -0
- package/skills/_registry.md +189 -0
- package/skills/debrief/SKILL.md +647 -0
- package/skills/debrief/references/change-request-template.md +124 -0
- package/skills/debrief/references/file-patterns.md +173 -0
- package/skills/debrief/references/group-codes.md +72 -0
- package/skills/debrief/references/research-queries.md +106 -0
- package/skills/debrief/references/use-case-template.md +141 -0
- package/skills/debrief/scripts/generate_questionnaire.py +195 -0
- package/skills/dev-arch/SKILL.md +747 -0
- package/skills/dev-changelog/SKILL.md +378 -0
- package/skills/dev-coding/SKILL.md +470 -0
- package/skills/dev-coding-backend/SKILL.md +361 -0
- package/skills/dev-coding-frontend/SKILL.md +534 -0
- package/skills/dev-coding-frontend/references/nextjs.md +477 -0
- package/skills/dev-review/SKILL.md +548 -0
- package/skills/dev-scout/SKILL.md +723 -0
- package/skills/dev-scout/references/feature-patterns.md +210 -0
- package/skills/dev-scout/references/file-patterns.md +252 -0
- package/skills/dev-scout/references/tech-detection.md +211 -0
- package/skills/dev-scout/scripts/scout-analyze.sh +280 -0
- package/skills/dev-specs/SKILL.md +577 -0
- package/skills/dev-specs/references/checklist.md +176 -0
- package/skills/dev-specs/references/spec-templates.md +460 -0
- package/skills/dev-test/SKILL.md +364 -0
- package/skills/utils/diagram/SKILL.md +205 -0
- package/skills/utils/diagram/references/common-errors.md +305 -0
- package/skills/utils/diagram/references/diagram-types.md +636 -0
- package/skills/utils/docs-graph/SKILL.md +204 -0
- package/skills/utils/gemini/SKILL.md +292 -0
- package/skills/utils/gemini/scripts/gemini-scan.py +340 -0
- package/skills/utils/gemini/scripts/setup.sh +169 -0
- package/src/commands/add.js +64 -0
- package/src/commands/doctor.js +179 -0
- package/src/commands/init.js +251 -0
- package/src/commands/list.js +88 -0
- package/src/commands/remove.js +60 -0
- package/src/commands/update.js +72 -0
- package/src/index.js +26 -0
- package/src/utils/config.js +272 -0
- package/src/utils/deps.js +599 -0
- package/src/utils/skills.js +253 -0
- package/templates/CLAUDE.md.template +58 -0
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
# Feature Inference Patterns
|
|
2
|
+
|
|
3
|
+
Map file/folder names to features.
|
|
4
|
+
|
|
5
|
+
## Core Features
|
|
6
|
+
|
|
7
|
+
### Authentication
|
|
8
|
+
|
|
9
|
+
**Patterns**:
|
|
10
|
+
```
|
|
11
|
+
auth/, authentication/
|
|
12
|
+
login.*, signin.*, sign-in.*
|
|
13
|
+
signup.*, register.*, sign-up.*
|
|
14
|
+
logout.*, signout.*, sign-out.*
|
|
15
|
+
forgot-password.*, reset-password.*
|
|
16
|
+
verify.*, confirm.*, activate.*
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
**Evidence files**:
|
|
20
|
+
- `app/api/auth/[...nextauth]/route.ts`
|
|
21
|
+
- `lib/auth.ts`, `utils/auth.ts`
|
|
22
|
+
- `middleware.ts` (protected routes)
|
|
23
|
+
- `components/LoginForm.*`
|
|
24
|
+
|
|
25
|
+
### User Management
|
|
26
|
+
|
|
27
|
+
**Patterns**:
|
|
28
|
+
```
|
|
29
|
+
user/, users/
|
|
30
|
+
profile.*, account.*
|
|
31
|
+
settings.*, preferences.*
|
|
32
|
+
avatar.*, photo.*
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
**Evidence files**:
|
|
36
|
+
- `pages/profile.*`
|
|
37
|
+
- `components/UserCard.*`
|
|
38
|
+
- `api/users/**`
|
|
39
|
+
|
|
40
|
+
### Dashboard
|
|
41
|
+
|
|
42
|
+
**Patterns**:
|
|
43
|
+
```
|
|
44
|
+
dashboard/
|
|
45
|
+
overview.*, home.* (when inside dashboard/)
|
|
46
|
+
analytics.*, stats.*
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
**Evidence files**:
|
|
50
|
+
- `pages/dashboard/index.*`
|
|
51
|
+
- `components/DashboardLayout.*`
|
|
52
|
+
|
|
53
|
+
### Payments & Billing
|
|
54
|
+
|
|
55
|
+
**Patterns**:
|
|
56
|
+
```
|
|
57
|
+
payment/, payments/
|
|
58
|
+
checkout.*, cart.*
|
|
59
|
+
billing.*, invoice.*
|
|
60
|
+
subscription.*, plan.*, pricing.*
|
|
61
|
+
stripe/, paypal/
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
**Evidence files**:
|
|
65
|
+
- `api/stripe/**`
|
|
66
|
+
- `components/CheckoutForm.*`
|
|
67
|
+
- `lib/stripe.ts`
|
|
68
|
+
|
|
69
|
+
### Admin Panel
|
|
70
|
+
|
|
71
|
+
**Patterns**:
|
|
72
|
+
```
|
|
73
|
+
admin/
|
|
74
|
+
management/, manage/
|
|
75
|
+
cms/, content/
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
**Evidence files**:
|
|
79
|
+
- `pages/admin/**`
|
|
80
|
+
- `components/AdminLayout.*`
|
|
81
|
+
|
|
82
|
+
## Common Features
|
|
83
|
+
|
|
84
|
+
### Notifications
|
|
85
|
+
|
|
86
|
+
**Patterns**:
|
|
87
|
+
```
|
|
88
|
+
notification/, notifications/
|
|
89
|
+
alerts/, inbox/
|
|
90
|
+
push/, email/
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
### Messaging/Chat
|
|
94
|
+
|
|
95
|
+
**Patterns**:
|
|
96
|
+
```
|
|
97
|
+
message/, messages/
|
|
98
|
+
chat/, conversation/
|
|
99
|
+
inbox/, thread/
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
### Search
|
|
103
|
+
|
|
104
|
+
**Patterns**:
|
|
105
|
+
```
|
|
106
|
+
search.*, find.*
|
|
107
|
+
filter.*, browse.*
|
|
108
|
+
explore.*, discover.*
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
### File Upload
|
|
112
|
+
|
|
113
|
+
**Patterns**:
|
|
114
|
+
```
|
|
115
|
+
upload/, uploads/
|
|
116
|
+
files/, documents/
|
|
117
|
+
media/, assets/
|
|
118
|
+
storage/, attachments/
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
### Orders & Products
|
|
122
|
+
|
|
123
|
+
**Patterns**:
|
|
124
|
+
```
|
|
125
|
+
order/, orders/
|
|
126
|
+
product/, products/
|
|
127
|
+
catalog/, inventory/
|
|
128
|
+
cart/, basket/
|
|
129
|
+
shop/, store/
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
### Teams & Organizations
|
|
133
|
+
|
|
134
|
+
**Patterns**:
|
|
135
|
+
```
|
|
136
|
+
team/, teams/
|
|
137
|
+
organization/, org/
|
|
138
|
+
workspace/, company/
|
|
139
|
+
member/, members/
|
|
140
|
+
invite.*, invitation.*
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
### Onboarding
|
|
144
|
+
|
|
145
|
+
**Patterns**:
|
|
146
|
+
```
|
|
147
|
+
onboarding/, getting-started/
|
|
148
|
+
wizard/, setup/
|
|
149
|
+
welcome.*, intro.*
|
|
150
|
+
tour.*, guide.*
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
### Help & Support
|
|
154
|
+
|
|
155
|
+
**Patterns**:
|
|
156
|
+
```
|
|
157
|
+
help/, support/
|
|
158
|
+
faq/, knowledge-base/
|
|
159
|
+
ticket/, tickets/
|
|
160
|
+
contact.*, feedback.*
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
### Reporting & Analytics
|
|
164
|
+
|
|
165
|
+
**Patterns**:
|
|
166
|
+
```
|
|
167
|
+
report/, reports/
|
|
168
|
+
analytics/, metrics/
|
|
169
|
+
insights/, stats/
|
|
170
|
+
export.*, download.*
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
## Feature Confidence Levels
|
|
174
|
+
|
|
175
|
+
### High Confidence
|
|
176
|
+
- Dedicated folder with multiple files
|
|
177
|
+
- API routes for the feature
|
|
178
|
+
- Multiple components related to feature
|
|
179
|
+
|
|
180
|
+
### Medium Confidence
|
|
181
|
+
- Single page file
|
|
182
|
+
- One or two related components
|
|
183
|
+
- Mentioned in config/routes
|
|
184
|
+
|
|
185
|
+
### Low Confidence
|
|
186
|
+
- Only file name match
|
|
187
|
+
- Could be placeholder
|
|
188
|
+
- No supporting files
|
|
189
|
+
|
|
190
|
+
## Output Format
|
|
191
|
+
|
|
192
|
+
```markdown
|
|
193
|
+
## Existing Features
|
|
194
|
+
|
|
195
|
+
| Feature | Confidence | Evidence |
|
|
196
|
+
|---------|------------|----------|
|
|
197
|
+
| Authentication | High | `auth/`, `api/auth/`, `LoginForm.tsx` |
|
|
198
|
+
| Dashboard | High | `pages/dashboard/`, multiple components |
|
|
199
|
+
| User Profile | Medium | `pages/profile.tsx`, `UserCard.tsx` |
|
|
200
|
+
| Search | Low | `SearchBar.tsx` only |
|
|
201
|
+
| Payments | None | No evidence found |
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
## Tips
|
|
205
|
+
|
|
206
|
+
1. Look for **folder + multiple files** = likely real feature
|
|
207
|
+
2. Check for **API routes** to confirm backend support
|
|
208
|
+
3. **Config references** (next.config, .env) add confidence
|
|
209
|
+
4. **README mentions** confirm intentional features
|
|
210
|
+
5. Single component might be **planned but not built**
|
|
@@ -0,0 +1,252 @@
|
|
|
1
|
+
# File Search Patterns
|
|
2
|
+
|
|
3
|
+
Patterns for finding files in codebases.
|
|
4
|
+
|
|
5
|
+
## Frontend Files
|
|
6
|
+
|
|
7
|
+
### Include
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
# Vue
|
|
11
|
+
**/*.vue
|
|
12
|
+
|
|
13
|
+
# React
|
|
14
|
+
**/*.tsx
|
|
15
|
+
**/*.jsx
|
|
16
|
+
|
|
17
|
+
# Svelte
|
|
18
|
+
**/*.svelte
|
|
19
|
+
|
|
20
|
+
# Angular
|
|
21
|
+
**/*.component.ts
|
|
22
|
+
**/*.component.html
|
|
23
|
+
|
|
24
|
+
# Next.js
|
|
25
|
+
**/pages/**/*.tsx
|
|
26
|
+
**/pages/**/*.ts
|
|
27
|
+
**/app/**/page.tsx
|
|
28
|
+
**/app/**/layout.tsx
|
|
29
|
+
|
|
30
|
+
# Nuxt
|
|
31
|
+
**/pages/**/*.vue
|
|
32
|
+
**/layouts/**/*.vue
|
|
33
|
+
|
|
34
|
+
# General
|
|
35
|
+
**/views/**/*
|
|
36
|
+
**/screens/**/*
|
|
37
|
+
**/components/**/*
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
### Exclude
|
|
41
|
+
|
|
42
|
+
```
|
|
43
|
+
# Dependencies
|
|
44
|
+
node_modules/**
|
|
45
|
+
vendor/**
|
|
46
|
+
bower_components/**
|
|
47
|
+
|
|
48
|
+
# Build output
|
|
49
|
+
dist/**
|
|
50
|
+
build/**
|
|
51
|
+
.next/**
|
|
52
|
+
.nuxt/**
|
|
53
|
+
.output/**
|
|
54
|
+
out/**
|
|
55
|
+
.vercel/**
|
|
56
|
+
|
|
57
|
+
# Generated
|
|
58
|
+
*.min.js
|
|
59
|
+
*.bundle.js
|
|
60
|
+
*.chunk.js
|
|
61
|
+
*.generated.*
|
|
62
|
+
|
|
63
|
+
# Tests
|
|
64
|
+
__tests__/**
|
|
65
|
+
**/*.test.*
|
|
66
|
+
**/*.spec.*
|
|
67
|
+
**/test/**
|
|
68
|
+
**/tests/**
|
|
69
|
+
cypress/**
|
|
70
|
+
e2e/**
|
|
71
|
+
|
|
72
|
+
# Config & tools
|
|
73
|
+
.git/**
|
|
74
|
+
.github/**
|
|
75
|
+
coverage/**
|
|
76
|
+
.cache/**
|
|
77
|
+
.turbo/**
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
## Backend/API Files
|
|
81
|
+
|
|
82
|
+
### Routes & Handlers
|
|
83
|
+
|
|
84
|
+
```
|
|
85
|
+
**/api/**/*.ts
|
|
86
|
+
**/api/**/*.js
|
|
87
|
+
**/routes/**/*.ts
|
|
88
|
+
**/routes/**/*.js
|
|
89
|
+
**/controllers/**/*.ts
|
|
90
|
+
**/handlers/**/*.ts
|
|
91
|
+
**/server/**/*.ts
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
### Models & Schemas
|
|
95
|
+
|
|
96
|
+
```
|
|
97
|
+
**/models/**/*.ts
|
|
98
|
+
**/entities/**/*.ts
|
|
99
|
+
**/schemas/**/*.ts
|
|
100
|
+
**/types/**/*.ts
|
|
101
|
+
prisma/schema.prisma
|
|
102
|
+
drizzle/**/*.ts
|
|
103
|
+
**/migrations/**/*.sql
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
### Services & Lib
|
|
107
|
+
|
|
108
|
+
```
|
|
109
|
+
**/services/**/*.ts
|
|
110
|
+
**/lib/**/*.ts
|
|
111
|
+
**/utils/**/*.ts
|
|
112
|
+
**/helpers/**/*.ts
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
## Config Files
|
|
116
|
+
|
|
117
|
+
### Package Managers
|
|
118
|
+
|
|
119
|
+
```
|
|
120
|
+
package.json
|
|
121
|
+
pnpm-lock.yaml
|
|
122
|
+
yarn.lock
|
|
123
|
+
package-lock.json
|
|
124
|
+
requirements.txt
|
|
125
|
+
Pipfile
|
|
126
|
+
go.mod
|
|
127
|
+
Cargo.toml
|
|
128
|
+
composer.json
|
|
129
|
+
Gemfile
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
### Framework Config
|
|
133
|
+
|
|
134
|
+
```
|
|
135
|
+
next.config.*
|
|
136
|
+
nuxt.config.*
|
|
137
|
+
vite.config.*
|
|
138
|
+
vue.config.*
|
|
139
|
+
angular.json
|
|
140
|
+
svelte.config.*
|
|
141
|
+
remix.config.*
|
|
142
|
+
astro.config.*
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
### Build Tools
|
|
146
|
+
|
|
147
|
+
```
|
|
148
|
+
tsconfig.json
|
|
149
|
+
jsconfig.json
|
|
150
|
+
webpack.config.*
|
|
151
|
+
rollup.config.*
|
|
152
|
+
esbuild.config.*
|
|
153
|
+
turbo.json
|
|
154
|
+
nx.json
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
### Environment
|
|
158
|
+
|
|
159
|
+
```
|
|
160
|
+
.env
|
|
161
|
+
.env.example
|
|
162
|
+
.env.local
|
|
163
|
+
.env.development
|
|
164
|
+
.env.production
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
## Documentation
|
|
168
|
+
|
|
169
|
+
```
|
|
170
|
+
README.md
|
|
171
|
+
CLAUDE.md
|
|
172
|
+
CONTRIBUTING.md
|
|
173
|
+
CHANGELOG.md
|
|
174
|
+
docs/**/*.md
|
|
175
|
+
.github/**/*.md
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
## Targeted Search Patterns
|
|
179
|
+
|
|
180
|
+
### Auth
|
|
181
|
+
|
|
182
|
+
```
|
|
183
|
+
**/auth/**/*
|
|
184
|
+
**/login/**/*
|
|
185
|
+
**/signin/**/*
|
|
186
|
+
**/signup/**/*
|
|
187
|
+
**/register/**/*
|
|
188
|
+
**/session/**/*
|
|
189
|
+
middleware.ts
|
|
190
|
+
middleware.js
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
### Payments
|
|
194
|
+
|
|
195
|
+
```
|
|
196
|
+
**/payment/**/*
|
|
197
|
+
**/payments/**/*
|
|
198
|
+
**/checkout/**/*
|
|
199
|
+
**/billing/**/*
|
|
200
|
+
**/subscription/**/*
|
|
201
|
+
**/stripe/**/*
|
|
202
|
+
**/plans/**/*
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
### Users
|
|
206
|
+
|
|
207
|
+
```
|
|
208
|
+
**/user/**/*
|
|
209
|
+
**/users/**/*
|
|
210
|
+
**/profile/**/*
|
|
211
|
+
**/account/**/*
|
|
212
|
+
**/settings/**/*
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
### Admin
|
|
216
|
+
|
|
217
|
+
```
|
|
218
|
+
**/admin/**/*
|
|
219
|
+
**/dashboard/**/*
|
|
220
|
+
**/management/**/*
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
## Grep Patterns
|
|
224
|
+
|
|
225
|
+
### Auth Keywords
|
|
226
|
+
|
|
227
|
+
```
|
|
228
|
+
nextauth|clerk|auth0|supabase.auth
|
|
229
|
+
useSession|getSession|getServerSession
|
|
230
|
+
jwt|jsonwebtoken
|
|
231
|
+
bcrypt|argon2|password
|
|
232
|
+
login|signin|signout|logout
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
### API Keywords
|
|
236
|
+
|
|
237
|
+
```
|
|
238
|
+
router\.|app\.(get|post|put|delete|patch)
|
|
239
|
+
createRouter|createTRPCRouter
|
|
240
|
+
fetch\(|axios\.|ky\.
|
|
241
|
+
graphql|gql`|useQuery
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
### Database Keywords
|
|
245
|
+
|
|
246
|
+
```
|
|
247
|
+
prisma\.|PrismaClient
|
|
248
|
+
drizzle\(|createClient
|
|
249
|
+
mongoose\.|Schema\(
|
|
250
|
+
@Entity|@Column|TypeORM
|
|
251
|
+
knex\(|pg\(|mysql\(
|
|
252
|
+
```
|
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
# Tech Stack Detection
|
|
2
|
+
|
|
3
|
+
Detect frameworks, libraries, and tools from config files.
|
|
4
|
+
|
|
5
|
+
## Frontend Frameworks
|
|
6
|
+
|
|
7
|
+
### React
|
|
8
|
+
|
|
9
|
+
**Detection**:
|
|
10
|
+
- `package.json`: `"react"` in dependencies
|
|
11
|
+
- Files: `*.jsx`, `*.tsx`
|
|
12
|
+
- Imports: `import React from 'react'`
|
|
13
|
+
|
|
14
|
+
**Variants**:
|
|
15
|
+
| Config | Framework |
|
|
16
|
+
|--------|-----------|
|
|
17
|
+
| `next.config.*` | Next.js |
|
|
18
|
+
| `remix.config.*` | Remix |
|
|
19
|
+
| `gatsby-config.*` | Gatsby |
|
|
20
|
+
| `vite.config.*` + react plugin | Vite + React |
|
|
21
|
+
| `craco.config.*` | Create React App |
|
|
22
|
+
|
|
23
|
+
### Vue
|
|
24
|
+
|
|
25
|
+
**Detection**:
|
|
26
|
+
- `package.json`: `"vue"` in dependencies
|
|
27
|
+
- Files: `*.vue`
|
|
28
|
+
- Config: `vue.config.*`
|
|
29
|
+
|
|
30
|
+
**Variants**:
|
|
31
|
+
| Config | Framework |
|
|
32
|
+
|--------|-----------|
|
|
33
|
+
| `nuxt.config.*` | Nuxt.js |
|
|
34
|
+
| `vite.config.*` + vue plugin | Vite + Vue |
|
|
35
|
+
| `quasar.config.*` | Quasar |
|
|
36
|
+
|
|
37
|
+
### Svelte
|
|
38
|
+
|
|
39
|
+
**Detection**:
|
|
40
|
+
- `package.json`: `"svelte"` in dependencies
|
|
41
|
+
- Files: `*.svelte`
|
|
42
|
+
- Config: `svelte.config.*`
|
|
43
|
+
|
|
44
|
+
**Variants**:
|
|
45
|
+
| Config | Framework |
|
|
46
|
+
|--------|-----------|
|
|
47
|
+
| `svelte.config.*` + adapter | SvelteKit |
|
|
48
|
+
|
|
49
|
+
### Angular
|
|
50
|
+
|
|
51
|
+
**Detection**:
|
|
52
|
+
- `package.json`: `"@angular/core"`
|
|
53
|
+
- Files: `*.component.ts`
|
|
54
|
+
- Config: `angular.json`
|
|
55
|
+
|
|
56
|
+
## Backend Frameworks
|
|
57
|
+
|
|
58
|
+
### Node.js
|
|
59
|
+
|
|
60
|
+
| Dependency | Framework |
|
|
61
|
+
|------------|-----------|
|
|
62
|
+
| `express` | Express.js |
|
|
63
|
+
| `fastify` | Fastify |
|
|
64
|
+
| `koa` | Koa |
|
|
65
|
+
| `hapi` | Hapi |
|
|
66
|
+
| `@nestjs/core` | NestJS |
|
|
67
|
+
| `hono` | Hono |
|
|
68
|
+
|
|
69
|
+
### Python
|
|
70
|
+
|
|
71
|
+
| File/Dependency | Framework |
|
|
72
|
+
|-----------------|-----------|
|
|
73
|
+
| `requirements.txt` + `django` | Django |
|
|
74
|
+
| `requirements.txt` + `flask` | Flask |
|
|
75
|
+
| `requirements.txt` + `fastapi` | FastAPI |
|
|
76
|
+
| `pyproject.toml` | Modern Python |
|
|
77
|
+
|
|
78
|
+
### Other
|
|
79
|
+
|
|
80
|
+
| File | Language/Framework |
|
|
81
|
+
|------|-------------------|
|
|
82
|
+
| `go.mod` | Go |
|
|
83
|
+
| `Cargo.toml` | Rust |
|
|
84
|
+
| `Gemfile` | Ruby (Rails if rails gem) |
|
|
85
|
+
| `composer.json` | PHP (Laravel if laravel/*) |
|
|
86
|
+
|
|
87
|
+
## Databases
|
|
88
|
+
|
|
89
|
+
### ORMs & Query Builders
|
|
90
|
+
|
|
91
|
+
| Evidence | Technology |
|
|
92
|
+
|----------|------------|
|
|
93
|
+
| `prisma/schema.prisma` | Prisma |
|
|
94
|
+
| `drizzle.config.*` | Drizzle |
|
|
95
|
+
| `ormconfig.*`, `@Entity` | TypeORM |
|
|
96
|
+
| `knexfile.*` | Knex.js |
|
|
97
|
+
| `sequelize` in package.json | Sequelize |
|
|
98
|
+
| `mongoose` in package.json | Mongoose (MongoDB) |
|
|
99
|
+
|
|
100
|
+
### Database Type Detection
|
|
101
|
+
|
|
102
|
+
| Dependency/Config | Database |
|
|
103
|
+
|-------------------|----------|
|
|
104
|
+
| `pg`, `postgres` | PostgreSQL |
|
|
105
|
+
| `mysql`, `mysql2` | MySQL |
|
|
106
|
+
| `better-sqlite3`, `sqlite3` | SQLite |
|
|
107
|
+
| `mongodb`, `mongoose` | MongoDB |
|
|
108
|
+
| `redis`, `ioredis` | Redis |
|
|
109
|
+
| `@supabase/supabase-js` | Supabase (PostgreSQL) |
|
|
110
|
+
| `@planetscale/database` | PlanetScale (MySQL) |
|
|
111
|
+
|
|
112
|
+
## Authentication
|
|
113
|
+
|
|
114
|
+
| Dependency | Provider |
|
|
115
|
+
|------------|----------|
|
|
116
|
+
| `next-auth` | NextAuth.js |
|
|
117
|
+
| `@clerk/nextjs` | Clerk |
|
|
118
|
+
| `@auth0/nextjs-auth0` | Auth0 |
|
|
119
|
+
| `@supabase/auth-helpers-*` | Supabase Auth |
|
|
120
|
+
| `firebase` + `firebase/auth` | Firebase Auth |
|
|
121
|
+
| `passport` | Passport.js |
|
|
122
|
+
| `lucia` | Lucia Auth |
|
|
123
|
+
|
|
124
|
+
## Styling
|
|
125
|
+
|
|
126
|
+
| Dependency/Config | Technology |
|
|
127
|
+
|-------------------|------------|
|
|
128
|
+
| `tailwindcss` | Tailwind CSS |
|
|
129
|
+
| `styled-components` | Styled Components |
|
|
130
|
+
| `@emotion/react` | Emotion |
|
|
131
|
+
| `sass` | Sass/SCSS |
|
|
132
|
+
| `@mui/material` | Material UI |
|
|
133
|
+
| `@chakra-ui/react` | Chakra UI |
|
|
134
|
+
| `@radix-ui/*` | Radix UI |
|
|
135
|
+
| `shadcn` in components | shadcn/ui |
|
|
136
|
+
|
|
137
|
+
## State Management
|
|
138
|
+
|
|
139
|
+
| Dependency | Library |
|
|
140
|
+
|------------|---------|
|
|
141
|
+
| `redux`, `@reduxjs/toolkit` | Redux |
|
|
142
|
+
| `zustand` | Zustand |
|
|
143
|
+
| `jotai` | Jotai |
|
|
144
|
+
| `recoil` | Recoil |
|
|
145
|
+
| `mobx` | MobX |
|
|
146
|
+
| `pinia` | Pinia (Vue) |
|
|
147
|
+
| `vuex` | Vuex (Vue) |
|
|
148
|
+
|
|
149
|
+
## API Patterns
|
|
150
|
+
|
|
151
|
+
| Evidence | Pattern |
|
|
152
|
+
|----------|---------|
|
|
153
|
+
| `@trpc/*` | tRPC |
|
|
154
|
+
| `graphql`, `@apollo/client` | GraphQL |
|
|
155
|
+
| `/api/**` routes | REST API |
|
|
156
|
+
| `openapi.*`, `swagger.*` | OpenAPI/Swagger |
|
|
157
|
+
|
|
158
|
+
## Testing
|
|
159
|
+
|
|
160
|
+
| Dependency | Framework |
|
|
161
|
+
|------------|-----------|
|
|
162
|
+
| `jest` | Jest |
|
|
163
|
+
| `vitest` | Vitest |
|
|
164
|
+
| `@testing-library/*` | Testing Library |
|
|
165
|
+
| `cypress` | Cypress |
|
|
166
|
+
| `playwright` | Playwright |
|
|
167
|
+
| `mocha` | Mocha |
|
|
168
|
+
|
|
169
|
+
## Deployment & Infrastructure
|
|
170
|
+
|
|
171
|
+
| File/Config | Platform |
|
|
172
|
+
|-------------|----------|
|
|
173
|
+
| `vercel.json` | Vercel |
|
|
174
|
+
| `netlify.toml` | Netlify |
|
|
175
|
+
| `fly.toml` | Fly.io |
|
|
176
|
+
| `railway.json` | Railway |
|
|
177
|
+
| `Dockerfile` | Docker |
|
|
178
|
+
| `.github/workflows/` | GitHub Actions |
|
|
179
|
+
| `cloudflare.*` | Cloudflare |
|
|
180
|
+
|
|
181
|
+
## Output Format
|
|
182
|
+
|
|
183
|
+
```markdown
|
|
184
|
+
## Tech Stack
|
|
185
|
+
|
|
186
|
+
### Frontend
|
|
187
|
+
- **Framework**: Next.js 14 (App Router)
|
|
188
|
+
- **Language**: TypeScript
|
|
189
|
+
- **Styling**: Tailwind CSS + shadcn/ui
|
|
190
|
+
- **State**: Zustand
|
|
191
|
+
|
|
192
|
+
### Backend
|
|
193
|
+
- **Runtime**: Node.js
|
|
194
|
+
- **API**: Next.js API Routes (REST)
|
|
195
|
+
- **Auth**: NextAuth.js
|
|
196
|
+
|
|
197
|
+
### Database
|
|
198
|
+
- **ORM**: Prisma
|
|
199
|
+
- **Database**: PostgreSQL (Supabase)
|
|
200
|
+
|
|
201
|
+
### Infrastructure
|
|
202
|
+
- **Hosting**: Vercel
|
|
203
|
+
- **CI/CD**: GitHub Actions
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
## Detection Priority
|
|
207
|
+
|
|
208
|
+
1. **Config files** (most reliable)
|
|
209
|
+
2. **package.json dependencies**
|
|
210
|
+
3. **File extensions & patterns**
|
|
211
|
+
4. **Import statements** (when reading code)
|