@bug_hunter/expo-kit 1.0.0 → 1.0.2
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.
- package/README.md +143 -0
- package/command.md +5 -0
- package/package.json +1 -1
package/README.md
ADDED
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
# @bug_hunter/expo-kit
|
|
2
|
+
|
|
3
|
+
A CLI tool to scaffold production-ready React Native + Expo projects in seconds.
|
|
4
|
+
|
|
5
|
+
[](https://www.npmjs.com/package/@bug_hunter/expo-kit)
|
|
6
|
+
[](LICENSE)
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## What it does
|
|
11
|
+
|
|
12
|
+
Instead of setting up navigation, theming, fonts, localization and auth from scratch on every project — `expo-kit` clones a production-ready base template and configures it for you in seconds.
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
npx @bug_hunter/expo-kit
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## Usage
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
npx @bug_hunter/expo-kit
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
The CLI will ask:
|
|
27
|
+
|
|
28
|
+
```
|
|
29
|
+
? Project name? › my-app
|
|
30
|
+
? Bundle ID? › com.yourname.myapp
|
|
31
|
+
? Which modules do you need?
|
|
32
|
+
◉ Auth — email + password login
|
|
33
|
+
◯ Redux — state management
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
Then it will:
|
|
37
|
+
|
|
38
|
+
1. Clone the base template from GitHub
|
|
39
|
+
2. Update app name, slug, scheme in `app.json`
|
|
40
|
+
3. Update bundle ID for iOS and Android
|
|
41
|
+
4. Reset git history — fresh repo for your project
|
|
42
|
+
5. Remove modules you didn't select + their dependencies
|
|
43
|
+
6. Install dependencies
|
|
44
|
+
|
|
45
|
+
```
|
|
46
|
+
✔ Template cloned
|
|
47
|
+
✔ app.json updated
|
|
48
|
+
✔ Git history reset
|
|
49
|
+
✔ Modules configured
|
|
50
|
+
✔ Dependencies installed
|
|
51
|
+
|
|
52
|
+
✔ Project ready!
|
|
53
|
+
─────────────────────────────────────
|
|
54
|
+
Modules installed:
|
|
55
|
+
✔ auth
|
|
56
|
+
─────────────────────────────────────
|
|
57
|
+
Next steps:
|
|
58
|
+
cd my-app
|
|
59
|
+
npx expo start --ios
|
|
60
|
+
─────────────────────────────────────
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## What's in the template
|
|
66
|
+
|
|
67
|
+
| Feature | Details |
|
|
68
|
+
| ------------ | ---------------------------------------------------------------- |
|
|
69
|
+
| Navigation | Expo Router (file-based) with Stack + Tabs pre-wired |
|
|
70
|
+
| Theming | Light / dark / system mode with manual override |
|
|
71
|
+
| Typography | Material Design 3 type scale with dual font family support |
|
|
72
|
+
| Localization | English, Arabic (RTL), French via i18next + expo-localization |
|
|
73
|
+
| Icons | SVG icons from Figma via react-native-svg-transformer |
|
|
74
|
+
| Components | ThemedText, ThemedView, ThemedButton, ThemedInput |
|
|
75
|
+
| Demo screens | Visual reference for every base feature — delete before shipping |
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
## Available modules
|
|
80
|
+
|
|
81
|
+
| Module | What it adds |
|
|
82
|
+
| ------- | --------------------------------------------------------------------- |
|
|
83
|
+
| `auth` | Login, register, forgot password, token storage via expo-secure-store |
|
|
84
|
+
| `redux` | Redux Toolkit store, redux-persist, app slice, user slice |
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
## Project structure
|
|
89
|
+
|
|
90
|
+
After scaffolding your project looks like this:
|
|
91
|
+
|
|
92
|
+
```
|
|
93
|
+
my-app/
|
|
94
|
+
├── app/ # Expo Router screens
|
|
95
|
+
│ ├── index.tsx # Entry point — auth gate
|
|
96
|
+
│ ├── _layout.tsx # Root layout
|
|
97
|
+
│ ├── (tabs)/ # Bottom tab navigator
|
|
98
|
+
│ └── (demo)/ # Demo screens — delete before shipping
|
|
99
|
+
├── src/
|
|
100
|
+
│ ├── components/ # ThemedText, ThemedView, ThemedButton, ThemedInput
|
|
101
|
+
│ ├── constants/ # Colors, typography, spacing, icons
|
|
102
|
+
│ ├── context/ # ThemeContext
|
|
103
|
+
│ ├── hooks/ # useTheme, useLocale
|
|
104
|
+
│ ├── locales/ # en, ar, fr translation files
|
|
105
|
+
│ ├── modules/ # Installed modules (auth, redux)
|
|
106
|
+
│ ├── services/ # API and external services
|
|
107
|
+
│ ├── types/ # Global TypeScript types
|
|
108
|
+
│ └── utils/ # Helper functions
|
|
109
|
+
└── assets/
|
|
110
|
+
├── fonts/ # Custom font files
|
|
111
|
+
└── images/ # SVG icons
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
---
|
|
115
|
+
|
|
116
|
+
## Requirements
|
|
117
|
+
|
|
118
|
+
- Node.js 18+
|
|
119
|
+
- Git
|
|
120
|
+
- Expo CLI
|
|
121
|
+
- iOS Simulator or Android Emulator
|
|
122
|
+
|
|
123
|
+
---
|
|
124
|
+
|
|
125
|
+
## Template repository
|
|
126
|
+
|
|
127
|
+
The base template is open source:
|
|
128
|
+
👉 [github.com/zartabkhalil/rn-template](https://github.com/zartabkhalil/rn-template.git)
|
|
129
|
+
|
|
130
|
+
---
|
|
131
|
+
|
|
132
|
+
## Contributing
|
|
133
|
+
|
|
134
|
+
Contributions are welcome. Please open an issue or PR on the template or CLI repo.
|
|
135
|
+
|
|
136
|
+
- CLI repo: [github.com/zartabkhalil/expo-kit](https://github.com/zartabkhalil/expo-kit.git)
|
|
137
|
+
- Template repo: [github.com/zartabkhalil/rn-template](https://github.com/zartabkhalil/rn-template.git)
|
|
138
|
+
|
|
139
|
+
---
|
|
140
|
+
|
|
141
|
+
## License
|
|
142
|
+
|
|
143
|
+
MIT — free to use in personal and commercial projects.
|
package/command.md
ADDED