Skip to main content

Open-source AI app builder CLI. Create mobile apps by chatting with AI.

Project description

NativeBot

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.

MIT License PyPI GitHub Stars


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.

pipx install nativebot[telegram]

# 1. Message @BotFather on Telegram โ†’ /newbot โ†’ copy token
# 2. Start the bot
export TELEGRAM_BOT_TOKEN=your-token
nativebot telegram

Commands in Telegram:

  • /create MyApp โ€” Create a new project
  • /open MyApp โ€” Switch to a project
  • /preview โ€” Get Expo URL to open on your phone
  • /list โ€” List all projects
  • /files โ€” Show file tree
  • /model opus โ€” Switch model
  • Just send a message to chat with Claude!

The bot runs on your machine โ€” same local projects, same ~/.nativebot/projects/ directory.

How It Works

  1. Create โ€” Seeds a production-ready Expo React Native template
  2. Chat โ€” Describe features in plain English, Claude writes the code
  3. Preview โ€” Run nativebot preview MyApp โ†’ scan QR with Expo Go on your phone
  4. Iterate โ€” Keep chatting to add features, fix bugs, refine UI
  5. 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 Sonnet 4.6. To change:

nativebot open MyApp --model opus    # Use Opus 4.6
nativebot open MyApp --model haiku   # Use Haiku 4.5

Contributing

PRs welcome! See CONTRIBUTING.md.

License

MIT โ€” see LICENSE.


Built with โค๏ธ by the NativeBot community
Powered by Claude ยท Expo

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nativebot-1.1.0.tar.gz (1.4 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nativebot-1.1.0-py3-none-any.whl (28.4 kB view details)

Uploaded Python 3

File details

Details for the file nativebot-1.1.0.tar.gz.

File metadata

  • Download URL: nativebot-1.1.0.tar.gz
  • Upload date:
  • Size: 1.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Hatch/1.16.5 cpython/3.14.3 HTTPX/0.28.1

File hashes

Hashes for nativebot-1.1.0.tar.gz
Algorithm Hash digest
SHA256 a687f5e82d6b18040171b07e9c47dd3ac154378b29318b4a5b4496e5d4c3ff0d
MD5 d8e99ccdf03906e081419fdc5b089734
BLAKE2b-256 0c5885a924c8b9fddd9f474bf3f6aaffe0201a6bb447dd615e6e84892b1cef45

See more details on using hashes here.

File details

Details for the file nativebot-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: nativebot-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 28.4 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

Hashes for nativebot-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0feb7a492b3e8f798dfdf52302666ed7a0394b65c49dd7e71b133e1673f02ae0
MD5 23b7aac0e764a1a342229873215f75a5
BLAKE2b-256 640e1997c8e0f8bf76b046731f12533a2c23d0e2010e3ada7052d05ce60063ae

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page