@triedotdev/mcp 1.0.46 → 1.0.49
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 +82 -17
- package/dist/{agent-smith-W7F55E6P.js → agent-smith-5QOZXLMV.js} +2 -2
- package/dist/{agent-smith-runner-SH76O724.js → agent-smith-runner-ZTDCJJQG.js} +2 -2
- package/dist/{chunk-BAME4KVK.js → chunk-6T7S77U7.js} +339 -20
- package/dist/chunk-6T7S77U7.js.map +1 -0
- package/dist/{chunk-5AS3BWAZ.js → chunk-JDICQHNT.js} +84 -62
- package/dist/chunk-JDICQHNT.js.map +1 -0
- package/dist/{chunk-OB45V2QC.js → chunk-KQOMSIVR.js} +201 -234
- package/dist/chunk-KQOMSIVR.js.map +1 -0
- package/dist/{chunk-R5HWHP5N.js → chunk-VZYCZXEQ.js} +55 -66
- package/dist/chunk-VZYCZXEQ.js.map +1 -0
- package/dist/cli/main.js +107 -16
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/yolo-daemon.js +3 -3
- package/dist/index.js +12 -7
- package/dist/index.js.map +1 -1
- package/dist/workers/agent-worker.js +2 -2
- package/package.json +1 -1
- package/dist/chunk-5AS3BWAZ.js.map +0 -1
- package/dist/chunk-BAME4KVK.js.map +0 -1
- package/dist/chunk-OB45V2QC.js.map +0 -1
- package/dist/chunk-R5HWHP5N.js.map +0 -1
- /package/dist/{agent-smith-W7F55E6P.js.map → agent-smith-5QOZXLMV.js.map} +0 -0
- /package/dist/{agent-smith-runner-SH76O724.js.map → agent-smith-runner-ZTDCJJQG.js.map} +0 -0
package/README.md
CHANGED
|
@@ -14,13 +14,15 @@ The last mile of shipping is where things break—not because your code doesn't
|
|
|
14
14
|
|
|
15
15
|
## What's New (latest updates)
|
|
16
16
|
|
|
17
|
+
- **Comprehensive Skills Library**: 150+ skills across 12 categories now auto-suggested based on your stack. Run `trie init` to see personalized suggestions, or browse with `trie skills list <category>`. Categories include: marketing (23), development (25), security (10), design (9), documents (5), productivity (17), and more.
|
|
18
|
+
|
|
17
19
|
- **Bootstrap System**: Run `trie init` to auto-detect your stack (framework, language, database). Optionally customize `.trie/RULES.md` for coding standards. Works out of the box - no config required.
|
|
18
20
|
|
|
19
21
|
- **Issue Memory & Cross-Project Learning**: Issues are now stored in `.trie/memory/` with BM25 search (same algorithm as Elasticsearch). Intelligent compaction summarizes old issues instead of deleting them, tracking trends and recurring patterns over time.
|
|
20
22
|
|
|
21
23
|
- **Extended Skill Gating**: Skills can now declare requirements for npm dependencies, environment variables, binaries in PATH, and config files. Only skills whose requirements match your project environment are loaded.
|
|
22
24
|
|
|
23
|
-
- **External Skills**: Install reusable capabilities from Vercel, Anthropic, Expo, Stripe, Supabase, or any GitHub repository. Skills are applied by the skill-review agent during scans and tracked in your project context.
|
|
25
|
+
- **External Skills**: Install reusable capabilities from Vercel, Anthropic, Expo, Stripe, Supabase, Trail of Bits, or any GitHub repository. Skills are applied by the skill-review agent during scans and tracked in your project context.
|
|
24
26
|
|
|
25
27
|
- **Project Info Registry**: Store important project context in `.trie/PROJECT.md` that travels with you across Claude Code, Cursor, GitHub Actions, and CLI. Define your project description, tech stack, conventions, architecture, and custom AI instructions—all in one place.
|
|
26
28
|
|
|
@@ -490,11 +492,19 @@ trie-agent scan --format json --output report.json
|
|
|
490
492
|
trie-agent agents
|
|
491
493
|
|
|
492
494
|
# Install an external skill
|
|
493
|
-
trie-agent skills add vercel-labs/agent-skills react-best-practices
|
|
495
|
+
trie-agent skills add vercel-labs/agent-skills vercel-react-best-practices
|
|
494
496
|
|
|
495
497
|
# List installed skills
|
|
496
498
|
trie-agent skills list
|
|
497
499
|
|
|
500
|
+
# Browse skill categories (150+ skills across 12 categories)
|
|
501
|
+
trie-agent skills list categories
|
|
502
|
+
|
|
503
|
+
# View skills in a category
|
|
504
|
+
trie-agent skills list marketing # 23 skills
|
|
505
|
+
trie-agent skills list development # 25 skills
|
|
506
|
+
trie-agent skills list security # 10 skills
|
|
507
|
+
|
|
498
508
|
# Initialize bootstrap files
|
|
499
509
|
trie-agent init
|
|
500
510
|
|
|
@@ -1031,10 +1041,10 @@ Both skill types are applied by the **skill-review agent** during scans and trav
|
|
|
1031
1041
|
**CLI:**
|
|
1032
1042
|
```bash
|
|
1033
1043
|
# From Vercel's skills repository
|
|
1034
|
-
trie-agent skills add vercel-labs/agent-skills react-best-practices
|
|
1044
|
+
trie-agent skills add vercel-labs/agent-skills vercel-react-best-practices
|
|
1035
1045
|
|
|
1036
1046
|
# From Anthropic's skills
|
|
1037
|
-
trie-agent skills add anthropics/skills
|
|
1047
|
+
trie-agent skills add anthropics/skills frontend-design
|
|
1038
1048
|
|
|
1039
1049
|
# From any GitHub repo with a SKILL.md
|
|
1040
1050
|
trie-agent skills add myorg/internal-standards code-style
|
|
@@ -1042,7 +1052,24 @@ trie-agent skills add myorg/internal-standards code-style
|
|
|
1042
1052
|
|
|
1043
1053
|
**Using MCP (Cursor/Claude Code):**
|
|
1044
1054
|
```
|
|
1045
|
-
Install the react-best-practices skill from vercel-labs/agent-skills
|
|
1055
|
+
Install the vercel-react-best-practices skill from vercel-labs/agent-skills
|
|
1056
|
+
```
|
|
1057
|
+
|
|
1058
|
+
### Browse Available Skills
|
|
1059
|
+
|
|
1060
|
+
Trie includes 150+ skills organized into 12 categories:
|
|
1061
|
+
|
|
1062
|
+
```bash
|
|
1063
|
+
# List all categories
|
|
1064
|
+
trie-agent skills list categories
|
|
1065
|
+
|
|
1066
|
+
# Browse skills by category
|
|
1067
|
+
trie-agent skills list marketing # 23 skills (SEO, copywriting, CRO, etc.)
|
|
1068
|
+
trie-agent skills list development # 25 skills (TDD, debugging, code review, etc.)
|
|
1069
|
+
trie-agent skills list security # 10 skills (semgrep, codeql, Trail of Bits, etc.)
|
|
1070
|
+
trie-agent skills list design # 9 skills (canvas, brand, UI/UX, etc.)
|
|
1071
|
+
trie-agent skills list documents # 5 skills (pdf, xlsx, pptx, docx, etc.)
|
|
1072
|
+
trie-agent skills list productivity # 17 skills (meetings, diagrams, READMEs, etc.)
|
|
1046
1073
|
```
|
|
1047
1074
|
|
|
1048
1075
|
### List Installed Skills
|
|
@@ -1055,7 +1082,7 @@ Output:
|
|
|
1055
1082
|
```
|
|
1056
1083
|
Installed Skills (2):
|
|
1057
1084
|
|
|
1058
|
-
react-best-practices (applied 12x)
|
|
1085
|
+
vercel-react-best-practices (applied 12x)
|
|
1059
1086
|
React and Next.js performance optimization
|
|
1060
1087
|
Source: vercel-labs/agent-skills
|
|
1061
1088
|
|
|
@@ -1064,6 +1091,8 @@ Installed Skills (2):
|
|
|
1064
1091
|
Source: vercel-labs/agent-skills
|
|
1065
1092
|
|
|
1066
1093
|
These skills are applied by the skill-review agent during scans.
|
|
1094
|
+
|
|
1095
|
+
Explore more: trie skills list categories
|
|
1067
1096
|
```
|
|
1068
1097
|
|
|
1069
1098
|
### How It Works
|
|
@@ -1120,19 +1149,41 @@ Skills can come from any GitHub repository with a SKILL.md file:
|
|
|
1120
1149
|
|
|
1121
1150
|
| Source | Examples |
|
|
1122
1151
|
|--------|----------|
|
|
1123
|
-
| [Vercel](https://github.com/vercel-labs/agent-skills) | react-best-practices, web-design-guidelines |
|
|
1124
|
-
| [Anthropic](https://github.com/anthropics/skills) | frontend-design,
|
|
1125
|
-
| [Expo](https://github.com/expo/skills) | building-native-ui, upgrading-expo,
|
|
1152
|
+
| [Vercel](https://github.com/vercel-labs/agent-skills) | vercel-react-best-practices, web-design-guidelines |
|
|
1153
|
+
| [Anthropic](https://github.com/anthropics/skills) | frontend-design, webapp-testing, mcp-builder, pdf, xlsx, docx |
|
|
1154
|
+
| [Expo](https://github.com/expo/skills) | building-native-ui, upgrading-expo, expo-deployment (9 skills) |
|
|
1126
1155
|
| [Stripe](https://github.com/stripe/ai) | stripe-best-practices |
|
|
1127
|
-
| [Better Auth](https://github.com/better-auth/skills) | better-auth-best-practices |
|
|
1156
|
+
| [Better Auth](https://github.com/better-auth/skills) | better-auth-best-practices, create-auth-skill |
|
|
1128
1157
|
| [Remotion](https://github.com/remotion-dev/skills) | remotion-best-practices |
|
|
1129
1158
|
| [Callstack](https://github.com/callstackincubator/agent-skills) | react-native-best-practices |
|
|
1130
1159
|
| [Supabase](https://github.com/supabase/agent-skills) | supabase-postgres-best-practices |
|
|
1160
|
+
| [Trail of Bits](https://github.com/trailofbits/skills) | semgrep, codeql, secure-workflow-guide (10 skills) |
|
|
1161
|
+
| [Vue/Nuxt](https://github.com/hyf0/vue-skills) | vue-best-practices, pinia-best-practices |
|
|
1162
|
+
| [Three.js](https://github.com/cloudai-x/threejs-skills) | threejs-fundamentals, threejs-animation (10 skills) |
|
|
1163
|
+
| [obra/superpowers](https://github.com/obra/superpowers) | test-driven-development, systematic-debugging (14 skills) |
|
|
1164
|
+
| [Marketing](https://github.com/coreyhaines31/marketingskills) | seo-audit, copywriting, pricing-strategy (23 skills) |
|
|
1131
1165
|
| Your org | Internal standards, style guides, compliance docs |
|
|
1132
|
-
| Community | Any public repo following the SKILL.md format |
|
|
1133
1166
|
|
|
1134
1167
|
Browse all available skills at [skills.sh](https://skills.sh)
|
|
1135
1168
|
|
|
1169
|
+
### Auto-Suggested Skills
|
|
1170
|
+
|
|
1171
|
+
When you run `trie init`, Trie automatically detects your dependencies and suggests relevant skills:
|
|
1172
|
+
|
|
1173
|
+
| Dependency | Skills Suggested |
|
|
1174
|
+
|------------|------------------|
|
|
1175
|
+
| `next`, `react` | vercel-react-best-practices, web-design-guidelines, frontend-design |
|
|
1176
|
+
| `vue`, `nuxt` | vue-best-practices, pinia-best-practices, nuxt skills |
|
|
1177
|
+
| `expo` | 9 Expo skills (building-native-ui, upgrading-expo, etc.) |
|
|
1178
|
+
| `three` | 10 Three.js skills (fundamentals, animation, shaders, etc.) |
|
|
1179
|
+
| `@supabase/supabase-js` | supabase-postgres-best-practices |
|
|
1180
|
+
| `stripe` | stripe-best-practices |
|
|
1181
|
+
| `better-auth` | better-auth-best-practices |
|
|
1182
|
+
| `playwright` | webapp-testing, e2e-testing-patterns |
|
|
1183
|
+
| `tailwindcss` | tailwind-design-system, responsive-design |
|
|
1184
|
+
| `typescript` | typescript-advanced-types |
|
|
1185
|
+
| And 20+ more... | Run `trie init` to see suggestions for your stack |
|
|
1186
|
+
|
|
1136
1187
|
### Skill Gating
|
|
1137
1188
|
|
|
1138
1189
|
Skills can declare requirements in their frontmatter. Only skills whose requirements are met are loaded.
|
|
@@ -1204,17 +1255,31 @@ trie init
|
|
|
1204
1255
|
trie_init
|
|
1205
1256
|
```
|
|
1206
1257
|
|
|
1207
|
-
This auto-detects your stack and
|
|
1258
|
+
This auto-detects your stack and suggests relevant skills:
|
|
1208
1259
|
|
|
1209
1260
|
```
|
|
1210
1261
|
Detected Stack:
|
|
1211
1262
|
Framework: Next.js 14.0.0
|
|
1212
1263
|
Language: TypeScript
|
|
1213
|
-
Database:
|
|
1214
|
-
Auth:
|
|
1215
|
-
|
|
1216
|
-
Suggested Skills:
|
|
1217
|
-
trie skills add vercel-labs/agent-skills react-best-practices
|
|
1264
|
+
Database: Supabase
|
|
1265
|
+
Auth: Better Auth
|
|
1266
|
+
|
|
1267
|
+
Suggested Skills (based on your stack):
|
|
1268
|
+
trie skills add vercel-labs/agent-skills vercel-react-best-practices
|
|
1269
|
+
trie skills add vercel-labs/agent-skills web-design-guidelines
|
|
1270
|
+
trie skills add supabase/agent-skills supabase-postgres-best-practices
|
|
1271
|
+
trie skills add better-auth/skills better-auth-best-practices
|
|
1272
|
+
trie skills add wshobson/agents typescript-advanced-types
|
|
1273
|
+
|
|
1274
|
+
Explore skill categories:
|
|
1275
|
+
trie skills list documents # 5 skills
|
|
1276
|
+
trie skills list marketing # 23 skills
|
|
1277
|
+
trie skills list development # 25 skills
|
|
1278
|
+
trie skills list security # 10 skills
|
|
1279
|
+
trie skills list productivity # 17 skills
|
|
1280
|
+
trie skills list categories # see all 12 categories
|
|
1281
|
+
|
|
1282
|
+
Browse all skills: https://skills.sh
|
|
1218
1283
|
```
|
|
1219
1284
|
|
|
1220
1285
|
### Commands
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
2
|
AgentSmithAgent,
|
|
3
3
|
SUB_AGENT_PATTERNS
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-KQOMSIVR.js";
|
|
5
5
|
import "./chunk-IMFD4SJC.js";
|
|
6
6
|
import "./chunk-DGUM43GV.js";
|
|
7
7
|
export {
|
|
8
8
|
AgentSmithAgent,
|
|
9
9
|
SUB_AGENT_PATTERNS
|
|
10
10
|
};
|
|
11
|
-
//# sourceMappingURL=agent-smith-
|
|
11
|
+
//# sourceMappingURL=agent-smith-5QOZXLMV.js.map
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
getAIStatusMessage,
|
|
4
4
|
isAIAvailable,
|
|
5
5
|
runAIAnalysis
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-KQOMSIVR.js";
|
|
7
7
|
import {
|
|
8
8
|
getWorkingDirectory
|
|
9
9
|
} from "./chunk-IMFD4SJC.js";
|
|
@@ -553,4 +553,4 @@ ${getAIStatusMessage()}`);
|
|
|
553
553
|
export {
|
|
554
554
|
runAgentSmith
|
|
555
555
|
};
|
|
556
|
-
//# sourceMappingURL=agent-smith-runner-
|
|
556
|
+
//# sourceMappingURL=agent-smith-runner-ZTDCJJQG.js.map
|
|
@@ -167,15 +167,310 @@ async function handleCheckpointCommand(args) {
|
|
|
167
167
|
}
|
|
168
168
|
}
|
|
169
169
|
|
|
170
|
-
// src/bootstrap/files.ts
|
|
171
|
-
import { readFile as readFile3, writeFile as writeFile2, unlink, mkdir as mkdir2 } from "fs/promises";
|
|
172
|
-
import { existsSync as existsSync3 } from "fs";
|
|
173
|
-
import { join as join3 } from "path";
|
|
174
|
-
|
|
175
170
|
// src/bootstrap/stack-detector.ts
|
|
176
171
|
import { readFile as readFile2 } from "fs/promises";
|
|
177
172
|
import { existsSync as existsSync2 } from "fs";
|
|
178
173
|
import { join as join2 } from "path";
|
|
174
|
+
var SKILL_MAPPINGS = {
|
|
175
|
+
// Frontend Frameworks - React/Next.js
|
|
176
|
+
"next": [
|
|
177
|
+
"vercel-labs/agent-skills vercel-react-best-practices",
|
|
178
|
+
"vercel-labs/agent-skills web-design-guidelines",
|
|
179
|
+
"anthropics/skills frontend-design",
|
|
180
|
+
"wshobson/agents nextjs-app-router-patterns"
|
|
181
|
+
],
|
|
182
|
+
"react": [
|
|
183
|
+
"vercel-labs/agent-skills vercel-react-best-practices",
|
|
184
|
+
"anthropics/skills frontend-design",
|
|
185
|
+
"wshobson/agents react-state-management"
|
|
186
|
+
],
|
|
187
|
+
// Vue/Nuxt Ecosystem
|
|
188
|
+
"vue": [
|
|
189
|
+
"hyf0/vue-skills vue-best-practices",
|
|
190
|
+
"hyf0/vue-skills pinia-best-practices",
|
|
191
|
+
"hyf0/vue-skills vueuse-best-practices",
|
|
192
|
+
"onmax/nuxt-skills vue"
|
|
193
|
+
],
|
|
194
|
+
"nuxt": [
|
|
195
|
+
"onmax/nuxt-skills nuxt",
|
|
196
|
+
"onmax/nuxt-skills nuxt-ui",
|
|
197
|
+
"onmax/nuxt-skills nuxt-content",
|
|
198
|
+
"onmax/nuxt-skills nuxt-modules",
|
|
199
|
+
"onmax/nuxt-skills nuxt-better-auth",
|
|
200
|
+
"onmax/nuxt-skills nuxthub"
|
|
201
|
+
],
|
|
202
|
+
"pinia": [
|
|
203
|
+
"hyf0/vue-skills pinia-best-practices"
|
|
204
|
+
],
|
|
205
|
+
"@vueuse/core": [
|
|
206
|
+
"hyf0/vue-skills vueuse-best-practices",
|
|
207
|
+
"onmax/nuxt-skills vueuse"
|
|
208
|
+
],
|
|
209
|
+
// Mobile - Expo
|
|
210
|
+
"expo": [
|
|
211
|
+
"expo/skills building-native-ui",
|
|
212
|
+
"expo/skills upgrading-expo",
|
|
213
|
+
"expo/skills native-data-fetching",
|
|
214
|
+
"expo/skills expo-dev-client",
|
|
215
|
+
"expo/skills expo-deployment",
|
|
216
|
+
"expo/skills expo-api-routes",
|
|
217
|
+
"expo/skills expo-tailwind-setup",
|
|
218
|
+
"expo/skills expo-cicd-workflows",
|
|
219
|
+
"expo/skills use-dom"
|
|
220
|
+
],
|
|
221
|
+
// Mobile - React Native
|
|
222
|
+
"react-native": [
|
|
223
|
+
"callstackincubator/agent-skills react-native-best-practices",
|
|
224
|
+
"wshobson/agents react-native-architecture"
|
|
225
|
+
],
|
|
226
|
+
// Backend Frameworks
|
|
227
|
+
"@nestjs/core": [
|
|
228
|
+
"kadajett/agent-nestjs-skills nestjs-best-practices"
|
|
229
|
+
],
|
|
230
|
+
"nestjs": [
|
|
231
|
+
"kadajett/agent-nestjs-skills nestjs-best-practices"
|
|
232
|
+
],
|
|
233
|
+
"elysia": [
|
|
234
|
+
"elysiajs/skills elysiajs"
|
|
235
|
+
],
|
|
236
|
+
"hono": [
|
|
237
|
+
"elysiajs/skills elysiajs"
|
|
238
|
+
],
|
|
239
|
+
// Database/BaaS
|
|
240
|
+
"@supabase/supabase-js": [
|
|
241
|
+
"supabase/agent-skills supabase-postgres-best-practices"
|
|
242
|
+
],
|
|
243
|
+
"convex": [
|
|
244
|
+
"waynesutton/convexskills convex-best-practices"
|
|
245
|
+
],
|
|
246
|
+
"pg": [
|
|
247
|
+
"wshobson/agents postgresql-table-design"
|
|
248
|
+
],
|
|
249
|
+
"postgres": [
|
|
250
|
+
"wshobson/agents postgresql-table-design"
|
|
251
|
+
],
|
|
252
|
+
// Auth
|
|
253
|
+
"better-auth": [
|
|
254
|
+
"better-auth/skills better-auth-best-practices",
|
|
255
|
+
"better-auth/skills create-auth-skill"
|
|
256
|
+
],
|
|
257
|
+
// Payments
|
|
258
|
+
"stripe": [
|
|
259
|
+
"stripe/ai stripe-best-practices"
|
|
260
|
+
],
|
|
261
|
+
"@stripe/stripe-js": [
|
|
262
|
+
"stripe/ai stripe-best-practices"
|
|
263
|
+
],
|
|
264
|
+
// Media/Graphics
|
|
265
|
+
"remotion": [
|
|
266
|
+
"remotion-dev/skills remotion-best-practices"
|
|
267
|
+
],
|
|
268
|
+
"three": [
|
|
269
|
+
"cloudai-x/threejs-skills threejs-fundamentals",
|
|
270
|
+
"cloudai-x/threejs-skills threejs-animation",
|
|
271
|
+
"cloudai-x/threejs-skills threejs-materials",
|
|
272
|
+
"cloudai-x/threejs-skills threejs-shaders",
|
|
273
|
+
"cloudai-x/threejs-skills threejs-lighting",
|
|
274
|
+
"cloudai-x/threejs-skills threejs-geometry",
|
|
275
|
+
"cloudai-x/threejs-skills threejs-textures",
|
|
276
|
+
"cloudai-x/threejs-skills threejs-loaders",
|
|
277
|
+
"cloudai-x/threejs-skills threejs-interaction",
|
|
278
|
+
"cloudai-x/threejs-skills threejs-postprocessing"
|
|
279
|
+
],
|
|
280
|
+
// UI Libraries
|
|
281
|
+
"tailwindcss": [
|
|
282
|
+
"wshobson/agents tailwind-design-system",
|
|
283
|
+
"jezweb/claude-skills tailwind-v4-shadcn",
|
|
284
|
+
"wshobson/agents responsive-design"
|
|
285
|
+
],
|
|
286
|
+
"@shadcn/ui": [
|
|
287
|
+
"giuseppe-trisciuoglio/developer-kit shadcn-ui"
|
|
288
|
+
],
|
|
289
|
+
"shadcn": [
|
|
290
|
+
"giuseppe-trisciuoglio/developer-kit shadcn-ui"
|
|
291
|
+
],
|
|
292
|
+
"@radix-ui/react-slot": [
|
|
293
|
+
"onmax/nuxt-skills reka-ui"
|
|
294
|
+
],
|
|
295
|
+
// State Management
|
|
296
|
+
"@tanstack/react-query": [
|
|
297
|
+
"jezweb/claude-skills tanstack-query"
|
|
298
|
+
],
|
|
299
|
+
// Testing
|
|
300
|
+
"playwright": [
|
|
301
|
+
"anthropics/skills webapp-testing",
|
|
302
|
+
"wshobson/agents e2e-testing-patterns"
|
|
303
|
+
],
|
|
304
|
+
"puppeteer": [
|
|
305
|
+
"anthropics/skills webapp-testing"
|
|
306
|
+
],
|
|
307
|
+
"vitest": [
|
|
308
|
+
"wshobson/agents e2e-testing-patterns"
|
|
309
|
+
],
|
|
310
|
+
"jest": [
|
|
311
|
+
"wshobson/agents e2e-testing-patterns"
|
|
312
|
+
],
|
|
313
|
+
// DevTools/MCP
|
|
314
|
+
"@modelcontextprotocol/sdk": [
|
|
315
|
+
"anthropics/skills mcp-builder"
|
|
316
|
+
],
|
|
317
|
+
// Security
|
|
318
|
+
"semgrep": [
|
|
319
|
+
"trailofbits/skills semgrep"
|
|
320
|
+
],
|
|
321
|
+
// Monorepos
|
|
322
|
+
"turbo": [
|
|
323
|
+
"wshobson/agents monorepo-management"
|
|
324
|
+
],
|
|
325
|
+
"nx": [
|
|
326
|
+
"wshobson/agents monorepo-management"
|
|
327
|
+
],
|
|
328
|
+
"lerna": [
|
|
329
|
+
"wshobson/agents monorepo-management"
|
|
330
|
+
],
|
|
331
|
+
// TypeScript (handled separately based on tsconfig.json)
|
|
332
|
+
"typescript": [
|
|
333
|
+
"wshobson/agents typescript-advanced-types"
|
|
334
|
+
]
|
|
335
|
+
};
|
|
336
|
+
var SKILL_CATEGORIES = {
|
|
337
|
+
documents: [
|
|
338
|
+
"anthropics/skills pdf",
|
|
339
|
+
"anthropics/skills xlsx",
|
|
340
|
+
"anthropics/skills pptx",
|
|
341
|
+
"anthropics/skills docx",
|
|
342
|
+
"anthropics/skills doc-coauthoring"
|
|
343
|
+
],
|
|
344
|
+
design: [
|
|
345
|
+
"anthropics/skills canvas-design",
|
|
346
|
+
"anthropics/skills theme-factory",
|
|
347
|
+
"anthropics/skills web-artifacts-builder",
|
|
348
|
+
"anthropics/skills algorithmic-art",
|
|
349
|
+
"anthropics/skills brand-guidelines",
|
|
350
|
+
"anthropics/skills slack-gif-creator",
|
|
351
|
+
"nextlevelbuilder/ui-ux-pro-max ui-ux-pro-max",
|
|
352
|
+
"superdesigndev/superdesign-skill superdesign",
|
|
353
|
+
"wshobson/agents design-system-patterns"
|
|
354
|
+
],
|
|
355
|
+
marketing: [
|
|
356
|
+
"coreyhaines31/marketingskills seo-audit",
|
|
357
|
+
"coreyhaines31/marketingskills copywriting",
|
|
358
|
+
"coreyhaines31/marketingskills marketing-psychology",
|
|
359
|
+
"coreyhaines31/marketingskills programmatic-seo",
|
|
360
|
+
"coreyhaines31/marketingskills marketing-ideas",
|
|
361
|
+
"coreyhaines31/marketingskills copy-editing",
|
|
362
|
+
"coreyhaines31/marketingskills pricing-strategy",
|
|
363
|
+
"coreyhaines31/marketingskills social-content",
|
|
364
|
+
"coreyhaines31/marketingskills launch-strategy",
|
|
365
|
+
"coreyhaines31/marketingskills page-cro",
|
|
366
|
+
"coreyhaines31/marketingskills competitor-alternatives",
|
|
367
|
+
"coreyhaines31/marketingskills analytics-tracking",
|
|
368
|
+
"coreyhaines31/marketingskills schema-markup",
|
|
369
|
+
"coreyhaines31/marketingskills onboarding-cro",
|
|
370
|
+
"coreyhaines31/marketingskills email-sequence",
|
|
371
|
+
"coreyhaines31/marketingskills paid-ads",
|
|
372
|
+
"coreyhaines31/marketingskills signup-flow-cro",
|
|
373
|
+
"coreyhaines31/marketingskills free-tool-strategy",
|
|
374
|
+
"coreyhaines31/marketingskills form-cro",
|
|
375
|
+
"coreyhaines31/marketingskills paywall-upgrade-cro",
|
|
376
|
+
"coreyhaines31/marketingskills referral-program",
|
|
377
|
+
"coreyhaines31/marketingskills popup-cro",
|
|
378
|
+
"coreyhaines31/marketingskills ab-test-setup"
|
|
379
|
+
],
|
|
380
|
+
development: [
|
|
381
|
+
"obra/superpowers brainstorming",
|
|
382
|
+
"obra/superpowers test-driven-development",
|
|
383
|
+
"obra/superpowers systematic-debugging",
|
|
384
|
+
"obra/superpowers writing-plans",
|
|
385
|
+
"obra/superpowers executing-plans",
|
|
386
|
+
"obra/superpowers verification-before-completion",
|
|
387
|
+
"obra/superpowers using-superpowers",
|
|
388
|
+
"obra/superpowers subagent-driven-development",
|
|
389
|
+
"obra/superpowers requesting-code-review",
|
|
390
|
+
"obra/superpowers writing-skills",
|
|
391
|
+
"obra/superpowers dispatching-parallel-agents",
|
|
392
|
+
"obra/superpowers receiving-code-review",
|
|
393
|
+
"obra/superpowers using-git-worktrees",
|
|
394
|
+
"obra/superpowers finishing-a-development-branch",
|
|
395
|
+
"wshobson/agents code-review-excellence",
|
|
396
|
+
"wshobson/agents api-design-principles",
|
|
397
|
+
"wshobson/agents architecture-patterns",
|
|
398
|
+
"wshobson/agents error-handling-patterns",
|
|
399
|
+
"wshobson/agents nodejs-backend-patterns",
|
|
400
|
+
"wshobson/agents microservices-patterns",
|
|
401
|
+
"wshobson/agents modern-javascript-patterns",
|
|
402
|
+
"wshobson/agents web-component-design",
|
|
403
|
+
"wshobson/agents async-python-patterns",
|
|
404
|
+
"wshobson/agents python-testing-patterns",
|
|
405
|
+
"boristane/agent-skills logging-best-practices"
|
|
406
|
+
],
|
|
407
|
+
productivity: [
|
|
408
|
+
"softaworks/agent-toolkit daily-meeting-update",
|
|
409
|
+
"softaworks/agent-toolkit agent-md-refactor",
|
|
410
|
+
"softaworks/agent-toolkit session-handoff",
|
|
411
|
+
"softaworks/agent-toolkit meme-factory",
|
|
412
|
+
"softaworks/agent-toolkit qa-test-planner",
|
|
413
|
+
"softaworks/agent-toolkit writing-clearly-and-concisely",
|
|
414
|
+
"softaworks/agent-toolkit commit-work",
|
|
415
|
+
"softaworks/agent-toolkit mermaid-diagrams",
|
|
416
|
+
"softaworks/agent-toolkit dependency-updater",
|
|
417
|
+
"softaworks/agent-toolkit crafting-effective-readmes",
|
|
418
|
+
"softaworks/agent-toolkit reducing-entropy",
|
|
419
|
+
"softaworks/agent-toolkit feedback-mastery",
|
|
420
|
+
"softaworks/agent-toolkit marp-slide",
|
|
421
|
+
"softaworks/agent-toolkit professional-communication",
|
|
422
|
+
"softaworks/agent-toolkit difficult-workplace-conversations",
|
|
423
|
+
"anthropics/skills internal-comms",
|
|
424
|
+
"othmanadi/planning-with-files planning-with-files"
|
|
425
|
+
],
|
|
426
|
+
security: [
|
|
427
|
+
"trailofbits/skills semgrep",
|
|
428
|
+
"trailofbits/skills secure-workflow-guide",
|
|
429
|
+
"trailofbits/skills codeql",
|
|
430
|
+
"trailofbits/skills property-based-testing",
|
|
431
|
+
"trailofbits/skills variant-analysis",
|
|
432
|
+
"trailofbits/skills guidelines-advisor",
|
|
433
|
+
"trailofbits/skills sharp-edges",
|
|
434
|
+
"trailofbits/skills differential-review",
|
|
435
|
+
"trailofbits/skills ask-questions-if-underspecified",
|
|
436
|
+
"squirrelscan/skills audit-website"
|
|
437
|
+
],
|
|
438
|
+
mobile: [
|
|
439
|
+
"wshobson/agents mobile-ios-design",
|
|
440
|
+
"wshobson/agents mobile-android-design",
|
|
441
|
+
"dimillian/skills swiftui-ui-patterns",
|
|
442
|
+
"dimillian/skills swiftui-liquid-glass"
|
|
443
|
+
],
|
|
444
|
+
obsidian: [
|
|
445
|
+
"kepano/obsidian-skills obsidian-markdown",
|
|
446
|
+
"kepano/obsidian-skills obsidian-bases",
|
|
447
|
+
"kepano/obsidian-skills json-canvas"
|
|
448
|
+
],
|
|
449
|
+
prompts: [
|
|
450
|
+
"f/awesome-chatgpt-prompts skill-lookup",
|
|
451
|
+
"f/awesome-chatgpt-prompts prompt-lookup",
|
|
452
|
+
"wshobson/agents prompt-engineering-patterns"
|
|
453
|
+
],
|
|
454
|
+
browser: [
|
|
455
|
+
"vercel-labs/agent-browser agent-browser"
|
|
456
|
+
],
|
|
457
|
+
content: [
|
|
458
|
+
"op7418/humanizer-zh humanizer-zh",
|
|
459
|
+
"blader/humanizer humanizer",
|
|
460
|
+
"op7418/youtube-clipper-skill youtube-clipper",
|
|
461
|
+
"jimliu/baoyu-skills baoyu-slide-deck",
|
|
462
|
+
"jimliu/baoyu-skills baoyu-article-illustrator",
|
|
463
|
+
"jimliu/baoyu-skills baoyu-cover-image",
|
|
464
|
+
"jimliu/baoyu-skills baoyu-comic",
|
|
465
|
+
"jimliu/baoyu-skills baoyu-infographic",
|
|
466
|
+
"jimliu/baoyu-skills baoyu-image-gen"
|
|
467
|
+
],
|
|
468
|
+
integrations: [
|
|
469
|
+
"intellectronica/agent-skills context7",
|
|
470
|
+
"softaworks/agent-toolkit gemini",
|
|
471
|
+
"softaworks/agent-toolkit codex"
|
|
472
|
+
]
|
|
473
|
+
};
|
|
179
474
|
async function detectStack(projectDir) {
|
|
180
475
|
const stack = {
|
|
181
476
|
suggestedSkills: [],
|
|
@@ -185,6 +480,7 @@ async function detectStack(projectDir) {
|
|
|
185
480
|
if (existsSync2(join2(projectDir, "tsconfig.json"))) {
|
|
186
481
|
stack.language = "TypeScript";
|
|
187
482
|
stack.suggestedAgents.push("typecheck");
|
|
483
|
+
stack.suggestedSkills.push("wshobson/agents typescript-advanced-types");
|
|
188
484
|
} else if (existsSync2(join2(projectDir, "package.json"))) {
|
|
189
485
|
stack.language = "JavaScript";
|
|
190
486
|
} else if (existsSync2(join2(projectDir, "requirements.txt")) || existsSync2(join2(projectDir, "pyproject.toml"))) {
|
|
@@ -194,6 +490,11 @@ async function detectStack(projectDir) {
|
|
|
194
490
|
} else if (existsSync2(join2(projectDir, "Cargo.toml"))) {
|
|
195
491
|
stack.language = "Rust";
|
|
196
492
|
}
|
|
493
|
+
if (existsSync2(join2(projectDir, "Package.swift")) || existsSync2(join2(projectDir, "project.pbxproj")) || existsSync2(join2(projectDir, "*.xcodeproj"))) {
|
|
494
|
+
stack.language = "Swift";
|
|
495
|
+
stack.suggestedSkills.push("dimillian/skills swiftui-ui-patterns");
|
|
496
|
+
stack.suggestedSkills.push("dimillian/skills swiftui-liquid-glass");
|
|
497
|
+
}
|
|
197
498
|
if (existsSync2(join2(projectDir, "pnpm-lock.yaml"))) {
|
|
198
499
|
stack.packageManager = "pnpm";
|
|
199
500
|
} else if (existsSync2(join2(projectDir, "yarn.lock"))) {
|
|
@@ -203,6 +504,9 @@ async function detectStack(projectDir) {
|
|
|
203
504
|
} else if (existsSync2(join2(projectDir, "package-lock.json"))) {
|
|
204
505
|
stack.packageManager = "npm";
|
|
205
506
|
}
|
|
507
|
+
if (existsSync2(join2(projectDir, ".github", "workflows"))) {
|
|
508
|
+
stack.suggestedSkills.push("wshobson/agents github-actions-templates");
|
|
509
|
+
}
|
|
206
510
|
try {
|
|
207
511
|
const pkgPath = join2(projectDir, "package.json");
|
|
208
512
|
if (existsSync2(pkgPath)) {
|
|
@@ -212,16 +516,22 @@ async function detectStack(projectDir) {
|
|
|
212
516
|
for (const dep of Object.keys(deps)) {
|
|
213
517
|
stack.dependencies.add(dep);
|
|
214
518
|
}
|
|
519
|
+
for (const dep of Object.keys(deps)) {
|
|
520
|
+
const skills = SKILL_MAPPINGS[dep];
|
|
521
|
+
if (skills) {
|
|
522
|
+
stack.suggestedSkills.push(...skills);
|
|
523
|
+
}
|
|
524
|
+
}
|
|
215
525
|
if (deps["next"]) {
|
|
216
526
|
stack.framework = `Next.js ${deps["next"].replace("^", "")}`;
|
|
217
|
-
stack.suggestedSkills.push("vercel-labs/agent-skills react-best-practices");
|
|
218
527
|
stack.suggestedAgents.push("accessibility", "design");
|
|
219
528
|
} else if (deps["react"]) {
|
|
220
529
|
stack.framework = `React ${deps["react"].replace("^", "")}`;
|
|
221
|
-
stack.suggestedSkills.push("vercel-labs/agent-skills react-best-practices");
|
|
222
530
|
stack.suggestedAgents.push("accessibility");
|
|
223
531
|
} else if (deps["vue"]) {
|
|
224
532
|
stack.framework = `Vue ${deps["vue"].replace("^", "")}`;
|
|
533
|
+
} else if (deps["nuxt"]) {
|
|
534
|
+
stack.framework = `Nuxt ${deps["nuxt"].replace("^", "")}`;
|
|
225
535
|
} else if (deps["svelte"]) {
|
|
226
536
|
stack.framework = "Svelte";
|
|
227
537
|
} else if (deps["express"]) {
|
|
@@ -230,6 +540,10 @@ async function detectStack(projectDir) {
|
|
|
230
540
|
stack.framework = "Fastify";
|
|
231
541
|
} else if (deps["hono"]) {
|
|
232
542
|
stack.framework = "Hono";
|
|
543
|
+
} else if (deps["elysia"]) {
|
|
544
|
+
stack.framework = "Elysia";
|
|
545
|
+
} else if (deps["@nestjs/core"]) {
|
|
546
|
+
stack.framework = "NestJS";
|
|
233
547
|
}
|
|
234
548
|
if (deps["next-auth"] || deps["@auth/core"]) {
|
|
235
549
|
stack.auth = "NextAuth.js";
|
|
@@ -239,7 +553,6 @@ async function detectStack(projectDir) {
|
|
|
239
553
|
stack.auth = "Clerk";
|
|
240
554
|
} else if (deps["better-auth"]) {
|
|
241
555
|
stack.auth = "Better Auth";
|
|
242
|
-
stack.suggestedSkills.push("better-auth/skills better-auth-best-practices");
|
|
243
556
|
}
|
|
244
557
|
if (deps["prisma"] || deps["@prisma/client"]) {
|
|
245
558
|
stack.database = "Prisma ORM";
|
|
@@ -247,25 +560,16 @@ async function detectStack(projectDir) {
|
|
|
247
560
|
stack.database = "Drizzle ORM";
|
|
248
561
|
} else if (deps["@supabase/supabase-js"]) {
|
|
249
562
|
stack.database = "Supabase";
|
|
250
|
-
stack.suggestedSkills.push("supabase/agent-skills supabase-postgres-best-practices");
|
|
251
563
|
} else if (deps["mongoose"]) {
|
|
252
564
|
stack.database = "MongoDB (Mongoose)";
|
|
253
565
|
} else if (deps["pg"]) {
|
|
254
566
|
stack.database = "PostgreSQL";
|
|
567
|
+
} else if (deps["convex"]) {
|
|
568
|
+
stack.database = "Convex";
|
|
255
569
|
}
|
|
256
570
|
if (deps["stripe"] || deps["@stripe/stripe-js"]) {
|
|
257
|
-
stack.suggestedSkills.push("stripe/ai stripe-best-practices");
|
|
258
571
|
stack.suggestedAgents.push("moneybags");
|
|
259
572
|
}
|
|
260
|
-
if (deps["expo"]) {
|
|
261
|
-
stack.suggestedSkills.push("expo/skills upgrading-expo");
|
|
262
|
-
}
|
|
263
|
-
if (deps["remotion"]) {
|
|
264
|
-
stack.suggestedSkills.push("remotion-dev/skills remotion-best-practices");
|
|
265
|
-
}
|
|
266
|
-
if (deps["react-native"]) {
|
|
267
|
-
stack.suggestedSkills.push("callstackincubator/agent-skills react-native-best-practices");
|
|
268
|
-
}
|
|
269
573
|
}
|
|
270
574
|
} catch {
|
|
271
575
|
}
|
|
@@ -280,8 +584,20 @@ async function detectStack(projectDir) {
|
|
|
280
584
|
stack.suggestedAgents = [...new Set(stack.suggestedAgents)];
|
|
281
585
|
return stack;
|
|
282
586
|
}
|
|
587
|
+
function getSkillsByCategory(category) {
|
|
588
|
+
return SKILL_CATEGORIES[category] || [];
|
|
589
|
+
}
|
|
590
|
+
function getSkillCategories() {
|
|
591
|
+
return Object.entries(SKILL_CATEGORIES).map(([name, skills]) => ({
|
|
592
|
+
name,
|
|
593
|
+
count: skills.length
|
|
594
|
+
}));
|
|
595
|
+
}
|
|
283
596
|
|
|
284
597
|
// src/bootstrap/files.ts
|
|
598
|
+
import { readFile as readFile3, writeFile as writeFile2, unlink, mkdir as mkdir2 } from "fs/promises";
|
|
599
|
+
import { existsSync as existsSync3 } from "fs";
|
|
600
|
+
import { join as join3 } from "path";
|
|
285
601
|
var BOOTSTRAP_FILES = [
|
|
286
602
|
{ name: "PROJECT.md", type: "user", description: "Project overview and conventions" },
|
|
287
603
|
{ name: "RULES.md", type: "user", description: "Coding standards agents enforce" },
|
|
@@ -519,6 +835,9 @@ function getBootstrapTemplate(stack) {
|
|
|
519
835
|
}
|
|
520
836
|
|
|
521
837
|
export {
|
|
838
|
+
SKILL_CATEGORIES,
|
|
839
|
+
getSkillsByCategory,
|
|
840
|
+
getSkillCategories,
|
|
522
841
|
loadBootstrapContext,
|
|
523
842
|
initializeBootstrapFiles,
|
|
524
843
|
completeBootstrap,
|
|
@@ -530,4 +849,4 @@ export {
|
|
|
530
849
|
getLastCheckpoint,
|
|
531
850
|
handleCheckpointCommand
|
|
532
851
|
};
|
|
533
|
-
//# sourceMappingURL=chunk-
|
|
852
|
+
//# sourceMappingURL=chunk-6T7S77U7.js.map
|