Get Started
Clone, install, and run Takeout in minutes
Prerequisites
- Bun - bun.sh (recommend bunv for version management)
- Docker - docker.com (on macOS, OrbStack is faster)
- Git
For mobile development:
- iOS: macOS with Xcode 26+
- Android: Android Studio with JDK 17+
Choose Your Version
Takeout comes in two versions:
- Free - open source at github.com/tamagui/takeout-free
- Pro Pro- purchase at tamagui.dev/takeout for a more robust starting point and chat support
Installation
Clone your version:
Then install and run the setup wizard:
Onboarding Pro
The bun onboard command walks you through project setup. You can re-run it anytime, and it saves progress if you quit early.
When you start, it asks where to begin:
- full - complete setup from the beginning
- prerequisites - check required tools
- identity - customize project name and bundle ID
- ports - configure development ports
- ci-runners - set up GitHub Actions
- production - deploy to a server
- eject - switch from monorepo to published packages
Prerequisites Check
The wizard verifies you have the required tools installed: Bun 1.0+, Node.js 20+, Docker, and Git. It also recommends optional tools like bunv and fnm for version management. Missing something? It shows install links and lets you continue anyway.
Project Identity
Customize your project’s name, URL slug, and mobile bundle identifier. This updates package.json, app.config.ts, and your environment files. Skip this step to keep the defaults.
Port Configuration
Takeout uses port 8081 by default (TAMA on a phone keypad). Change it here and the wizard updates every config file in the project. It also checks for port conflicts with PostgreSQL (5432), Zero (4848), and MinIO (9090/9091).
CI Runners
Choose how to run GitHub Actions builds. The project defaults to ARM64 Docker images, so you need compatible runners:
- Warp Runners - fast ARM64, $0.005/min, works out of the box
- GitHub ARM Runners - native ARM64, requires Teams/Enterprise plan
- GitHub x64 Runners - free tier, but builds x64 images (won’t run on ARM servers without emulation)
Production Deployment
Ready to deploy? The wizard configures either Uncloud (self-hosted) or AWS SST:
Uncloud sets up your server architecture, database connection, SSH keys, and optionally custom domains with SSL via Let’s Encrypt or Cloudflare. It generates a complete .env.production file.
AWS SST configures ECS deployment with your preferred architecture (Graviton ARM64 recommended for cost savings).
Monorepo vs Published Packages
Takeout includes source code for its packages in ./packages. You can either keep this setup and customize locally, or eject to use published npm packages instead. Ejecting removes the packages directory and switches your imports to @take-out/* from npm.
Development
After onboarding, run in separate terminals:
For mobile:
Next Steps
- Run
bun tkoto see available commands - Run
bun tko docs listfor built-in documentation
Edit this page on GitHub.