Open-source AI app builder CLI. Create mobile apps by chatting with AI.
Project description
NativeBot
Build and ship mobile apps from your terminal. Powered by AI.
Describe your app โ Claude builds it โ Preview on your phone โ Submit to App Store.
Quick Start
pipx install nativebot # or: pip install nativebot
claude login
nativebot
That's it. Three commands. No API key setup. Uses your Claude subscription.
Demo
$ nativebot
๐ NativeBot โ AI App Builder
? What would you like to do? Create new project
? Project name: FitnessApp
? Describe your app: A fitness tracker with workout logging
? Start building now? Yes
? Choose model: Sonnet 4.6 (recommended)
๐ค Claude is working...
โโ Reading package.json
โโ Writing app/screens/WorkoutScreen.tsx
โโ Writing app/components/ExerciseCard.tsx
โโ bash โ npm install react-native-chart-kit
โโ Writing app/screens/ProgressScreen.tsx
โโ bash โ npx expo export -p web
โ
Done! 8 files changed in 32s
You: Add a dark mode toggle to the settings page
๐ค Claude is working...
โโ Reading app/screens/SettingsScreen.tsx
โโ Writing app/context/ThemeContext.tsx
โโ Edit app/screens/SettingsScreen.tsx
โโ Edit app/_layout.tsx
โ
Done! 3 files changed in 18s
Commands
nativebot # Interactive mode (recommended)
nativebot create "MyApp" # Create a new project
nativebot list # List all projects
nativebot open MyApp # Open project and chat with Claude
nativebot preview MyApp # Launch Expo dev server
nativebot files MyApp # Show project file tree
nativebot export MyApp # Build & submit instructions
nativebot delete MyApp # Delete a project
Telegram Bot
Build apps from your phone โ chat with NativeBot on Telegram.
NativeBot includes a self-hosted Telegram bot. You create your own private bot on Telegram and run it on your machine. It's not a public bot โ it's your bot, connected to your projects.
Setup (1 minute):
# 1. Create your bot on Telegram:
# Open Telegram โ search @BotFather โ send /newbot
# Pick a name and username โ BotFather gives you a token
# 2. Start the bot on your machine:
export TELEGRAM_BOT_TOKEN=your-token
nativebot telegram
Now open Telegram and message your bot. That's it.
Commands in Telegram:
/create MyAppโ Create a new project/open MyAppโ Switch to a project/previewโ Get Expo URL to open on your phone (chat keeps working)/listโ List all projects/filesโ Show file tree/model opusโ Switch model- Just send any message to chat with Claude!
The bot runs on your machine โ same local projects, same ~/.nativebot/projects/ directory. You can use the CLI and Telegram interchangeably on the same projects.
How It Works
- Create โ Seeds a production-ready Expo React Native template
- Chat โ Describe features in plain English, Claude writes the code
- Preview โ Run
nativebot preview MyAppโ scan QR with Expo Go on your phone - Iterate โ Keep chatting to add features, fix bugs, refine UI
- Ship โ Build with EAS and submit to App Store / Google Play
Preview Your App
nativebot preview MyApp
# Opens Expo dev server โ scan QR code with Expo Go
Or manually:
cd ~/.nativebot/projects/MyApp
npx expo start
Deploy to App Store
nativebot export MyApp
# Shows step-by-step build & submit instructions
Or directly:
cd ~/.nativebot/projects/MyApp
npm install -g eas-cli
eas login
eas build --platform ios
eas submit --platform ios
Requirements
| Requirement | Required? | Notes |
|---|---|---|
| Python 3.10+ | Yes | python3 --version |
| Node.js 18+ | Yes | For Expo projects |
| Claude subscription | Recommended | Just run claude login โ no API key needed |
| Anthropic API Key | Alternative | Get one if you prefer API access |
| Expo Go (mobile) | Recommended | For live preview on phone |
| Apple Developer Account | For shipping | For App Store submission |
Architecture
You (terminal) NativeBot CLI Claude Agent SDK
โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโ
โ nativebot open โโโโโถโ Project Manager โโโโโถโ Claude AI โ
โ "Add login" โโโโโโ Chat Session โโโโโโ Reads/Writes code โ
โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโ
โ
~/.nativebot/projects/
โโโ FitnessApp/
โ โโโ app/
โ โโโ package.json
โ โโโ .nativebot/conversation.json
โโโ TodoApp/
- Projects are real directories on your filesystem
- Claude edits files directly โ no database, no cloud sync
- Conversations saved locally for session continuity
- Your code, your machine, your control
Why NativeBot?
| Replit | Bolt | Lovable | Vibecode | NativeBot | |
|---|---|---|---|---|---|
| Open source | โ | โ | โ | โ | โ |
| CLI / Terminal | โ | โ | โ | โ | โ |
| Self-hosted | โ | โ | โ | โ | โ |
| Your own API key | โ | โ | โ | โ | โ |
| Mobile-first (Expo) | โ | โ | โ | โ | โ |
| No account required | โ | โ | โ | โ | โ |
| Unlimited usage | โ | โ | โ | โ | โ |
| Free forever | โ | โ | โ | โ | โ |
Project Structure
nativebot/
โโโ src/nativebot/
โ โโโ cli.py # Click commands
โ โโโ chat.py # Interactive chat with Claude
โ โโโ projects.py # Project management (filesystem)
โ โโโ agent.py # Claude Agent SDK integration
โ โโโ constants.py # Models, tools, system rules
โ โโโ display.py # Rich terminal formatting
โโโ template/ # Expo seed template
โโโ pyproject.toml # Package config
โโโ README.md
โโโ VISION.md
โโโ LICENSE
Configuration
Projects are stored in ~/.nativebot/projects/. To change:
export NATIVEBOT_PROJECTS_DIR=/path/to/projects
Default model is Claude Opus 4.6. To change:
nativebot open MyApp --model sonnet # Use Sonnet 4.6 (faster)
Contributing
PRs welcome! See CONTRIBUTING.md.
License
MIT โ see LICENSE.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file nativebot-1.6.4.tar.gz.
File metadata
- Download URL: nativebot-1.6.4.tar.gz
- Upload date:
- Size: 1.0 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: Hatch/1.16.5 cpython/3.14.3 HTTPX/0.28.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
11c67f7c541fbb021fa1fc929ae589bf2ee67098f3ff1824a89e74e58eb96169
|
|
| MD5 |
09287a311b828e8f60cd448a1fdb4f25
|
|
| BLAKE2b-256 |
4c954c87779fa0c3f100f977b016fce67ba8a5c101aa2c280577bb679937531b
|
File details
Details for the file nativebot-1.6.4-py3-none-any.whl.
File metadata
- Download URL: nativebot-1.6.4-py3-none-any.whl
- Upload date:
- Size: 82.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: Hatch/1.16.5 cpython/3.14.3 HTTPX/0.28.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
54f8b7232ff493aa74dfd260b2d485821b9692753c5f6eabb868249f87fa3af4
|
|
| MD5 |
f5a61946ffd578903f6d2f981c33fbf2
|
|
| BLAKE2b-256 |
a765340421689059f3d82072b305281cbfc3264ed9d7dee95320c39d3659bdf1
|