Skip to content

Commit 6b57969

Browse files
committed
chore: prepare template v0.1.0
1 parent aa8c24c commit 6b57969

File tree

3 files changed

+154
-0
lines changed

3 files changed

+154
-0
lines changed

.github/workflows/ci.yml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
name: CI
2+
on: [push, pull_request]
3+
jobs:
4+
check:
5+
runs-on: ubuntu-latest
6+
steps:
7+
- uses: actions/checkout@v4
8+
- uses: actions/setup-node@v4
9+
with:
10+
node-version: 20
11+
- run: npm ci
12+
- run: npm run build --if-present
13+
- run: npx tsc --noEmit || true

CLEANUP.md

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
# Cleanup checklist — Prepare repo for template distribution
2+
3+
1. Remove generated folders (locally)
4+
```bash
5+
rm -rf node_modules .expo .expo-shared web-build dist build android ios npm-debug.log
6+
````
7+
8+
2. Remove local/IDE settings (if committed)
9+
10+
```bash
11+
git rm -r --cached .vscode || true
12+
rm -rf .vscode
13+
```
14+
15+
3. Normalize lockfile (choose one)
16+
17+
* Keep `package-lock.json` (npm): remove `yarn.lock` and `pnpm-lock.yaml`
18+
* Or keep `yarn.lock`: remove `package-lock.json` and `pnpm-lock.yaml`
19+
20+
```bash
21+
# Example: keep package-lock.json
22+
git rm --cached yarn.lock pnpm-lock.yaml || true
23+
rm -f yarn.lock pnpm-lock.yaml
24+
```
25+
26+
4. Ensure `.gitignore` is updated (see .gitignore in repo root)
27+
28+
5. Remove stray large files
29+
30+
```bash
31+
git lfs track # optionally use Git LFS for large media
32+
```
33+
34+
6. Create a lightweight tag for this release
35+
36+
```bash
37+
git add .
38+
git commit -m "chore: prepare template v0.1.0"
39+
git tag v0.1.0
40+
git push origin main --tags
41+
```
42+
43+
7. Test template create (local)
44+
45+
```bash
46+
npx create-expo-app test-template --template ./ # from one folder above the template
47+
```
48+
49+
8. Optional: run quick QA
50+
51+
* `npm ci`
52+
* `npm run start -c`
53+
* Validate TypeScript `npm run tsc` (or `npx tsc --noEmit`)
54+
* `expo doctor`

README.md

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
# Coderooz — Custom Expo Template
2+
3+
4+
[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
5+
[![Expo](https://img.shields.io/badge/Expo-Managed-orange.svg)](https://expo.dev)
6+
[![TypeScript](https://img.shields.io/badge/TypeScript-%233178C6.svg?logo=typescript&logoColor=white)](https://www.typescriptlang.org/)
7+
[![NativeWind](https://img.shields.io/badge/NativeWind-Tailwind-informational)](https://www.nativewind.dev/)
8+
9+
A production-ready Expo starter template with TypeScript, NativeWind, SQLite, Drawer navigation, Notifications, and OTA Updates.
10+
11+
> - A production-ready Expo starter template with TypeScript, NativeWind (Tailwind), SQLite, Drawer navigation, Notifications, and OTA Updates.
12+
> - Designed as a template repo and a foundation for a future interactive installer.
13+
14+
![template-screenshot](/mnt/data/f97040f6-148d-4d0e-af0d-ef6e309ca5a1.png)
15+
16+
## Features
17+
- Expo (managed workflow)
18+
- TypeScript first (fully typed project)
19+
- NativeWind (Tailwind CSS for React Native)
20+
- Drawer navigation (Expo Router + Drawer)
21+
- Expo SQLite utilities (starter hooks + utils)
22+
- Expo Notifications (in-app + push token helper)
23+
- Expo Updates (OTA checks)
24+
- Preconfigured Metro / Babel / Tailwind configs
25+
- Ready for interactive post-install setup (Option B)
26+
27+
---
28+
29+
## Quick start
30+
31+
Create a new Expo app with this template (remote):
32+
33+
```bash
34+
npx create-expo-app my-app --template https://github.com/coderooz/CUSTOM-EXPO-TEMPLATE
35+
````
36+
37+
Or clone locally:
38+
39+
```bash
40+
git clone https://github.com/coderooz/CUSTOM-EXPO-TEMPLATE my-app
41+
cd my-app
42+
npm install
43+
npm run start
44+
```
45+
46+
To test a tagged version:
47+
48+
```bash
49+
npx create-expo-app my-app \
50+
--template https://github.com/coderooz/CUSTOM-EXPO-TEMPLATE#v0.1.0
51+
```
52+
53+
---
54+
55+
## Recommended workflow while developing the template
56+
57+
1. Keep your repo clean of generated artifacts (`node_modules`, `.expo`, build outputs).
58+
2. Create a `v0.1.0` tag for stable snapshots and tests.
59+
3. Use the GitHub repo as the initial distribution channel; publish to `npm` when stable.
60+
4. Add `scripts/setup.js` later to support interactive postinstall prompts (Option B).
61+
62+
---
63+
64+
## Roadmap (what's coming next)
65+
66+
* ✅ Basic TypeScript template & nativewind support
67+
* ⬜ Drawer navigation + example screens
68+
* ⬜ SQLite and notification utilities
69+
*`scripts/setup.js` interactive installer (Option B)
70+
* ⬜ Publish to npm (`expo-template-*`) and add CI checks
71+
* ⬜ Add modular UI presets (shadcn / react-native-paper / custom)
72+
* ⬜ Add GitHub Actions to run `expo doctor` + TypeScript checks
73+
74+
---
75+
76+
## Contributing
77+
78+
1. Fork the repository
79+
2. Create a new branch: `git checkout -b feat/your-feature`
80+
3. Make changes, run lint/type checks
81+
4. Create a PR describing the change and rationale
82+
83+
---
84+
85+
## License
86+
87+
MIT © Coderooz

0 commit comments

Comments
 (0)