Skip to content

moasq/nanowave

Repository files navigation


Nanowave

Describe your app. Nanowave writes the Swift.

From idea to App Store — entirely from your terminal.


Go Swift Runtime Selectable macOS License: MIT


$ nanowave

> A workout tracker that logs exercises, tracks sets and reps,
  and shows weekly progress with charts

  ✓ Analyzed: FitTrack
  ✓ Plan ready (14 files, 5 models)
  ✓ Build complete — 14 files
  ✓ FitTrack is ready!

One sentence in, a compiled Xcode project out. Nanowave plans the architecture, generates SwiftUI code, and auto-fixes until it builds. Choose the AI runtime and model that fit your workflow.


Supported AI Runtimes

Nanowave supports these runtimes today:

Claude Code
Claude Code
Best for long interactive build/edit sessions

--agent claude
Codex
Codex
OpenAI Codex CLI support for fast edit and build loops

--agent codex
OpenCode
OpenCode
Bring your provider and model through OpenCode

--agent opencode

Install

brew install moasq/tap/nanowave

On first launch, Nanowave detects and installs any missing dependencies automatically.

Install from source
git clone https://github.com/moasq/nanowave.git && cd nanowave
make build
./bin/nanowave

Usage

Launch nanowave, describe your app, and it builds:

> A habit tracker with a weekly grid, streak counter, and haptic feedback

  ✓ HabitGrid is ready!

  Files    12
  Location ~/nanowave/projects/HabitGrid
  ✓ Launched on iPhone 17 Pro

Select an existing project to edit it:

> Add a dark mode toggle to the settings screen

  ✓ Changes applied!

Select a runtime and model explicitly when needed:

nanowave --agent claude --model sonnet
nanowave --agent codex --model gpt-5-codex
nanowave --agent opencode --model openai/gpt-5-codex

Platforms

Mention any Apple platform in your prompt — combine as many as you want:

iPhone
Default
iPad
"iPad"
Apple Watch
"Apple Watch"
Mac
"Mac"
Apple TV
"Apple TV"
Vision Pro
"Vision Pro"

Deploy

Ship to the App Store and TestFlight without leaving the terminal.

App Store
App Store
Full submission
TestFlight
TestFlight
Beta distribution
> /connect publish to the App Store

  Nanowave Connect
  ✓ Authenticated with App Store Connect
  ✓ paytestersnow (com.example.app)
  ✓ Version 1.0 ready for submission
  ✓ Build 3 processed and ready
  ✓ App icon ready (19 sizes)
  ✓ Screenshots ready (iPhone 6.9", iPad 13")

  Submitted for App Review!

Nanowave handles code signing, metadata, screenshots (automatic simulator capture or browser upload), privacy declarations, and submission — with confirmation before any destructive action.

Available Integrations

These are the integrations available now:


Supabase

Auth, database, storage

RevenueCat

Subscriptions & paywalls

Mention authentication, a database, or a paid feature, and Nanowave wires up the supported backend automatically.

Frameworks

Apps use Apple-first frameworks wherever possible:


SwiftUI

UI

SwiftData

Persistence

Swift Charts

Data viz

MapKit

Maps

HealthKit

Health

WidgetKit

Widgets

AVFoundation

Camera & media

PhotosUI

Photo picker

ActivityKit

Live Activities

CoreML

ML

ARKit

AR

RealityKit

3D & spatial

How it works

describe  →  analyze  →  plan  →  build  →  fix  →  run
   ↑            │          │        │        │       │
 prompt     app name    files    Swift    xcode-   iOS
            features    models   code     build    Simulator
Phase What happens
Analyze Extracts app name, features, and core flow from your description
Plan Produces a file-level build plan with models, navigation, and packages
Build Generates Swift source, asset catalog, and Xcode project
Fix Compiles with xcodebuild and auto-repairs until green
Run Boots the simulator and launches the app

Commands

Command
/run Build and launch in simulator
/fix Auto-fix compilation errors
/ask <question> Query your project (read-only)
/open Open in Xcode
/connect App Store Connect & TestFlight
/help All commands
CLI subcommands
nanowave              # interactive mode (default)
nanowave fix          # auto-fix build errors
nanowave run          # build and launch in simulator
nanowave info         # project status
nanowave open         # open in Xcode
nanowave usage        # token usage and cost
nanowave integrations # manage integrations
nanowave setup        # install prerequisites
nanowave --version    # print version

Runtime Selection

Use nanowave setup to install or verify the runtime you want, then select it with --agent. Models can be chosen with --model or /model.

Runtime Install Login Example
Claude Code curl -fsSL https://claude.ai/install.sh | bash claude auth login nanowave --agent claude --model sonnet
Codex npm install -g @openai/codex codex login nanowave --agent codex --model gpt-5-codex
OpenCode curl -fsSL https://opencode.ai/install | bash opencode auth login nanowave --agent opencode --model openai/gpt-5-codex

Development

make build   # build binary
make test    # run tests
Project layout
cmd/nanowave/           # CLI entry point (cobra)
internal/
├── agentruntime/      # Runtime adapters (Claude, Codex, OpenCode)
├── claude/             # Claude Code client
├── commands/           # Cobra commands
├── config/             # Environment detection
├── integrations/       # Supabase, RevenueCat
├── orchestration/      # Multi-phase build pipeline
│   └── skills/         # Embedded AI skills (100+)
├── service/            # Build, edit, fix, run
├── storage/            # Project state persistence
├── terminal/           # UI components
└── xcodegenserver/     # XcodeGen MCP server

License

MIT

About

CLI tool that generates, compiles, and runs SwiftUI apps from natural language prompts via Claude Code.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages