@ngxtm/devkit 2.0.0 → 2.0.1

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 (2) hide show
  1. package/cli/config.js +149 -84
  2. package/package.json +1 -1
package/cli/config.js CHANGED
@@ -8,130 +8,188 @@
8
8
  */
9
9
 
10
10
  // Core skills that are always installed with --minimal
11
- // These are reference/best-practice skills, not commands
11
+ // Using exact directory names for accurate matching
12
12
  const MINIMAL_SKILLS = [
13
13
  // Best practices
14
14
  'react-best-practices',
15
- 'typescript-best-practices',
15
+ 'typescript-expert',
16
+ 'typescript-pro',
16
17
  'postgres-best-practices',
17
18
  'api-security-best-practices',
19
+ 'nodejs-best-practices',
18
20
  // Core workflows
19
- 'git-commit',
20
21
  'code-review',
21
22
  'debugging',
22
- 'testing',
23
- 'refactoring',
23
+ 'testing-patterns',
24
+ 'code-refactoring',
24
25
  // Architecture
25
26
  'api-patterns',
26
27
  'architecture',
27
28
  'clean-code',
29
+ 'software-architecture',
28
30
  // Operations
29
- 'documentation',
30
- 'error-handling',
31
- 'logging',
32
- 'performance-optimization',
33
- 'security-best-practices',
31
+ 'code-documentation',
32
+ 'performance-profiling',
34
33
  // AI/MCP
35
34
  'mcp-management',
36
- 'sequential-thinking'
35
+ 'sequential-thinking',
36
+ // Git
37
+ 'git-pushing'
37
38
  ];
38
39
 
39
40
  // Skill categories for --category option
41
+ // Using patterns that match actual directory names
40
42
  const SKILL_CATEGORIES = {
41
43
  'react': [
42
44
  'react-best-practices',
43
- 'react-native',
44
- 'nextjs',
45
- 'remix',
46
- 'vite-react',
47
- 'react-query',
48
- 'react-hooks',
49
- 'react-testing',
50
- 'react-performance'
45
+ 'react-expert',
46
+ 'react-patterns',
47
+ 'react-ui-patterns',
48
+ 'react-native-expert',
49
+ 'react-flow-node',
50
+ 'nextjs-best-practices',
51
+ 'nextjs-developer',
52
+ 'nextjs-supabase-auth',
53
+ 'expo-app-design',
54
+ 'expo-deployment'
51
55
  ],
52
56
  'typescript': [
53
- 'typescript-best-practices',
54
- 'typescript-advanced',
55
- 'typescript-patterns',
56
- 'zod-validation'
57
+ 'typescript-expert',
58
+ 'typescript-pro',
59
+ 'javascript-typescript',
60
+ 'javascript-mastery',
61
+ 'javascript-pro'
57
62
  ],
58
63
  'node': [
59
- 'nodejs',
60
- 'nestjs',
61
- 'express',
62
- 'fastify',
63
- 'prisma',
64
- 'drizzle'
64
+ 'nodejs-best-practices',
65
+ 'nestjs-expert',
66
+ 'fastapi-expert',
67
+ 'fastapi-router',
68
+ 'prisma-expert',
69
+ 'bullmq-specialist',
70
+ 'bun-development'
71
+ ],
72
+ 'python': [
73
+ 'python-development',
74
+ 'python-patterns',
75
+ 'python-pro',
76
+ 'django-expert',
77
+ 'fastapi-expert',
78
+ 'pydantic-models',
79
+ 'pandas-pro'
65
80
  ],
66
81
  'database': [
67
82
  'postgres-best-practices',
68
- 'mongodb',
69
- 'redis',
70
- 'sql-optimization',
71
- 'database-design'
83
+ 'postgres-pro',
84
+ 'neon-postgres',
85
+ 'database-design',
86
+ 'database-optimizer',
87
+ 'databases',
88
+ 'nosql-expert',
89
+ 'sql-pro'
72
90
  ],
73
91
  'devops': [
74
- 'docker',
75
- 'kubernetes',
76
- 'ci-cd',
77
- 'github-actions',
78
- 'terraform',
79
- 'aws',
80
- 'cloudflare-expert'
92
+ 'docker-expert',
93
+ 'kubernetes-specialist',
94
+ 'terraform-engineer',
95
+ 'github-workflow-automation',
96
+ 'aws-serverless',
97
+ 'aws-cdk-development',
98
+ 'aws-cost-operations',
99
+ 'gcp-cloud-run',
100
+ 'cloudflare-expert',
101
+ 'vercel-deploy',
102
+ 'vercel-deployment',
103
+ 'devops',
104
+ 'devops-engineer'
81
105
  ],
82
106
  'testing': [
83
- 'testing',
84
- 'jest',
85
- 'playwright',
86
- 'cypress',
87
- 'vitest',
88
- 'test-driven-development'
107
+ 'testing-patterns',
108
+ 'test-driven-development',
109
+ 'tdd-workflow',
110
+ 'playwright-expert',
111
+ 'playwright-skill',
112
+ 'test-master',
113
+ 'test-fixing',
114
+ 'qa-regression'
89
115
  ],
90
116
  'security': [
91
- 'security-best-practices',
92
117
  'api-security-best-practices',
93
- 'owasp',
94
- 'authentication',
95
- 'authorization'
118
+ 'secure-code-guardian',
119
+ 'security-reviewer',
120
+ 'ethical-hacking-methodology',
121
+ 'pentest-checklist',
122
+ 'pentest-commands',
123
+ 'aws-penetration-testing',
124
+ 'cloud-penetration-testing',
125
+ 'top-web-vulnerabilities'
96
126
  ],
97
127
  'ai': [
98
128
  'ai-agents-architect',
99
129
  'ai-product',
130
+ 'ai-multimodal',
100
131
  'mcp-management',
132
+ 'mcp-developer',
133
+ 'mcp-builder',
101
134
  'prompt-engineering',
102
- 'langchain',
103
- 'openai-integration'
135
+ 'prompt-engineer',
136
+ 'langgraph',
137
+ 'langfuse',
138
+ 'crewai',
139
+ 'rag-architect',
140
+ 'rag-engineer',
141
+ 'rag-implementation',
142
+ 'llm-application-dev',
143
+ 'llm-app-patterns',
144
+ 'sequential-thinking',
145
+ 'agent-memory-mcp',
146
+ 'agent-memory-systems',
147
+ 'autonomous-agent-patterns'
104
148
  ],
105
149
  'mobile': [
106
- 'react-native',
107
- 'flutter',
108
- 'ios-development',
109
- 'android-development',
110
- 'mobile-optimization'
150
+ 'react-native-expert',
151
+ 'flutter-expert',
152
+ 'expo-app-design',
153
+ 'expo-deployment',
154
+ 'mobile-design',
155
+ 'mobile-development',
156
+ 'swift-expert',
157
+ 'kotlin-specialist'
111
158
  ],
112
159
  'frontend': [
113
- 'css-architecture',
114
- 'tailwindcss',
115
- 'animation',
116
- 'accessibility',
117
- 'responsive-design',
118
- 'web-performance'
160
+ 'frontend-development',
161
+ 'frontend-design',
162
+ 'frontend-dev-guidelines',
163
+ 'tailwind-patterns',
164
+ 'ui-design-system',
165
+ 'ui-styling',
166
+ 'ui-ux-pro-max',
167
+ 'web-design-guidelines',
168
+ 'web-performance-optimization',
169
+ 'threejs',
170
+ 'vue-expert',
171
+ 'angular-architect'
119
172
  ],
120
173
  'backend': [
174
+ 'backend-development',
175
+ 'backend-dev-guidelines',
121
176
  'api-patterns',
122
- 'microservices',
123
- 'event-driven',
124
- 'caching',
125
- 'queue-systems',
126
- 'rate-limiting'
177
+ 'api-designer',
178
+ 'microservices-architect',
179
+ 'graphql',
180
+ 'graphql-architect',
181
+ 'websocket-engineer'
127
182
  ],
128
183
  'tools': [
129
- 'git-commit',
184
+ 'git-pushing',
130
185
  'code-review',
131
186
  'debugging',
132
- 'refactoring',
133
- 'documentation',
134
- 'repomix'
187
+ 'debugging-wizard',
188
+ 'code-refactoring',
189
+ 'code-documentation',
190
+ 'repomix',
191
+ 'browser-automation',
192
+ 'cli-developer'
135
193
  ]
136
194
  };
137
195
 
@@ -157,30 +215,37 @@ function getSkillsForCategories(categories) {
157
215
  // Check if a skill matches the filter
158
216
  function shouldIncludeSkill(skillName, options = {}) {
159
217
  const { minimal, categories, selectedSkills } = options;
218
+ const lowerSkillName = skillName.toLowerCase();
160
219
 
161
220
  // If specific skills are selected, check against that list
162
221
  if (selectedSkills && selectedSkills.length > 0) {
163
- return selectedSkills.some(s =>
164
- skillName.toLowerCase().includes(s.toLowerCase()) ||
165
- s.toLowerCase().includes(skillName.toLowerCase())
166
- );
222
+ return selectedSkills.some(s => {
223
+ const lowerS = s.toLowerCase();
224
+ return lowerSkillName === lowerS ||
225
+ lowerSkillName.includes(lowerS) ||
226
+ lowerS.includes(lowerSkillName);
227
+ });
167
228
  }
168
229
 
169
230
  // If minimal mode, only include minimal skills
170
231
  if (minimal) {
171
- return MINIMAL_SKILLS.some(s =>
172
- skillName.toLowerCase().includes(s.toLowerCase()) ||
173
- s.toLowerCase().includes(skillName.toLowerCase())
174
- );
232
+ return MINIMAL_SKILLS.some(s => {
233
+ const lowerS = s.toLowerCase();
234
+ return lowerSkillName === lowerS ||
235
+ lowerSkillName.includes(lowerS) ||
236
+ lowerS.includes(lowerSkillName);
237
+ });
175
238
  }
176
239
 
177
240
  // If categories specified, check against category skills
178
241
  if (categories && categories.length > 0) {
179
242
  const categorySkills = getSkillsForCategories(categories);
180
- return categorySkills.some(s =>
181
- skillName.toLowerCase().includes(s.toLowerCase()) ||
182
- s.toLowerCase().includes(skillName.toLowerCase())
183
- );
243
+ return categorySkills.some(s => {
244
+ const lowerS = s.toLowerCase();
245
+ return lowerSkillName === lowerS ||
246
+ lowerSkillName.includes(lowerS) ||
247
+ lowerS.includes(lowerSkillName);
248
+ });
184
249
  }
185
250
 
186
251
  // Default: include all
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ngxtm/devkit",
3
- "version": "2.0.0",
3
+ "version": "2.0.1",
4
4
  "description": "Unified multi-agent system with auto-synced skills from multiple sources",
5
5
  "main": "cli/install.js",
6
6
  "bin": {