Skip to content

Commit 8380db2

Browse files
committed
feat: add unified GitHub Pages site with 36 MCP tools, site config, and deploy workflow
Made-with: Cursor
1 parent 643d190 commit 8380db2

File tree

9 files changed

+1993
-6
lines changed

9 files changed

+1993
-6
lines changed

.github/workflows/pages.yml

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
name: Deploy GitHub Pages
2+
3+
on:
4+
push:
5+
branches: [main]
6+
paths:
7+
- "skills/**"
8+
- "rules/**"
9+
- "mcp-tools.json"
10+
- "site.json"
11+
- ".cursor-plugin/plugin.json"
12+
- "assets/**"
13+
workflow_dispatch:
14+
15+
permissions:
16+
pages: write
17+
id-token: write
18+
19+
concurrency:
20+
group: pages
21+
cancel-in-progress: true
22+
23+
jobs:
24+
deploy:
25+
environment:
26+
name: github-pages
27+
url: ${{ steps.deployment.outputs.page_url }}
28+
runs-on: ubuntu-latest
29+
steps:
30+
- uses: actions/checkout@v6
31+
32+
- uses: actions/checkout@v6
33+
with:
34+
repository: TMHSDigital/Developer-Tools-Directory
35+
path: _template
36+
sparse-checkout: site-template
37+
38+
- uses: actions/setup-python@v5
39+
with:
40+
python-version: "3.12"
41+
42+
- name: Install dependencies
43+
run: pip install -r _template/site-template/requirements.txt
44+
45+
- name: Build site
46+
run: python _template/site-template/build_site.py --repo-root . --out docs
47+
48+
- name: Configure Pages
49+
uses: actions/configure-pages@v6
50+
51+
- name: Upload artifact
52+
uses: actions/upload-pages-artifact@v4
53+
with:
54+
path: docs
55+
56+
- name: Deploy to GitHub Pages
57+
id: deployment
58+
uses: actions/deploy-pages@v5

docs/assets/logo.png

50.4 KB
Loading

docs/fonts/inter-bold.woff2

112 KB
Binary file not shown.

docs/fonts/inter-medium.woff2

112 KB
Binary file not shown.

docs/fonts/inter-regular.woff2

109 KB
Binary file not shown.
90.2 KB
Binary file not shown.

docs/index.html

Lines changed: 1863 additions & 6 deletions
Large diffs are not rendered by default.

mcp-tools.json

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
[
2+
{ "name": "mobile_checkDevEnvironment", "description": "Detect installed mobile development tools and SDKs (Node, Expo CLI, Watchman, Xcode, Android Studio, JDK)", "category": "Dev Environment" },
3+
{ "name": "mobile_runOnDevice", "description": "Step-by-step instructions for connecting a physical device to the Expo dev server", "category": "Dev Environment" },
4+
{ "name": "mobile_resetDevEnvironment", "description": "Nuclear reset for a stuck Expo dev environment: clear Metro cache, node_modules, .expo directory", "category": "Dev Environment" },
5+
{ "name": "mobile_scaffoldProject", "description": "Generate a new Expo project using create-expo-app with the default or specified template", "category": "Scaffolding" },
6+
{ "name": "mobile_generateScreen", "description": "Create a new Expo Router screen file with navigation wiring and boilerplate", "category": "Scaffolding" },
7+
{ "name": "mobile_generateComponent", "description": "Create a React Native component file with typed props, StyleSheet, and optional test file", "category": "Scaffolding" },
8+
{ "name": "mobile_generateForm", "description": "Scaffold a validated form component with typed fields, validation rules, and error handling", "category": "Scaffolding" },
9+
{ "name": "mobile_createNativeModule", "description": "Scaffold an Expo Module or Flutter platform plugin with Swift/Kotlin stubs and bindings", "category": "Scaffolding" },
10+
{ "name": "mobile_generateTestFile", "description": "Scaffold a test file for an existing component or module with matching test boilerplate", "category": "Scaffolding" },
11+
{ "name": "mobile_installDependency", "description": "Install a package using npx expo install for Expo compatibility with native module warnings", "category": "Dependencies" },
12+
{ "name": "mobile_addPermission", "description": "Add a platform permission to an Expo project with iOS rationale string in app.json", "category": "Dependencies" },
13+
{ "name": "mobile_addMap", "description": "Add a map view with provider config, location permissions, and marker support", "category": "Features" },
14+
{ "name": "mobile_addPushNotifications", "description": "Wire up push notifications: add plugin to app.json, create handler utility, configure Android channel", "category": "Features" },
15+
{ "name": "mobile_configureDeepLinks", "description": "Configure deep linking: scheme, Android App Links intent filters, iOS Universal Links", "category": "Features" },
16+
{ "name": "mobile_integrateAI", "description": "Scaffold AI API integration with provider config, error handling, and TypeScript types", "category": "Features" },
17+
{ "name": "mobile_setupRealtime", "description": "Add a real-time client module with connection management, event subscriptions, and reconnection", "category": "Features" },
18+
{ "name": "mobile_setupI18n", "description": "Initialize internationalization config with locale files and translation structure", "category": "Features" },
19+
{ "name": "mobile_setupFeatureFlags", "description": "Add a typed feature flag system with default values and remote sync (PostHog, LaunchDarkly, Firebase)", "category": "Features" },
20+
{ "name": "mobile_checkBuildHealth", "description": "Run build health checks: validate app.json, check dependencies, verify TypeScript, detect native issues", "category": "Build and Release" },
21+
{ "name": "mobile_buildForStore", "description": "Create a production build for app store submission using EAS Build", "category": "Build and Release" },
22+
{ "name": "mobile_analyzeBundle", "description": "Analyze app bundle for large dependencies, heavy assets, and optimization opportunities", "category": "Build and Release" },
23+
{ "name": "mobile_configureOTA", "description": "Configure EAS Update for over-the-air JavaScript updates with runtime version policy", "category": "Build and Release" },
24+
{ "name": "mobile_checkNativeCompat", "description": "Audit installed packages for New Architecture (Fabric/TurboModules) support", "category": "Build and Release" },
25+
{ "name": "mobile_upgradeSDK", "description": "Detect current SDK version, compare to target, generate step-by-step upgrade plan", "category": "Build and Release" },
26+
{ "name": "mobile_runTests", "description": "Execute the project test suite (Jest for Expo, flutter test for Flutter) with structured results", "category": "Testing and CI" },
27+
{ "name": "mobile_setupCI", "description": "Generate a GitHub Actions CI workflow for build, test, and optional EAS Build deployment", "category": "Testing and CI" },
28+
{ "name": "mobile_validateStoreMetadata", "description": "Check that an Expo project has all required app store listing fields: name, bundle ID, icon, splash", "category": "Store Submission" },
29+
{ "name": "mobile_submitToAppStore", "description": "Submit the latest iOS production build to App Store Connect via EAS Submit", "category": "Store Submission" },
30+
{ "name": "mobile_submitToPlayStore", "description": "Submit the latest Android production build to Google Play Console via EAS Submit", "category": "Store Submission" },
31+
{ "name": "mobile_generateScreenshots", "description": "Generate a screenshot capture helper script with required App Store and Play Store dimensions", "category": "Store Submission" },
32+
{ "name": "mobile_securityAudit", "description": "Scan for common security anti-patterns: insecure storage, missing SSL pinning, debug flags, credentials", "category": "Quality" },
33+
{ "name": "mobile_profilePerformance", "description": "Analyze for performance anti-patterns: slow lists, unnecessary re-renders, inline styles, uncached images", "category": "Quality" },
34+
{ "name": "mobile_auditAccessibility", "description": "Scan for accessibility violations: missing labels, small touch targets, images without alt text", "category": "Quality" },
35+
{ "name": "mobile_checkOfflineReady", "description": "Validate offline-first readiness: local database, network status listener, query caching, mutation queue", "category": "Quality" },
36+
{ "name": "mobile_setupMonitoring", "description": "Configure APM with Sentry Performance or Datadog RUM: error capture, tracing, breadcrumbs", "category": "Quality" },
37+
{ "name": "mobile_setupTheming", "description": "Initialize a design token system with light/dark themes, semantic colors, spacing, typography", "category": "Quality" }
38+
]

site.json

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
{
2+
"accent": "#06b6d4",
3+
"accentLight": "#67e8f9",
4+
"heroGradientFrom": "#0a1117",
5+
"heroGradientTo": "#0d2137",
6+
"favicon": "assets/logo.png",
7+
"ogImage": "assets/logo.png",
8+
"installSteps": [
9+
"Clone the repository: <code>git clone https://github.com/TMHSDigital/Mobile-App-Developer-Tools.git</code>",
10+
"Open the folder in <strong>Cursor IDE</strong>",
11+
"Install MCP server: <code>cd mcp-server && npm install</code>",
12+
"Configure MCP in your editor settings",
13+
"Start using the 43 AI skills and 36 MCP tools"
14+
],
15+
"links": {
16+
"npm": "https://www.npmjs.com/package/@tmhs/mobile-mcp",
17+
"github": "https://github.com/TMHSDigital/Mobile-App-Developer-Tools"
18+
},
19+
"quickStart": {
20+
"title": "Get started in seconds",
21+
"command": "npm install -g @tmhs/mobile-mcp"
22+
},
23+
"compatibility": {
24+
"cursor": "0.49+",
25+
"os": ["Windows", "macOS", "Linux"],
26+
"node": "18+",
27+
"claude": "Claude Code compatible"
28+
},
29+
"relatedTools": [
30+
{ "name": "Docker Developer Tools", "url": "https://tmhsdigital.github.io/Docker-Developer-Tools/", "description": "Container management and Dockerfile support" },
31+
{ "name": "Home Lab Developer Tools", "url": "https://tmhsdigital.github.io/Home-Lab-Developer-Tools/", "description": "Home lab and Raspberry Pi workflows" },
32+
{ "name": "Developer Tools Directory", "url": "https://tmhsdigital.github.io/Developer-Tools-Directory/", "description": "Browse all TMHSDigital developer tools" }
33+
]
34+
}

0 commit comments

Comments
 (0)