Build agent-ready iOS 18+ projects in one command - clean structure, modern defaults, no setup debt. ✨
Forge is a CLI that generates agent-friendly iOS 18+ project templates with modern defaults.
Work in progress: iosforge is in early development (v0.1). Expect sharp edges and frequent changes.
Spin up new iOS apps fast with agents, without rebuilding structure, agent docs, and signing setup every time. Forge keeps the output standard and readable, with a single source of truth and modern defaults that agents can use directly.
Think “scaffold once, then get out of the way.” 🚀
- SwiftUI app entry point and Swift Testing targets
- Swift Package module graph + XcodeGen spec
- SwiftLint configuration and CI helper script
- fastlane lanes for capabilities, TestFlight, and App Store releases
- Agent guidance in
AGENTS.mdandCLAUDE.md
- macOS 14+
- Xcode 16+
xcodegenswiftlintfastlane
brew install staskus/tap/iosforgeiosforge init MyApp --bundle-id com.company.myappiosforge will prompt for App Store Connect credentials and write .env so fastlane works right away. To skip prompts, add --no-prompts.
Next steps (auto-printed by the CLI):
cd MyApp
cp .env.example .env
# Edit .env with your credentials
mkdir -p .xcode
xcodegen generate --spec project.yml --project .xcode --project-root .
open .xcode/MyApp.xcodeprojiosforge init <AppName> [options]Options:
<AppName>must be a Swift identifier (letters and numbers, starting with a letter).--bundle-id <id>(default:com.example.<appname lowercase>)--team-id <id>--org <name>(default:Example, letters/numbers/spaces/dots/underscores/hyphens)--deployment-target <version>(default:18.0)--modules <list>(default:Core,UI)--no-git--no-prompts
Example: custom modules
iosforge init SpaceExplorer \
--bundle-id com.staskus.space \
--modules Core,UI,FeatureAuth,NetworkServiceMyApp/
- Package.swift
- project.yml
- .swiftlint.yml
- .editorconfig
- App/
- Sources/Main/App.swift
- Resources/
- Info.plist
- App.entitlements
- PrivacyInfo.xcprivacy
- Assets.xcassets/AppIcon.appiconset/Contents.json
- Modules/
- Core/Sources/Core/Core.swift
- UI/Sources/UI/UI.swift
- Tests/
- CoreTests/CoreTests.swift
- UITests/UITests.swift
- fastlane/
- Appfile
- Fastfile
- Scripts/ci.sh
- .env.example
- .gitignore
- AGENTS.md
- CLAUDE.md
- .xcode/ (generated, gitignored)
- Enable capabilities:
fastlane enable_capability capabilities:push_notification - Ship to TestFlight:
fastlane beta - TestFlight tips: use internal testing for quick team validation, then promote to public TestFlight for external testers.
- Ship to App Store:
fastlane release
iosforge is currently in 0.x. Expect changes as the project matures.
See RELEASE.md for the release checklist.
MIT. See LICENSE and THIRD_PARTY_NOTICES.md.