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.

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

  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.2.2.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.2.2-py3-none-any.whl (29.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: nativebot-1.2.2.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.2.2.tar.gz
Algorithm Hash digest
SHA256 aa49701c12a566df99253eaeac4a819292be7f641276025524154efb9da7711e
MD5 ae0c228456a3bdda48bbd9cbbe2181a1
BLAKE2b-256 d42c17289e3b785a78dea196a89bac4bdfcce8e18ed8520b01a60d895300dc8c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: nativebot-1.2.2-py3-none-any.whl
  • Upload date:
  • Size: 29.1 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.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 8d01001c15dccfae07106f1ee9981f9f175f09d7bb6d763911a0d1486e692188
MD5 9aaa21d4230a3c9f86a4387ff9b3c5b9
BLAKE2b-256 81e30a742fe7bb96a1e19b4e6a7d80948eb55637aeb587e1ae5ef651b915d45a

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