You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Replace build-time OpenAPI type generation with the published @roxyapi/sdk client. Request and response types now import directly from the SDK, so there is no checked-in schema to drift against the live spec.
- Single createRoxy client with roxy.numerology.* wrappers (the 7 methods screens use)
- Drop openapi-fetch, openapi-typescript, and the generate:types script
- Drop the EXPO_PUBLIC_ROXYAPI_BASE_URL env key, leaving only the API key
- Add jest-expo tests covering success and error paths
- README leads with the high-demand numerology endpoints
Copy file name to clipboardExpand all lines: AGENTS.md
+18-15Lines changed: 18 additions & 15 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,37 +1,40 @@
1
1
# Agents Guide
2
2
3
-
This is a RoxyAPI starter app. A Pythagorean numerology calculator built with React Native, Expo SDK 54, and TypeScript. Demonstrates Life Path, Expression, Soul Urge, Personal Year, full numerology charts, and compatibility, with Master Number and Karmic Debt detection, all powered by the RoxyAPI Numerology API.
3
+
This is a RoxyAPI starter app. A Pythagorean numerology calculator built with React Native, Expo SDK 54, and TypeScript. Demonstrates Life Path, Expression, Soul Urge, Personal Year, full numerology charts, and compatibility, with Master Number and Karmic Debt detection, all powered by the RoxyAPI Numerology API through the official `@roxyapi/sdk`.
- Run with `npm start`, then `npm run ios`, `npm run android`, or `npm run web`
11
+
- Test with `npm test`, typecheck with `npm run typecheck`
12
12
13
-
## How to call RoxyAPI
14
-
- Base URL: `https://roxyapi.com/api/v2`
15
-
- Auth header: `X-API-Key: <key>`
13
+
## How it calls RoxyAPI
14
+
- The only data layer is `@roxyapi/sdk`. `createRoxy(key)` sets the base URL and the auth header, and ships its own types from the OpenAPI spec, so there is no generated schema file to keep in sync.
15
+
- The key is bundled into the app (mobile has no server). Treat `EXPO_PUBLIC_ROXYAPI_KEY` as a public, restricted key locked to your bundle id, or proxy calls through a backend you control.
16
+
- Numerology takes a name and date of birth only, so there is no geocoding step.
16
17
- Live OpenAPI spec: https://roxyapi.com/api/v2/numerology/openapi.json
17
18
- Live playground: https://roxyapi.com/api-reference
18
19
19
20
## Endpoints used in this app
20
-
-`GET /numerology/life-path` for the core Life Path number from a birth date
21
-
-`GET /numerology/chart` for the full numerology profile, including Expression, Soul Urge, Personality, Birth Day, and Maturity
22
-
-`GET /numerology/personal-year` for annual cycle forecasts
23
-
-`GET /numerology/expression` for the Expression number from full birth name
24
-
-`GET /numerology/compatibility` for compatibility analysis between two people
25
-
-`GET /numerology/meanings/{number}` for detailed meanings of numbers 1 to 9 plus Master Numbers 11, 22, 33
21
+
-`roxy.numerology.calculateLifePath` for the core Life Path number from a birth date
22
+
-`roxy.numerology.generateNumerologyChart` for the full numerology profile, including Expression, Soul Urge, Personality, and Birth Day numbers plus the Personal Year
23
+
-`roxy.numerology.calculatePersonalYear` for annual cycle forecasts
24
+
-`roxy.numerology.calculateExpression` for the Expression number from full birth name
25
+
-`roxy.numerology.calculateSoulUrge` for the Soul Urge number from the vowels in the birth name
26
+
-`roxy.numerology.calculateNumCompatibility` for compatibility analysis between two people
27
+
-`roxy.numerology.getNumberMeaning` for detailed meanings of numbers 1 to 9 plus Master Numbers 11, 22, 33
26
28
27
29
## Where to extend
28
-
-`src/api/client.ts` is the API client setup.
29
-
-`src/api/numerology.ts`exports the methods used by screens.
30
-
-`src/api/schema.ts`holds auto generated types from the OpenAPI spec.
30
+
-`src/api/client.ts` is the single Roxy SDK client and the `hasApiKey` guard.
31
+
-`src/api/numerology.ts`wraps the `roxy.numerology.*`methods used by screens and unwraps the SDK `{ data, error }` result.
32
+
-`src/api/types.ts`re-exports the SDK response types under app-friendly names.
A fully functional numerology calculator app built with React Native Expo and TypeScript, powered by the RoxyAPI Numerology API. Calculate Life Path, Expression, Soul Urge, and other core numerology numbers with detailed interpretations.
3
+
[](https://roxyapi.com/pricing)
Open-source React Native (Expo) template for a Pythagorean numerology app: Life Path, full numerology chart, Personal Year forecast, two-person compatibility, and the full meaning library for numbers 1 to 9 plus Master Numbers 11, 22, and 33. Built on the [Roxy](https://roxyapi.com) Numerology API and the official [@roxyapi/sdk](https://www.npmjs.com/package/@roxyapi/sdk). One API key, every numerology endpoint, full control over your native UI.
8
+
9
+
Fork it, set one environment variable, and ship.
4
10
5
11
## Screenshots
6
12
@@ -15,197 +21,170 @@ A fully functional numerology calculator app built with React Native Expo and Ty
15
21
<imgsrc="screenshots/06.jpeg"width="250" />
16
22
</p>
17
23
18
-
## Features
24
+
## What you get
19
25
20
-
Build a professional numerology app with essential features:
26
+
-**Life Path calculator** from a birth date, the single most important number in numerology, with Master Number and Karmic Debt flags.
27
+
-**Full numerology chart** in one call: Life Path, Expression, Soul Urge, Personality, and Birth Day numbers plus the current Personal Year.
28
+
-**Personal Year forecast** with theme, cycle, opportunities, challenges, and advice for the year ahead.
29
+
-**Compatibility** between two people, scored across Life Path, Expression, and Soul Urge with strengths, challenges, and relationship advice.
30
+
-**Number meanings** for 1 to 9 and Master Numbers 11, 22, 33, with keywords, strengths, challenges, career, relationships, and spiritual path.
31
+
-**Master Number and Karmic Debt detection** returned by the API, never collapsed client side.
32
+
-**Dark mode** with a teal theme that follows the device setting.
21
33
22
-
-**Life Path Calculator**: Calculate the most important numerology number from birth date
23
-
-**Full Numerology Chart**: Generate complete numerology profile with all core numbers
24
-
-**Personal Year Forecast**: Annual cycle and forecast calculations
25
-
-**Compatibility Analysis**: Check numerology compatibility between two people
26
-
-**Number Meanings**: Explore detailed meanings for numbers 1-9, 11, 22, and 33
27
-
-**Master Numbers**: Automatic detection of Master Numbers (11, 22, 33)
- Detailed 300-500 word interpretations for every number
58
+
```
59
+
EXPO_PUBLIC_ROXYAPI_KEY=your-api-key-here
60
+
```
64
61
65
-
### 3. Configure Environment
62
+
> **Bundled key caveat.** A mobile app has no server, so any `EXPO_PUBLIC_*` value is compiled into the build and can be read off a device. For production, use a key restricted to your bundle id in the dashboard, or route calls through a thin backend proxy that holds the real key. Never ship an unrestricted key.
The SDK is the only data layer. There is no generated schema file to keep in sync: `@roxyapi/sdk` ships its own types from the same OpenAPI spec the API serves, so a response flows straight into a screen with no glue code. Numerology takes a name and date of birth only, so there is no geocoding step.
│ │ ├── personal-year.tsx # Personal year forecast
99
-
│ │ ├── compatibility.tsx # Compatibility checker
100
-
│ │ └── meanings.tsx # Number meanings explorer
101
-
│ └── _layout.tsx # Root layout
102
-
├── src/
103
-
│ ├── api/
104
-
│ │ ├── client.ts # API client setup
105
-
│ │ ├── numerology.ts # API methods
106
-
│ │ ├── schema.ts # Generated types from OpenAPI
107
-
│ │ └── types.ts # Type exports
108
-
│ ├── components/
109
-
│ │ └── RoxyBranding.tsx # API key setup screen
110
-
│ └── constants/
111
-
│ └── colors.ts # Theme colors
112
-
├── assets/ # Logo, icons, images
113
-
├── .env # Environment variables
114
-
└── package.json
115
-
```
116
-
117
-
## API Endpoints Used
90
+
Every screen imports from `src/api`. The data layer wraps each `roxy.numerology.*` call and unwraps the SDK `{ data, error }` result into either the response or one thrown error the screen can catch:
118
91
119
-
The app demonstrates these RoxyAPI Numerology endpoints:
92
+
```ts
93
+
// src/api/numerology.ts
94
+
exportconst numerologyApi = {
95
+
getLifePath: async (body) =>unwrap(awaitroxy.numerology.calculateLifePath({ body }), 'Failed to calculate Life Path number'),
96
+
// ...
97
+
};
98
+
```
120
99
121
-
```typescript
122
-
// Life Path calculation
123
-
POST/life-path
124
-
{ year: 1990, month: 7, day: 15 }
100
+
```tsx
101
+
// app/(tabs)/index.tsx
102
+
const data =awaitnumerologyApi.getLifePath({ year: 1990, month: 7, day: 15 });
103
+
// data.number, data.type, data.meaning.title
104
+
```
125
105
126
-
// Expression number
127
-
POST/expression
128
-
{ fullName: "John Smith" }
106
+
## Featured endpoints
129
107
130
-
// Soul Urge number
131
-
POST/soul-urge
132
-
{ fullName: "John Smith" }
108
+
The highest-demand numerology endpoints, in the order you are most likely to ship them. Every method name and field below comes from the [OpenAPI spec](https://roxyapi.com/api/v2/numerology/openapi.json).
-**Add a feature.** Pick a numerology method, add a wrapper in `src/api/numerology.ts`, call it from a screen. The SDK types regenerate from the spec, so new endpoints flow through with no manual typing. The API also ships Personality, Birth Day, Maturity, Karmic Lessons, Karmic Debt, Personal Day, and Personal Month.
170
+
-**Change the theme.** This app uses Tailwind colors through NativeWind. Swap `teal-600` in the screen `className` strings for any Tailwind color, and update `appColors.primary` in `src/constants/colors.ts` for the React Native props.
171
+
-**Save profiles.** Use AsyncStorage to keep a calculated chart on device. RoxyAPI stores no birth data, so memory is your layer to own.
185
172
186
-
1.**Add more calculators**: The API supports Expression, Soul Urge, Personality, Maturity, Karmic Lessons, and more
187
-
2.**Enhance UI**: Add animations with Reanimated, charts with Victory Native
188
-
3.**Save calculations**: Use AsyncStorage to save user's numerology profile
189
-
4.**Share results**: Add share functionality for calculated numbers
190
-
5.**Multi-language**: The API returns English interpretations - add i18n for UI text
191
-
6.**Custom colors**: Modify `src/constants/colors.ts` and Tailwind config
173
+
## Why Roxy
192
174
193
-
## Learn More
175
+
-**Breadth.** Numerology plus Western astrology, Vedic astrology, tarot, biorhythm, I Ching, crystals, dreams, and angel numbers under one key.
176
+
-**Type-safe.** The SDK types come from one OpenAPI pipeline, so response shapes cannot drift from what the API returns.
177
+
-**Eight languages.** Pass `query: { lang }` on the numerology endpoints for interpretations in English, Hindi, Turkish, Spanish, German, Portuguese, French, or Russian.
178
+
-**Remote MCP.** Connect AI agents to every numerology endpoint at `roxyapi.com/mcp/numerology`, no local setup.
0 commit comments