resuml 1.13.2 → 1.14.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/data/skills/emerging.json +207 -0
- package/data/skills/skills.json +1 -0
- package/dist/api.d.ts +2 -2
- package/dist/api.js +3 -1
- package/dist/api.js.map +1 -1
- package/dist/chunk-JP7UCR3P.js +182 -0
- package/dist/chunk-JP7UCR3P.js.map +1 -0
- package/dist/chunk-R2JVKIFT.js +1621 -0
- package/dist/chunk-R2JVKIFT.js.map +1 -0
- package/dist/{themeLoader-C7CBqNiC.d.ts → index-yHdKpxms.d.ts} +51 -1
- package/dist/index.d.ts +3 -53
- package/dist/index.js +3 -3
- package/dist/mcp/server.js +3 -3
- package/package.json +4 -1
- package/scripts/build-skills-db.js +314 -0
- package/scripts/bundle-themes.js +165 -10
- package/scripts/enrich-themes-manifest.mjs +153 -0
- package/dist/chunk-CBMPNRQN.js +0 -43
- package/dist/chunk-CBMPNRQN.js.map +0 -1
- package/dist/chunk-SZAL46QV.js +0 -1842
- package/dist/chunk-SZAL46QV.js.map +0 -1
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$comment": "Hand-curated allowlist of modern frameworks, tools and practices that O*NET hasn't yet absorbed. Keep focused: language/framework/tool/platform/practice names — not soft skills (those come from O*NET).",
|
|
3
|
+
"skills": [
|
|
4
|
+
{ "canonical": "TypeScript", "aliases": ["TS"], "type": "language", "hot": true },
|
|
5
|
+
{ "canonical": "JavaScript", "aliases": ["JS", "ECMAScript"], "type": "language", "hot": true },
|
|
6
|
+
{ "canonical": "Node.js", "aliases": ["NodeJS", "Node"], "type": "platform", "hot": true },
|
|
7
|
+
{ "canonical": "Deno", "type": "platform" },
|
|
8
|
+
{ "canonical": "Bun", "type": "platform" },
|
|
9
|
+
{ "canonical": "Rust", "type": "language", "hot": true },
|
|
10
|
+
{ "canonical": "Go", "aliases": ["Golang"], "type": "language", "hot": true },
|
|
11
|
+
{ "canonical": "Kotlin", "type": "language" },
|
|
12
|
+
{ "canonical": "Swift", "type": "language" },
|
|
13
|
+
{ "canonical": "Elixir", "type": "language" },
|
|
14
|
+
{ "canonical": "Zig", "type": "language" },
|
|
15
|
+
|
|
16
|
+
{ "canonical": "React", "aliases": ["React.js", "ReactJS"], "type": "framework", "hot": true },
|
|
17
|
+
{ "canonical": "Next.js", "aliases": ["NextJS", "Next"], "type": "framework", "hot": true },
|
|
18
|
+
{ "canonical": "Remix", "type": "framework" },
|
|
19
|
+
{ "canonical": "Astro", "type": "framework" },
|
|
20
|
+
{ "canonical": "Svelte", "aliases": ["SvelteKit"], "type": "framework", "hot": true },
|
|
21
|
+
{ "canonical": "Solid", "aliases": ["SolidJS", "Solid.js"], "type": "framework" },
|
|
22
|
+
{ "canonical": "Qwik", "type": "framework" },
|
|
23
|
+
{ "canonical": "Vue.js", "aliases": ["Vue", "VueJS"], "type": "framework", "hot": true },
|
|
24
|
+
{ "canonical": "Nuxt.js", "aliases": ["Nuxt", "NuxtJS"], "type": "framework" },
|
|
25
|
+
{ "canonical": "Angular", "aliases": ["AngularJS", "Angular.js"], "type": "framework" },
|
|
26
|
+
{ "canonical": "Redux", "aliases": ["Redux Toolkit", "RTK"], "type": "library" },
|
|
27
|
+
{ "canonical": "Zustand", "type": "library" },
|
|
28
|
+
{ "canonical": "Jotai", "type": "library" },
|
|
29
|
+
{ "canonical": "Recoil", "type": "library" },
|
|
30
|
+
{ "canonical": "MobX", "type": "library" },
|
|
31
|
+
{ "canonical": "React Query", "aliases": ["TanStack Query", "tanstack-query"], "type": "library" },
|
|
32
|
+
{ "canonical": "TanStack", "type": "library" },
|
|
33
|
+
{ "canonical": "SWR", "type": "library" },
|
|
34
|
+
{ "canonical": "tRPC", "type": "library" },
|
|
35
|
+
{ "canonical": "GraphQL", "type": "library", "hot": true },
|
|
36
|
+
{ "canonical": "Apollo", "aliases": ["Apollo Client", "Apollo GraphQL"], "type": "library" },
|
|
37
|
+
{ "canonical": "Relay", "type": "library" },
|
|
38
|
+
{ "canonical": "Tailwind CSS", "aliases": ["Tailwind", "TailwindCSS"], "type": "framework", "hot": true },
|
|
39
|
+
{ "canonical": "shadcn/ui", "aliases": ["shadcn", "shadcn ui"], "type": "library" },
|
|
40
|
+
{ "canonical": "Radix UI", "aliases": ["Radix"], "type": "library" },
|
|
41
|
+
{ "canonical": "Headless UI", "type": "library" },
|
|
42
|
+
{ "canonical": "Material UI", "aliases": ["MUI", "Material-UI"], "type": "library" },
|
|
43
|
+
{ "canonical": "Chakra UI", "aliases": ["Chakra"], "type": "library" },
|
|
44
|
+
{ "canonical": "Fluent UI", "aliases": ["FluentUI", "Fluent"], "type": "library" },
|
|
45
|
+
{ "canonical": "Ant Design", "aliases": ["AntD"], "type": "library" },
|
|
46
|
+
{ "canonical": "Framer Motion", "type": "library" },
|
|
47
|
+
{ "canonical": "Styled Components", "aliases": ["styled-components"], "type": "library" },
|
|
48
|
+
{ "canonical": "Emotion", "type": "library" },
|
|
49
|
+
{ "canonical": "Storybook", "type": "tool" },
|
|
50
|
+
|
|
51
|
+
{ "canonical": "Vite", "type": "tool", "hot": true },
|
|
52
|
+
{ "canonical": "Webpack", "type": "tool" },
|
|
53
|
+
{ "canonical": "Rollup", "aliases": ["Rollup.js"], "type": "tool" },
|
|
54
|
+
{ "canonical": "esbuild", "type": "tool" },
|
|
55
|
+
{ "canonical": "SWC", "type": "tool" },
|
|
56
|
+
{ "canonical": "Turbopack", "type": "tool" },
|
|
57
|
+
{ "canonical": "Parcel", "type": "tool" },
|
|
58
|
+
{ "canonical": "Nx", "type": "tool" },
|
|
59
|
+
{ "canonical": "Turborepo", "type": "tool" },
|
|
60
|
+
{ "canonical": "Lerna", "type": "tool" },
|
|
61
|
+
{ "canonical": "Yarn", "aliases": ["Yarn Workspaces"], "type": "tool" },
|
|
62
|
+
{ "canonical": "pnpm", "type": "tool" },
|
|
63
|
+
{ "canonical": "npm", "type": "tool" },
|
|
64
|
+
{ "canonical": "Biome", "type": "tool" },
|
|
65
|
+
{ "canonical": "ESLint", "type": "tool" },
|
|
66
|
+
{ "canonical": "Prettier", "type": "tool" },
|
|
67
|
+
|
|
68
|
+
{ "canonical": "Jest", "type": "tool" },
|
|
69
|
+
{ "canonical": "Vitest", "type": "tool" },
|
|
70
|
+
{ "canonical": "Playwright", "type": "tool" },
|
|
71
|
+
{ "canonical": "Cypress", "type": "tool" },
|
|
72
|
+
{ "canonical": "Testing Library", "aliases": ["React Testing Library", "RTL"], "type": "library" },
|
|
73
|
+
{ "canonical": "Mocha", "type": "tool" },
|
|
74
|
+
{ "canonical": "Chai", "type": "tool" },
|
|
75
|
+
|
|
76
|
+
{ "canonical": "Express", "aliases": ["Express.js", "ExpressJS"], "type": "framework" },
|
|
77
|
+
{ "canonical": "Fastify", "type": "framework" },
|
|
78
|
+
{ "canonical": "NestJS", "aliases": ["Nest.js", "Nest"], "type": "framework" },
|
|
79
|
+
{ "canonical": "Hono", "type": "framework" },
|
|
80
|
+
{ "canonical": "Elysia", "type": "framework" },
|
|
81
|
+
{ "canonical": "Django", "type": "framework" },
|
|
82
|
+
{ "canonical": "Flask", "type": "framework" },
|
|
83
|
+
{ "canonical": "FastAPI", "type": "framework" },
|
|
84
|
+
{ "canonical": "Rails", "aliases": ["Ruby on Rails", "RoR"], "type": "framework" },
|
|
85
|
+
{ "canonical": "Laravel", "type": "framework" },
|
|
86
|
+
{ "canonical": "Phoenix", "type": "framework" },
|
|
87
|
+
{ "canonical": "Gin", "type": "framework" },
|
|
88
|
+
{ "canonical": "Actix", "type": "framework" },
|
|
89
|
+
{ "canonical": "Axum", "type": "framework" },
|
|
90
|
+
{ "canonical": ".NET", "aliases": [".NET Core", "dotnet"], "type": "framework" },
|
|
91
|
+
{ "canonical": "ASP.NET", "aliases": ["ASP.NET Core"], "type": "framework" },
|
|
92
|
+
|
|
93
|
+
{ "canonical": "PostgreSQL", "aliases": ["Postgres"], "type": "database", "hot": true },
|
|
94
|
+
{ "canonical": "MySQL", "type": "database" },
|
|
95
|
+
{ "canonical": "SQLite", "type": "database" },
|
|
96
|
+
{ "canonical": "MongoDB", "aliases": ["Mongo"], "type": "database" },
|
|
97
|
+
{ "canonical": "Redis", "type": "database" },
|
|
98
|
+
{ "canonical": "DynamoDB", "type": "database" },
|
|
99
|
+
{ "canonical": "Cassandra", "type": "database" },
|
|
100
|
+
{ "canonical": "Elasticsearch", "aliases": ["ES"], "type": "database" },
|
|
101
|
+
{ "canonical": "OpenSearch", "type": "database" },
|
|
102
|
+
{ "canonical": "ClickHouse", "type": "database" },
|
|
103
|
+
{ "canonical": "Snowflake", "type": "database" },
|
|
104
|
+
{ "canonical": "BigQuery", "type": "database" },
|
|
105
|
+
{ "canonical": "Supabase", "type": "platform" },
|
|
106
|
+
{ "canonical": "Firebase", "type": "platform" },
|
|
107
|
+
{ "canonical": "PlanetScale", "type": "database" },
|
|
108
|
+
{ "canonical": "Neon", "type": "database" },
|
|
109
|
+
{ "canonical": "Prisma", "type": "tool" },
|
|
110
|
+
{ "canonical": "Drizzle", "aliases": ["Drizzle ORM"], "type": "tool" },
|
|
111
|
+
{ "canonical": "TypeORM", "type": "tool" },
|
|
112
|
+
{ "canonical": "SQL", "type": "language", "hot": true },
|
|
113
|
+
{ "canonical": "NoSQL", "type": "language" },
|
|
114
|
+
|
|
115
|
+
{ "canonical": "AWS", "aliases": ["Amazon Web Services"], "type": "platform", "hot": true },
|
|
116
|
+
{ "canonical": "Google Cloud", "aliases": ["GCP", "Google Cloud Platform"], "type": "platform", "hot": true },
|
|
117
|
+
{ "canonical": "Microsoft Azure", "aliases": ["Azure"], "type": "platform", "hot": true },
|
|
118
|
+
{ "canonical": "Vercel", "type": "platform" },
|
|
119
|
+
{ "canonical": "Netlify", "type": "platform" },
|
|
120
|
+
{ "canonical": "Cloudflare", "aliases": ["Cloudflare Workers", "Workers"], "type": "platform" },
|
|
121
|
+
{ "canonical": "Fly.io", "aliases": ["fly"], "type": "platform" },
|
|
122
|
+
{ "canonical": "Render", "type": "platform" },
|
|
123
|
+
{ "canonical": "Railway", "type": "platform" },
|
|
124
|
+
{ "canonical": "Heroku", "type": "platform" },
|
|
125
|
+
{ "canonical": "Docker", "type": "tool", "hot": true },
|
|
126
|
+
{ "canonical": "Kubernetes", "aliases": ["K8s"], "type": "tool", "hot": true },
|
|
127
|
+
{ "canonical": "Helm", "type": "tool" },
|
|
128
|
+
{ "canonical": "Terraform", "type": "tool" },
|
|
129
|
+
{ "canonical": "Pulumi", "type": "tool" },
|
|
130
|
+
{ "canonical": "Ansible", "type": "tool" },
|
|
131
|
+
{ "canonical": "GitHub Actions", "type": "tool" },
|
|
132
|
+
{ "canonical": "GitLab CI", "aliases": ["GitLab CI/CD"], "type": "tool" },
|
|
133
|
+
{ "canonical": "CircleCI", "type": "tool" },
|
|
134
|
+
{ "canonical": "Jenkins", "type": "tool" },
|
|
135
|
+
{ "canonical": "Azure DevOps", "aliases": ["ADO"], "type": "tool" },
|
|
136
|
+
{ "canonical": "ArgoCD", "type": "tool" },
|
|
137
|
+
{ "canonical": "Grafana", "type": "tool" },
|
|
138
|
+
{ "canonical": "Prometheus", "type": "tool" },
|
|
139
|
+
{ "canonical": "Datadog", "type": "tool" },
|
|
140
|
+
{ "canonical": "Sentry", "type": "tool" },
|
|
141
|
+
{ "canonical": "New Relic", "type": "tool" },
|
|
142
|
+
{ "canonical": "OpenTelemetry", "aliases": ["OTel"], "type": "tool" },
|
|
143
|
+
|
|
144
|
+
{ "canonical": "Python", "type": "language", "hot": true },
|
|
145
|
+
{ "canonical": "Pandas", "type": "library" },
|
|
146
|
+
{ "canonical": "NumPy", "type": "library" },
|
|
147
|
+
{ "canonical": "scikit-learn", "aliases": ["sklearn"], "type": "library" },
|
|
148
|
+
{ "canonical": "PyTorch", "type": "framework" },
|
|
149
|
+
{ "canonical": "TensorFlow", "type": "framework" },
|
|
150
|
+
{ "canonical": "Hugging Face", "aliases": ["HuggingFace"], "type": "platform" },
|
|
151
|
+
{ "canonical": "LangChain", "type": "library" },
|
|
152
|
+
{ "canonical": "LlamaIndex", "type": "library" },
|
|
153
|
+
{ "canonical": "OpenAI", "aliases": ["OpenAI API"], "type": "platform" },
|
|
154
|
+
{ "canonical": "Anthropic", "aliases": ["Claude"], "type": "platform" },
|
|
155
|
+
{ "canonical": "MLflow", "type": "tool" },
|
|
156
|
+
{ "canonical": "Airflow", "aliases": ["Apache Airflow"], "type": "tool" },
|
|
157
|
+
{ "canonical": "dbt", "aliases": ["data build tool"], "type": "tool" },
|
|
158
|
+
{ "canonical": "Spark", "aliases": ["Apache Spark", "PySpark"], "type": "framework" },
|
|
159
|
+
{ "canonical": "Kafka", "aliases": ["Apache Kafka"], "type": "platform" },
|
|
160
|
+
{ "canonical": "RAG", "aliases": ["Retrieval Augmented Generation", "retrieval-augmented generation"], "type": "practice" },
|
|
161
|
+
{ "canonical": "Vector Search", "type": "practice" },
|
|
162
|
+
{ "canonical": "Embeddings", "type": "practice" },
|
|
163
|
+
|
|
164
|
+
{ "canonical": "Git", "type": "tool", "hot": true },
|
|
165
|
+
{ "canonical": "GitHub", "type": "platform" },
|
|
166
|
+
{ "canonical": "GitLab", "type": "platform" },
|
|
167
|
+
{ "canonical": "Bitbucket", "type": "platform" },
|
|
168
|
+
{ "canonical": "Jira", "type": "tool" },
|
|
169
|
+
{ "canonical": "Linear", "type": "tool" },
|
|
170
|
+
{ "canonical": "Notion", "type": "tool" },
|
|
171
|
+
{ "canonical": "Confluence", "type": "tool" },
|
|
172
|
+
{ "canonical": "Figma", "type": "tool", "hot": true },
|
|
173
|
+
{ "canonical": "Sketch", "type": "tool" },
|
|
174
|
+
{ "canonical": "Miro", "type": "tool" },
|
|
175
|
+
|
|
176
|
+
{ "canonical": "CI/CD", "aliases": ["CICD", "Continuous Integration", "Continuous Delivery", "Continuous Deployment"], "type": "practice", "hot": true },
|
|
177
|
+
{ "canonical": "REST API", "aliases": ["RESTful API", "REST APIs", "REST"], "type": "practice" },
|
|
178
|
+
{ "canonical": "gRPC", "type": "practice" },
|
|
179
|
+
{ "canonical": "WebSockets", "aliases": ["WebSocket"], "type": "practice" },
|
|
180
|
+
{ "canonical": "Microservices", "type": "practice", "hot": true },
|
|
181
|
+
{ "canonical": "Monorepo", "aliases": ["monorepos"], "type": "practice" },
|
|
182
|
+
{ "canonical": "Serverless", "type": "practice" },
|
|
183
|
+
{ "canonical": "Edge Computing", "aliases": ["edge functions"], "type": "practice" },
|
|
184
|
+
{ "canonical": "Event-Driven Architecture", "aliases": ["EDA", "event-driven"], "type": "practice" },
|
|
185
|
+
{ "canonical": "Domain-Driven Design", "aliases": ["DDD"], "type": "practice" },
|
|
186
|
+
{ "canonical": "Test-Driven Development", "aliases": ["TDD"], "type": "practice" },
|
|
187
|
+
{ "canonical": "Agile", "aliases": ["Scrum", "Kanban"], "type": "practice" },
|
|
188
|
+
{ "canonical": "OAuth", "aliases": ["OAuth2", "OAuth 2.0"], "type": "practice" },
|
|
189
|
+
{ "canonical": "OIDC", "aliases": ["OpenID Connect"], "type": "practice" },
|
|
190
|
+
{ "canonical": "SSO", "aliases": ["Single Sign-On"], "type": "practice" },
|
|
191
|
+
{ "canonical": "JWT", "type": "practice" },
|
|
192
|
+
{ "canonical": "WebAssembly", "aliases": ["Wasm"], "type": "practice" },
|
|
193
|
+
{ "canonical": "Progressive Web App", "aliases": ["PWA"], "type": "practice" },
|
|
194
|
+
{ "canonical": "Server-Side Rendering", "aliases": ["SSR"], "type": "practice" },
|
|
195
|
+
{ "canonical": "Static Site Generation", "aliases": ["SSG"], "type": "practice" },
|
|
196
|
+
{ "canonical": "Accessibility", "aliases": ["a11y", "WCAG"], "type": "practice", "hot": true },
|
|
197
|
+
{ "canonical": "Internationalization", "aliases": ["i18n"], "type": "practice" },
|
|
198
|
+
{ "canonical": "Observability", "type": "practice" },
|
|
199
|
+
{ "canonical": "Design Systems", "aliases": ["Design System"], "type": "practice", "hot": true },
|
|
200
|
+
{ "canonical": "Data Modeling", "aliases": ["Data Model", "Data Models"], "type": "practice" },
|
|
201
|
+
{ "canonical": "Technical Leadership", "aliases": ["Tech Lead", "Tech Leadership"], "type": "practice" },
|
|
202
|
+
{ "canonical": "Mentoring", "type": "practice" },
|
|
203
|
+
{ "canonical": "Code Review", "aliases": ["Code Reviews"], "type": "practice" },
|
|
204
|
+
{ "canonical": "Stakeholder Management", "type": "practice" },
|
|
205
|
+
{ "canonical": "Cross-functional Collaboration", "aliases": ["cross-functional"], "type": "practice" }
|
|
206
|
+
]
|
|
207
|
+
}
|