Skip to content

Commit 03fbf78

Browse files
committed
v0.4.0: Users and Data - 13 skills, 4 rules, 12 MCP tools
New skills: mobile-auth-setup, mobile-push-notifications, mobile-local-storage, mobile-api-integration. New rule: mobile-env-safety. New MCP tools: addPushNotifications, configureDeepLinks, resetDevEnvironment. Made-with: Cursor
1 parent d159001 commit 03fbf78

File tree

17 files changed

+1650
-31
lines changed

17 files changed

+1650
-31
lines changed

.cursor-plugin/plugin.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
{
22
"name": "mobile-app-developer-tools",
33
"displayName": "Mobile App Developer Tools",
4-
"version": "0.3.0",
5-
"description": "Mobile app development for Cursor, Claude Code, and MCP-compatible editors. 9 skills covering project setup, environment detection, device deployment, navigation, state management, component patterns, camera integration, AI features, and permissions for React Native/Expo - plus 3 rules. Companion MCP server provides 9 tools for environment checks, project scaffolding, device connection, screen/component generation, dependency installation, permissions, AI integration, and build health checks.",
4+
"version": "0.4.0",
5+
"description": "Mobile app development for Cursor, Claude Code, and MCP-compatible editors. 13 skills covering project setup, environment detection, device deployment, navigation, state management, component patterns, camera, AI, permissions, auth, push notifications, local storage, and API integration for React Native/Expo - plus 4 rules. Companion MCP server provides 12 tools.",
66
"author": {
77
"name": "TMHSDigital",
88
"url": "https://github.com/TMHSDigital"

CHANGELOG.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,15 @@
22

33
All notable changes to this project will be documented in this file.
44

5+
## [0.4.0] - 2026-04-03
6+
7+
### Added
8+
9+
- **4 new skills**: `mobile-auth-setup` (Supabase, Firebase, Clerk auth with secure token storage), `mobile-push-notifications` (expo-notifications, EAS Push, Android channels), `mobile-local-storage` (AsyncStorage, SQLite, SecureStore, MMKV), `mobile-api-integration` (REST/GraphQL clients, React Query, offline, retry)
10+
- **1 new rule**: `mobile-env-safety` (flags hardcoded production endpoints, missing EXPO_PUBLIC_ prefix, server-only secrets in client code)
11+
- **3 new MCP tools**: `mobile_addPushNotifications`, `mobile_configureDeepLinks`, `mobile_resetDevEnvironment`
12+
- Totals: 13 skills, 4 rules, 12 MCP tools
13+
514
## [0.3.0] - 2026-04-03
615

716
### Added

CLAUDE.md

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,19 +4,19 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
44

55
## Project Overview
66

7-
The **Mobile App Developer Tools** Cursor plugin is at **v0.3.0**. It helps developers go from zero to a running mobile app on their phone. Currently supports React Native/Expo with **9 skills**, **3 rules**, and a companion MCP server exposing **9 tools** for environment checks, project scaffolding, device deployment, screen/component generation, dependency installation, permissions, AI integration, and build health checks. Flutter support is planned for v0.5.0.
7+
The **Mobile App Developer Tools** Cursor plugin is at **v0.4.0**. It helps developers go from zero to a running mobile app on their phone. Currently supports React Native/Expo with **13 skills**, **4 rules**, and a companion MCP server exposing **12 tools**. Flutter support is planned for v0.5.0.
88

99
## Plugin Architecture
1010

1111
```
1212
.cursor-plugin/plugin.json - Plugin manifest
1313
skills/<skill-name>/SKILL.md - AI workflow definitions
1414
rules/<rule-name>.mdc - Code quality and security rules
15-
mcp-server/ - MCP server with 9 tools
15+
mcp-server/ - MCP server with 12 tools
1616
packages/mobile-dev-tools/ - NPM package (stub for name claim)
1717
```
1818

19-
## Skills (9 total)
19+
## Skills (13 total)
2020

2121
| Skill | Purpose |
2222
| --- | --- |
@@ -29,20 +29,25 @@ packages/mobile-dev-tools/ - NPM package (stub for name claim)
2929
| mobile-camera-integration | expo-camera setup, permissions, photo capture, barcode scanning, video recording |
3030
| mobile-ai-features | AI API integration (OpenAI, Anthropic, Google) with backend proxy, vision, text, audio |
3131
| mobile-permissions | Cross-platform permission request patterns, rationale strings, denied/blocked handling |
32+
| mobile-auth-setup | Authentication with Supabase, Firebase, Clerk; secure token storage, protected routes |
33+
| mobile-push-notifications | expo-notifications, EAS Push, Android channels, deep link on tap, local notifications |
34+
| mobile-local-storage | AsyncStorage, expo-sqlite, expo-secure-store, MMKV; migrations and data cleanup |
35+
| mobile-api-integration | REST/GraphQL clients, React Query, auth headers, retry, offline queue, optimistic updates |
3236

33-
## Rules (3 total)
37+
## Rules (4 total)
3438

3539
| Rule | Scope | Purpose |
3640
| --- | --- | --- |
3741
| mobile-secrets.mdc | Global | Flags API keys, signing credentials, keystore passwords, Firebase config, EAS tokens |
3842
| mobile-platform-check.mdc | `.ts`, `.tsx` | Flags platform-specific APIs used without Platform.OS or Platform.select() guards |
3943
| mobile-image-assets.mdc | `.ts`, `.tsx`, `.json` | Flags oversized images, unoptimized formats, missing density variants, uncached remote images |
44+
| mobile-env-safety.mdc | `.ts`, `.tsx`, `.json` | Flags hardcoded production endpoints, missing EXPO_PUBLIC_ prefix, server-only secrets in client code |
4045

4146
## Companion MCP Server
4247

4348
Tools use the `mobile_` prefix (for example `mobile_checkDevEnvironment`).
4449

45-
### Tools (9 total)
50+
### Tools (12 total)
4651

4752
| Tool | Description |
4853
| --- | --- |
@@ -55,6 +60,9 @@ Tools use the `mobile_` prefix (for example `mobile_checkDevEnvironment`).
5560
| mobile_addPermission | Add platform permission with iOS rationale string to app.json config plugins |
5661
| mobile_integrateAI | Scaffold AI API client with provider config, error handling, and TypeScript types |
5762
| mobile_checkBuildHealth | Validate app.json, check dependencies, verify TypeScript, detect native module issues |
63+
| mobile_addPushNotifications | Add expo-notifications plugin to app.json, create notification handler, configure Android channel |
64+
| mobile_configureDeepLinks | Set scheme, add Android intent filters, iOS associated domains, generate AASA template |
65+
| mobile_resetDevEnvironment | Nuclear reset: clear Metro cache, .expo dir, node_modules cache, optionally Pods and Gradle |
5866

5967
## Development Workflow
6068

README.md

Lines changed: 27 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
</p>
1010

1111
<p align="center">
12-
<a href="https://github.com/TMHSDigital/Mobile-App-Developer-Tools/releases"><img src="https://img.shields.io/badge/version-0.3.0-0A84FF?style=for-the-badge&logo=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0id2hpdGUiPjxwYXRoIGQ9Ik0xMiAyTDIyIDEyTDEyIDIyTDIgMTJaIi8+PC9zdmc+" alt="Release"></a>
12+
<a href="https://github.com/TMHSDigital/Mobile-App-Developer-Tools/releases"><img src="https://img.shields.io/badge/version-0.4.0-0A84FF?style=for-the-badge&logo=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0id2hpdGUiPjxwYXRoIGQ9Ik0xMiAyTDIyIDEyTDEyIDIyTDIgMTJaIi8+PC9zdmc+" alt="Release"></a>
1313
<a href="https://creativecommons.org/licenses/by-nc-nd/4.0/"><img src="https://img.shields.io/badge/License-CC%20BY--NC--ND%204.0-lightgrey?style=for-the-badge" alt="License"></a>
1414
<a href="https://github.com/TMHSDigital/Mobile-App-Developer-Tools/actions/workflows/ci.yml"><img src="https://img.shields.io/github/actions/workflow/status/TMHSDigital/Mobile-App-Developer-Tools/ci.yml?branch=main&label=CI&logo=githubactions&style=for-the-badge" alt="CI"></a>
1515
<a href="https://github.com/TMHSDigital/Mobile-App-Developer-Tools/actions/workflows/validate.yml"><img src="https://img.shields.io/github/actions/workflow/status/TMHSDigital/Mobile-App-Developer-Tools/validate.yml?branch=main&label=Validate&logo=githubactions&style=for-the-badge" alt="Validate"></a>
@@ -24,7 +24,7 @@
2424
---
2525

2626
<p align="center">
27-
<strong>9 skills</strong> &nbsp;&bull;&nbsp; <strong>3 rules</strong> &nbsp;&bull;&nbsp; <strong>9 MCP tools</strong>
27+
<strong>13 skills</strong> &nbsp;&bull;&nbsp; <strong>4 rules</strong> &nbsp;&bull;&nbsp; <strong>12 MCP tools</strong>
2828
</p>
2929

3030
<p align="center">
@@ -35,7 +35,7 @@
3535

3636
## Overview
3737

38-
Mobile App Developer Tools is a **Cursor** plugin by **TMHSDigital** that packages agent skills, editor rules, and a TypeScript **MCP server** (`mcp-server/`) so you can scaffold, run, and debug mobile apps without leaving the IDE. Currently at **v0.3.0** with nine skills, three rules, and nine live MCP tools. Flutter support is planned for v0.5.0.
38+
Mobile App Developer Tools is a **Cursor** plugin by **TMHSDigital** that packages agent skills, editor rules, and a TypeScript **MCP server** (`mcp-server/`) so you can scaffold, run, and debug mobile apps without leaving the IDE. Currently at **v0.4.0** with thirteen skills, four rules, and twelve live MCP tools. Flutter support is planned for v0.5.0.
3939

4040
<br>
4141
<table>
@@ -46,9 +46,9 @@ Mobile App Developer Tools is a **Cursor** plugin by **TMHSDigital** that packag
4646

4747
| Layer | Role |
4848
| --- | --- |
49-
| **Skills** | Guided workflows: project scaffolding, environment setup, device deployment, navigation, state management, component patterns, camera, AI, permissions |
50-
| **Rules** | Guardrails: `mobile-secrets` catches hardcoded secrets; `mobile-platform-check` flags missing platform guards; `mobile-image-assets` flags bundle bloat |
51-
| **MCP** | Nine tools for environment checks, project creation, device connection, screen/component generation, dependency installation, permissions, AI integration, build health |
49+
| **Skills** | Guided workflows: project scaffolding, environment setup, device deployment, navigation, state, components, camera, AI, permissions, auth, push, storage, APIs |
50+
| **Rules** | Guardrails: `mobile-secrets` catches hardcoded secrets; `mobile-platform-check` flags missing guards; `mobile-image-assets` flags bloat; `mobile-env-safety` flags env issues |
51+
| **MCP** | Twelve tools for environment checks, project creation, device connection, screen/component generation, dependency install, permissions, AI, build health, push, deep links, dev reset |
5252

5353
</td>
5454
<td>
@@ -74,7 +74,7 @@ Mobile App Developer Tools is a **Cursor** plugin by **TMHSDigital** that packag
7474
flowchart LR
7575
A[User asks mobile dev question] --> B[Cursor loads a Skill]
7676
B --> C{MCP server configured?}
77-
C -->|Yes| D["mobile-mcp tools (9)"]
77+
C -->|Yes| D["mobile-mcp tools (12)"]
7878
C -->|No| E[Docs-only guidance]
7979
D --> F[Local env checks / scaffolding]
8080
E --> G[Answer in chat or code edits]
@@ -152,10 +152,10 @@ Open Cursor and ask:
152152

153153
## Skills
154154

155-
All 9 skills are production-ready. Names match the folder under `skills/`.
155+
All 13 skills are production-ready. Names match the folder under `skills/`.
156156

157157
<details>
158-
<summary><strong>All 9 skills</strong></summary>
158+
<summary><strong>All 13 skills</strong></summary>
159159

160160
| Skill | Framework | What it does |
161161
| --- | --- | --- |
@@ -168,6 +168,10 @@ All 9 skills are production-ready. Names match the folder under `skills/`.
168168
| `mobile-camera-integration` | Expo | expo-camera setup, permissions, photo capture, barcode scanning, video recording |
169169
| `mobile-ai-features` | Shared | AI API integration (OpenAI, Anthropic, Google) with backend proxy, vision, text, audio |
170170
| `mobile-permissions` | Shared | Cross-platform permission requests, iOS rationale strings, denied/blocked state handling |
171+
| `mobile-auth-setup` | Shared | Authentication with Supabase, Firebase, Clerk; secure token storage, protected routes |
172+
| `mobile-push-notifications` | Expo | expo-notifications, EAS Push, Android channels, deep link on tap, local notifications |
173+
| `mobile-local-storage` | Shared | AsyncStorage, expo-sqlite, expo-secure-store, MMKV; migrations and data cleanup |
174+
| `mobile-api-integration` | Shared | REST/GraphQL clients, React Query, auth headers, retry, offline queue, optimistic updates |
171175

172176
</details>
173177

@@ -184,21 +188,26 @@ All 9 skills are production-ready. Names match the folder under `skills/`.
184188
| `mobile-camera-integration` | "Add a QR code scanner to my app" |
185189
| `mobile-ai-features` | "I want to take a photo and have AI describe what's in it" |
186190
| `mobile-permissions` | "How do I handle camera permission properly on iOS and Android?" |
191+
| `mobile-auth-setup` | "Add email/password auth with Supabase and protected routes" |
192+
| `mobile-push-notifications` | "Set up push notifications that open a specific screen on tap" |
193+
| `mobile-local-storage` | "I need offline storage for a todo list with secure login" |
194+
| `mobile-api-integration` | "Connect to my REST API with auth headers and offline support" |
187195

188196
---
189197

190198
## Rules
191199

192-
All 3 rules are production-ready.
200+
All 4 rules are production-ready.
193201

194202
<details>
195-
<summary><strong>All 3 rules</strong></summary>
203+
<summary><strong>All 4 rules</strong></summary>
196204

197205
| Rule | Scope | What it catches |
198206
| --- | --- | --- |
199207
| `mobile-secrets` | Always on | API keys, signing credentials, keystore passwords, Firebase config, `.p8`/`.p12` files, EAS tokens |
200208
| `mobile-platform-check` | `.ts`, `.tsx` | Platform-specific APIs (BackHandler, ToastAndroid, StatusBar methods) used without `Platform.OS` or `Platform.select()` guards |
201209
| `mobile-image-assets` | `.ts`, `.tsx`, `.json` | Oversized images (>500KB), unoptimized formats (BMP, TIFF), missing `@2x`/`@3x` variants, uncached remote images |
210+
| `mobile-env-safety` | `.ts`, `.tsx`, `.json` | Hardcoded production endpoints, missing `EXPO_PUBLIC_` prefix, server-only secrets in client code |
202211

203212
</details>
204213

@@ -233,7 +242,7 @@ npx @tmhs/mobile-mcp
233242
```
234243

235244
<details>
236-
<summary><strong>All 9 MCP tools</strong></summary>
245+
<summary><strong>All 12 MCP tools</strong></summary>
237246

238247
| Tool | Purpose |
239248
| --- | --- |
@@ -246,6 +255,9 @@ npx @tmhs/mobile-mcp
246255
| `mobile_addPermission` | Add a platform permission to app.json with iOS rationale string via Expo config plugins. |
247256
| `mobile_integrateAI` | Scaffold an AI API client with provider config, error handling, timeout, and TypeScript types. |
248257
| `mobile_checkBuildHealth` | Validate app.json, check dependencies, verify TypeScript compiles, detect native module issues. |
258+
| `mobile_addPushNotifications` | Add expo-notifications plugin to app.json, create notification handler, configure Android channel. |
259+
| `mobile_configureDeepLinks` | Set URL scheme, add Android intent filters, iOS associated domains, generate AASA template. |
260+
| `mobile_resetDevEnvironment` | Nuclear reset: clear Metro cache, .expo dir, node_modules cache, optionally Pods and Gradle. |
249261

250262
</details>
251263

@@ -281,7 +293,7 @@ Plugin manifest: [`.cursor-plugin/plugin.json`](.cursor-plugin/plugin.json).
281293

282294
## Configuration
283295

284-
No API keys are required for v0.3.0. All tools work locally.
296+
No API keys are required for v0.4.0. All tools work locally.
285297

286298
Future versions may use:
287299

@@ -301,8 +313,8 @@ Summary aligned with [ROADMAP.md](ROADMAP.md):
301313
| --- | --- | --- | --- |
302314
| **v0.1.0** | Zero to Phone | 3 skills, 1 rule, 3 MCP tools | |
303315
| **v0.2.0** | Navigate & State | 6 skills, 2 rules, 6 MCP tools | |
304-
| **v0.3.0** | Camera & AI | 9 skills, 3 rules, 9 MCP tools | **Current** |
305-
| **v0.4.0** | Users & Data | Auth, push notifications, local storage, API integration | |
316+
| **v0.3.0** | Camera & AI | 9 skills, 3 rules, 9 MCP tools | |
317+
| **v0.4.0** | Users & Data | 13 skills, 4 rules, 12 MCP tools | **Current** |
306318
| **v0.5.0** | Flutter | Flutter project setup, navigation, device deploy, state management | |
307319
| **v0.6.0** | Ship It | App store prep, iOS and Android submission | |
308320
| **v0.7.0** | Grow | Monetization, deep links, bundle analysis | |

ROADMAP.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66
|---------|-------|--------|-------|-----------|------------|
77
| **v0.1.0** | Zero to Phone | 3 | 1 | 3 | Project scaffolding, env check, run-on-device, secrets rule |
88
| **v0.2.0** | Navigate & State | +3 | +1 | +3 | Navigation setup, state management, component generation, platform-check rule |
9-
| **v0.3.0** | Camera & AI | +3 | +1 | +3 | Camera integration, AI features, permissions skill, image-assets rule **(current)** |
10-
| **v0.4.0** | Users & Data | +4 | +1 | +3 | Auth, push notifications, local storage, API integration, env-safety rule |
9+
| **v0.3.0** | Camera & AI | +3 | +1 | +3 | Camera integration, AI features, permissions skill, image-assets rule |
10+
| **v0.4.0** | Users & Data | +4 | +1 | +3 | Auth, push notifications, local storage, API integration, env-safety rule **(current)** |
1111
| **v0.5.0** | Flutter | +4 | +1 | +0 | Flutter project setup, navigation, run-on-device, state management, performance rule |
1212
| **v0.6.0** | Ship It | +3 | +1 | +3 | App store prep, iOS submission, Android submission, accessibility rule |
1313
| **v0.7.0** | Grow | +2 | +0 | +3 | Monetization, deep links, build-for-store, screenshots, bundle analysis |
@@ -43,7 +43,7 @@
4343
- `mobile_generateComponent` - Create a component with props, styles, tests
4444
- `mobile_installDependency` - Add and configure a library with linking and pod install
4545

46-
## v0.3.0 - Camera & AI (current)
46+
## v0.3.0 - Camera & AI
4747

4848
**Skills:**
4949
- `mobile-camera-integration` (Expo) - expo-camera setup, permissions, photo capture
@@ -58,7 +58,7 @@
5858
- `mobile_integrateAI` - Add AI API integration with error handling
5959
- `mobile_checkBuildHealth` - Verify the project builds cleanly
6060

61-
## v0.4.0 - Users & Data
61+
## v0.4.0 - Users & Data (current)
6262

6363
**Skills:**
6464
- `mobile-auth-setup` (Shared) - Auth patterns with Supabase, Firebase, Clerk

mcp-server/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "@tmhs/mobile-mcp",
3-
"version": "0.3.0",
4-
"description": "MCP server for mobile app development - 9 tools for environment checks, project scaffolding, device deployment, screen/component generation, dependency installation, permissions, AI integration, and build health checks.",
3+
"version": "0.4.0",
4+
"description": "MCP server for mobile app development - 12 tools for environment checks, project scaffolding, device deployment, screen/component generation, dependency installation, permissions, AI integration, build health, push notifications, deep links, and dev environment reset.",
55
"type": "module",
66
"main": "dist/index.js",
77
"bin": {

mcp-server/src/index.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,13 @@ import { register as registerInstallDependency } from "./tools/installDependency
1212
import { register as registerAddPermission } from "./tools/addPermission.js";
1313
import { register as registerIntegrateAI } from "./tools/integrateAI.js";
1414
import { register as registerCheckBuildHealth } from "./tools/checkBuildHealth.js";
15+
import { register as registerAddPushNotifications } from "./tools/addPushNotifications.js";
16+
import { register as registerConfigureDeepLinks } from "./tools/configureDeepLinks.js";
17+
import { register as registerResetDevEnvironment } from "./tools/resetDevEnvironment.js";
1518

1619
const server = new McpServer({
1720
name: "mobile-mcp",
18-
version: "0.3.0",
21+
version: "0.4.0",
1922
});
2023

2124
registerCheckDevEnvironment(server);
@@ -27,6 +30,9 @@ registerInstallDependency(server);
2730
registerAddPermission(server);
2831
registerIntegrateAI(server);
2932
registerCheckBuildHealth(server);
33+
registerAddPushNotifications(server);
34+
registerConfigureDeepLinks(server);
35+
registerResetDevEnvironment(server);
3036

3137
async function main(): Promise<void> {
3238
const transport = new StdioServerTransport();

0 commit comments

Comments
 (0)