Skip to main content
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 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.


Built with ❤️ by the NativeBot community
Powered by Claude · Expo

Metadata

Release files for nativebot 1.6.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for nativebot 1.6.4
File Size Uploaded
nativebot-1.6.4.tar.gz 1.0 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for nativebot 1.6.4
File Interpreter ABI Platform
nativebot-1.6.4-py3-none-any.whl Python 3 none any Details

Total release size: 1.1 MB

Release files / nativebot-1.6.4.tar.gz

Download URL nativebot-1.6.4.tar.gz
Size 1.0 MB
Tags Source
SHA-256 checksum
How to use checksums
11c67f7c541fbb021fa1fc929ae589bf2ee67098f3ff1824a89e74e58eb96169
BLAKE2b-256 checksum
How to use checksums
4c954c87779fa0c3f100f977b016fce67ba8a5c101aa2c280577bb679937531b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via Hatch/1.16.5 cpython/3.14.3 HTTPX/0.28.1

Release files / nativebot-1.6.4-py3-none-any.whl

Download URL nativebot-1.6.4-py3-none-any.whl
Size 82.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
54f8b7232ff493aa74dfd260b2d485821b9692753c5f6eabb868249f87fa3af4
BLAKE2b-256 checksum
How to use checksums
a765340421689059f3d82072b305281cbfc3264ed9d7dee95320c39d3659bdf1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via Hatch/1.16.5 cpython/3.14.3 HTTPX/0.28.1

Release history Release notifications | RSS feed

This release

1.6.4 This release

2 release files

1.6.3

2 release files

1.6.2

2 release files

1.6.1

2 release files

1.6.0

2 release files

1.5.1

2 release files

1.5.0

2 release files

1.4.1

2 release files

1.4.0

2 release files

1.3.1

2 release files

1.3.0

2 release files

1.2.3

2 release files

1.2.2

2 release files

1.2.1

2 release files

1.2.0

2 release files

1.1.0

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page