mcp-probe-kit 3.0.14 → 3.0.16

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 (43) hide show
  1. package/README.md +17 -11
  2. package/build/lib/__tests__/gitnexus-bridge.unit.test.js +9 -1
  3. package/build/lib/gitnexus-bridge.d.ts +1 -0
  4. package/build/lib/gitnexus-bridge.js +29 -1
  5. package/build/lib/skill-bridge.d.ts +31 -0
  6. package/build/lib/skill-bridge.js +100 -0
  7. package/build/resources/ui-ux-data/charts.json +302 -0
  8. package/build/resources/ui-ux-data/colors.json +1058 -0
  9. package/build/resources/ui-ux-data/icons.json +1102 -0
  10. package/build/resources/ui-ux-data/landing.json +262 -0
  11. package/build/resources/ui-ux-data/metadata.json +6 -0
  12. package/build/resources/ui-ux-data/products.json +1058 -0
  13. package/build/resources/ui-ux-data/react-performance.json +574 -0
  14. package/build/resources/ui-ux-data/stacks/astro.json +266 -0
  15. package/build/resources/ui-ux-data/stacks/flutter.json +626 -0
  16. package/build/resources/ui-ux-data/stacks/html-tailwind.json +662 -0
  17. package/build/resources/ui-ux-data/stacks/jetpack-compose.json +626 -0
  18. package/build/resources/ui-ux-data/stacks/nextjs.json +218 -0
  19. package/build/resources/ui-ux-data/stacks/nuxt-ui.json +14 -0
  20. package/build/resources/ui-ux-data/stacks/nuxtjs.json +182 -0
  21. package/build/resources/ui-ux-data/stacks/react-native.json +350 -0
  22. package/build/resources/ui-ux-data/stacks/react.json +530 -0
  23. package/build/resources/ui-ux-data/stacks/shadcn.json +566 -0
  24. package/build/resources/ui-ux-data/stacks/svelte.json +134 -0
  25. package/build/resources/ui-ux-data/stacks/swiftui.json +26 -0
  26. package/build/resources/ui-ux-data/stacks/vue.json +170 -0
  27. package/build/resources/ui-ux-data/styles.json +1610 -0
  28. package/build/resources/ui-ux-data/typography.json +743 -0
  29. package/build/resources/ui-ux-data/ui-reasoning.json +1431 -0
  30. package/build/resources/ui-ux-data/ux-guidelines.json +1190 -0
  31. package/build/resources/ui-ux-data/web-interface.json +389 -0
  32. package/build/schemas/ui-ux-schemas.js +1 -1
  33. package/build/tools/start_product.js +8 -1
  34. package/build/tools/start_ui.js +14 -3
  35. package/build/tools/ui-ux-tools.js +21 -17
  36. package/build/utils/ui-data-loader.d.ts +18 -2
  37. package/build/utils/ui-data-loader.js +74 -12
  38. package/docs/i18n/en.json +4 -2
  39. package/docs/i18n/ja.json +4 -2
  40. package/docs/i18n/ko.json +4 -2
  41. package/docs/i18n/zh-CN.json +4 -2
  42. package/docs/pages/getting-started.html +3 -0
  43. package/package.json +2 -1
@@ -0,0 +1,350 @@
1
+ [
2
+ {
3
+ "No": "1",
4
+ "Category": "Components",
5
+ "Guideline": "Use functional components",
6
+ "Description": "Hooks-based components are standard",
7
+ "Do": "Functional components with hooks",
8
+ "Don't": "Class components",
9
+ "Code Good": "const App = () => { }",
10
+ "Code Bad": "class App extends Component",
11
+ "Severity": "Medium",
12
+ "Docs URL": "https://reactnative.dev/docs/intro-react"
13
+ },
14
+ {
15
+ "No": "2",
16
+ "Category": "Components",
17
+ "Guideline": "Keep components small",
18
+ "Description": "Single responsibility principle",
19
+ "Do": "Split into smaller components",
20
+ "Don't": "Large monolithic components",
21
+ "Code Good": "<Header /><Content /><Footer />",
22
+ "Code Bad": "500+ line component",
23
+ "Severity": "Medium",
24
+ "Docs URL": ""
25
+ },
26
+ {
27
+ "No": "3",
28
+ "Category": "Components",
29
+ "Guideline": "Use TypeScript",
30
+ "Description": "Type safety for props and state",
31
+ "Do": "TypeScript for new projects",
32
+ "Don't": "JavaScript without types",
33
+ "Code Good": "const Button: FC<Props> = () => { }",
34
+ "Code Bad": "const Button = (props) => { }",
35
+ "Severity": "Medium",
36
+ "Docs URL": ""
37
+ },
38
+ {
39
+ "No": "4",
40
+ "Category": "Components",
41
+ "Guideline": "Colocate component files",
42
+ "Description": "Keep related files together",
43
+ "Do": "Component folder with styles",
44
+ "Don't": "Flat structure",
45
+ "Code Good": "components/Button/index.tsx styles.ts",
46
+ "Code Bad": "components/Button.tsx styles/button.ts",
47
+ "Severity": "Low",
48
+ "Docs URL": ""
49
+ },
50
+ {
51
+ "No": "5",
52
+ "Category": "Styling",
53
+ "Guideline": "Use StyleSheet.create",
54
+ "Description": "Optimized style objects",
55
+ "Do": "StyleSheet for all styles",
56
+ "Don't": "Inline style objects",
57
+ "Code Good": "StyleSheet.create({ container: {} })",
58
+ "Code Bad": "style={{ margin: 10 }}",
59
+ "Severity": "High",
60
+ "Docs URL": "https://reactnative.dev/docs/stylesheet"
61
+ },
62
+ {
63
+ "No": "6",
64
+ "Category": "Styling",
65
+ "Guideline": "Avoid inline styles",
66
+ "Description": "Prevent object recreation",
67
+ "Do": "Styles in StyleSheet",
68
+ "Don't": "Inline style objects in render",
69
+ "Code Good": "style={styles.container}",
70
+ "Code Bad": "style={{ margin: 10, padding: 5 }}",
71
+ "Severity": "Medium",
72
+ "Docs URL": ""
73
+ },
74
+ {
75
+ "No": "7",
76
+ "Category": "Styling",
77
+ "Guideline": "Use flexbox for layout",
78
+ "Description": "React Native uses flexbox",
79
+ "Do": "flexDirection alignItems justifyContent",
80
+ "Don't": "Absolute positioning everywhere",
81
+ "Code Good": "flexDirection: 'row'",
82
+ "Code Bad": "position: 'absolute' everywhere",
83
+ "Severity": "Medium",
84
+ "Docs URL": "https://reactnative.dev/docs/flexbox"
85
+ },
86
+ {
87
+ "No": "8",
88
+ "Category": "Styling",
89
+ "Guideline": "Handle platform differences",
90
+ "Description": "Platform-specific styles",
91
+ "Do": "Platform.select or .ios/.android files",
92
+ "Don't": "Same styles for both platforms",
93
+ "Code Good": "Platform.select({ ios: {}, android: {} })",
94
+ "Code Bad": "Hardcoded iOS values",
95
+ "Severity": "Medium",
96
+ "Docs URL": "https://reactnative.dev/docs/platform-specific-code"
97
+ },
98
+ {
99
+ "No": "9",
100
+ "Category": "Styling",
101
+ "Guideline": "Use responsive dimensions",
102
+ "Description": "Scale for different screens",
103
+ "Do": "Dimensions or useWindowDimensions",
104
+ "Don't": "Fixed pixel values",
105
+ "Code Good": "useWindowDimensions()",
106
+ "Code Bad": "width: 375",
107
+ "Severity": "Medium",
108
+ "Docs URL": ""
109
+ },
110
+ {
111
+ "No": "10",
112
+ "Category": "Navigation",
113
+ "Guideline": "Use React Navigation",
114
+ "Description": "Standard navigation library",
115
+ "Do": "React Navigation for routing",
116
+ "Don't": "Manual navigation management",
117
+ "Code Good": "createStackNavigator()",
118
+ "Code Bad": "Custom navigation state",
119
+ "Severity": "Medium",
120
+ "Docs URL": "https://reactnavigation.org/"
121
+ },
122
+ {
123
+ "No": "11",
124
+ "Category": "Navigation",
125
+ "Guideline": "Type navigation params",
126
+ "Description": "Type-safe navigation",
127
+ "Do": "Typed navigation props",
128
+ "Don't": "Untyped navigation",
129
+ "Code Good": "navigation.navigate<RootStackParamList>('Home', { id })",
130
+ "Code Bad": "navigation.navigate('Home', { id })",
131
+ "Severity": "Medium",
132
+ "Docs URL": ""
133
+ },
134
+ {
135
+ "No": "12",
136
+ "Category": "Navigation",
137
+ "Guideline": "Use deep linking",
138
+ "Description": "Support URL-based navigation",
139
+ "Do": "Configure linking prop",
140
+ "Don't": "No deep link support",
141
+ "Code Good": "linking: { prefixes: [] }",
142
+ "Code Bad": "No linking configuration",
143
+ "Severity": "Medium",
144
+ "Docs URL": "https://reactnavigation.org/docs/deep-linking/"
145
+ },
146
+ {
147
+ "No": "13",
148
+ "Category": "Navigation",
149
+ "Guideline": "Handle back button",
150
+ "Description": "Android back button handling",
151
+ "Do": "useFocusEffect with BackHandler",
152
+ "Don't": "Ignore back button",
153
+ "Code Good": "BackHandler.addEventListener",
154
+ "Code Bad": "No back handler",
155
+ "Severity": "High",
156
+ "Docs URL": ""
157
+ },
158
+ {
159
+ "No": "14",
160
+ "Category": "State",
161
+ "Guideline": "Use useState for local state",
162
+ "Description": "Simple component state",
163
+ "Do": "useState for UI state",
164
+ "Don't": "Class component state",
165
+ "Code Good": "const [count, setCount] = useState(0)",
166
+ "Code Bad": "this.state = { count: 0 }",
167
+ "Severity": "Medium",
168
+ "Docs URL": ""
169
+ },
170
+ {
171
+ "No": "15",
172
+ "Category": "State",
173
+ "Guideline": "Use useReducer for complex state",
174
+ "Description": "Complex state logic",
175
+ "Do": "useReducer for related state",
176
+ "Don't": "Multiple useState for related values",
177
+ "Code Good": "useReducer(reducer initialState)",
178
+ "Code Bad": "5+ useState calls",
179
+ "Severity": "Medium",
180
+ "Docs URL": ""
181
+ },
182
+ {
183
+ "No": "16",
184
+ "Category": "State",
185
+ "Guideline": "Use context sparingly",
186
+ "Description": "Context for global state",
187
+ "Do": "Context for theme auth locale",
188
+ "Don't": "Context for frequently changing data",
189
+ "Code Good": "ThemeContext for app theme",
190
+ "Code Bad": "Context for list item data",
191
+ "Severity": "Medium",
192
+ "Docs URL": ""
193
+ },
194
+ {
195
+ "No": "17",
196
+ "Category": "State",
197
+ "Guideline": "Consider Zustand or Redux",
198
+ "Description": "External state management",
199
+ "Do": "Zustand for simple Redux for complex",
200
+ "Don't": "useState for global state",
201
+ "Code Good": "create((set) => ({ }))",
202
+ "Code Bad": "Prop drilling global state",
203
+ "Severity": "Medium",
204
+ "Docs URL": ""
205
+ },
206
+ {
207
+ "No": "18",
208
+ "Category": "Lists",
209
+ "Guideline": "Use FlatList for long lists",
210
+ "Description": "Virtualized list rendering",
211
+ "Do": "FlatList for 50+ items",
212
+ "Don't": "ScrollView with map",
213
+ "Code Good": "<FlatList data={items} />",
214
+ "Code Bad": "<ScrollView>{items.map()}</ScrollView>",
215
+ "Severity": "High",
216
+ "Docs URL": "https://reactnative.dev/docs/flatlist"
217
+ },
218
+ {
219
+ "No": "19",
220
+ "Category": "Lists",
221
+ "Guideline": "Provide keyExtractor",
222
+ "Description": "Unique keys for list items",
223
+ "Do": "keyExtractor with stable ID",
224
+ "Don't": "Index as key",
225
+ "Code Good": "keyExtractor={(item) => item.id}",
226
+ "Code Bad": "keyExtractor={(_, index) => index}",
227
+ "Severity": "High",
228
+ "Docs URL": ""
229
+ },
230
+ {
231
+ "No": "20",
232
+ "Category": "Lists",
233
+ "Guideline": "Optimize renderItem",
234
+ "Description": "Memoize list item components",
235
+ "Do": "React.memo for list items",
236
+ "Don't": "Inline render function",
237
+ "Code Good": "renderItem={({ item }) => <MemoizedItem item={item} />}",
238
+ "Code Bad": "renderItem={({ item }) => <View>...</View>}",
239
+ "Severity": "High",
240
+ "Docs URL": ""
241
+ },
242
+ {
243
+ "No": "21",
244
+ "Category": "Lists",
245
+ "Guideline": "Use getItemLayout for fixed height",
246
+ "Description": "Skip measurement for performance",
247
+ "Do": "getItemLayout when height known",
248
+ "Don't": "Dynamic measurement for fixed items",
249
+ "Code Good": "getItemLayout={(_, index) => ({ length: 50, offset: 50 * index, index })}",
250
+ "Code Bad": "No getItemLayout for fixed height",
251
+ "Severity": "Medium",
252
+ "Docs URL": ""
253
+ },
254
+ {
255
+ "No": "22",
256
+ "Category": "Lists",
257
+ "Guideline": "Implement windowSize",
258
+ "Description": "Control render window",
259
+ "Do": "Smaller windowSize for memory",
260
+ "Don't": "Default windowSize for large lists",
261
+ "Code Good": "windowSize={5}",
262
+ "Code Bad": "windowSize={21} for huge lists",
263
+ "Severity": "Medium",
264
+ "Docs URL": ""
265
+ },
266
+ {
267
+ "No": "23",
268
+ "Category": "Performance",
269
+ "Guideline": "Use React.memo",
270
+ "Description": "Prevent unnecessary re-renders",
271
+ "Do": "memo for pure components",
272
+ "Don't": "No memoization",
273
+ "Code Good": "export default memo(MyComponent)",
274
+ "Code Bad": "export default MyComponent",
275
+ "Severity": "Medium",
276
+ "Docs URL": ""
277
+ },
278
+ {
279
+ "No": "24",
280
+ "Category": "Performance",
281
+ "Guideline": "Use useCallback for handlers",
282
+ "Description": "Stable function references",
283
+ "Do": "useCallback for props",
284
+ "Don't": "New function on every render",
285
+ "Code Good": "useCallback(() => {}, [deps])",
286
+ "Code Bad": "() => handlePress()",
287
+ "Severity": "Medium",
288
+ "Docs URL": ""
289
+ },
290
+ {
291
+ "No": "25",
292
+ "Category": "Performance",
293
+ "Guideline": "Use useMemo for expensive ops",
294
+ "Description": "Cache expensive calculations",
295
+ "Do": "useMemo for heavy computations",
296
+ "Don't": "Recalculate every render",
297
+ "Code Good": "useMemo(() => expensive(), [deps])",
298
+ "Code Bad": "const result = expensive()",
299
+ "Severity": "Medium",
300
+ "Docs URL": ""
301
+ },
302
+ {
303
+ "No": "26",
304
+ "Category": "Performance",
305
+ "Guideline": "Avoid anonymous functions in JSX",
306
+ "Description": "Prevent re-renders",
307
+ "Do": "Named handlers or useCallback",
308
+ "Don't": "Inline arrow functions",
309
+ "Code Good": "onPress={handlePress}",
310
+ "Code Bad": "onPress={() => doSomething()}",
311
+ "Severity": "Medium",
312
+ "Docs URL": ""
313
+ },
314
+ {
315
+ "No": "27",
316
+ "Category": "Performance",
317
+ "Guideline": "Use Hermes engine",
318
+ "Description": "Improved startup and memory",
319
+ "Do": "Enable Hermes in build",
320
+ "Don't": "JavaScriptCore for new projects",
321
+ "Code Good": "hermes_enabled: true",
322
+ "Code Bad": "hermes_enabled: false",
323
+ "Severity": "Medium",
324
+ "Docs URL": "https://reactnative.dev/docs/hermes"
325
+ },
326
+ {
327
+ "No": "28",
328
+ "Category": "Images",
329
+ "Guideline": "Use expo-image",
330
+ "Description": "Modern performant image component for React Native",
331
+ "Do": "Use expo-image for caching, blurring, and performance",
332
+ "Don't": "Use default Image for heavy lists or unmaintained libraries",
333
+ "Code Good": "<Image source={url} cachePolicy='memory-disk' /> (expo-image)",
334
+ "Code Bad": "<FastImage source={url} />",
335
+ "Severity": "Medium",
336
+ "Docs URL": "https://docs.expo.dev/versions/latest/sdk/image/"
337
+ },
338
+ {
339
+ "No": "29",
340
+ "Category": "Images",
341
+ "Guideline": "Specify image dimensions",
342
+ "Description": "Prevent layout shifts",
343
+ "Do": "width and height for remote images",
344
+ "Don't": "No dimensions for network images",
345
+ "Code Good": "<Image style={{ width: 100 height: 100 }} />",
346
+ "Code Bad": "<Image source={{ uri }} /> no size",
347
+ "Severity": "High",
348
+ "Docs URL": ""
349
+ }
350
+ ]