MaGus

Creator and iOS Engineer · 2022 · 6 months · 2 min read

Standardized iOS project setup with a Swift CLI that generates full Xcode project structures in minutes.

Overview

Built MaGus to give teams a repeatable way to bootstrap iOS projects with consistent architecture and tooling from day one.

Problem

Starting a new iOS codebase repeatedly meant rebuilding the same scaffolding, configuration, and folder conventions, which slowed delivery and created inconsistent project quality.

Constraints

  • Needed to support different team conventions and architecture preferences
  • Had to generate production-ready project structure, not just a sample app
  • Had to keep setup simple enough for fast onboarding

Approach

Created a Swift CLI that collects project inputs, applies templates, and outputs a full Xcode-ready structure with sensible defaults. Focused on composability so teams can extend the generated structure over time.

Key Decisions

Use a template-driven generator instead of a static starter repo

Reasoning:

A generator scales better across teams and project types, and it keeps new projects aligned without constant manual cleanup.

Alternatives considered:
  • Maintain a single starter repository
  • Rely on manual project setup checklists

Build the tool in Swift

Reasoning:

Using Swift reduced context switching for iOS teams and made it easier to maintain and extend the CLI with familiar language patterns.

Tech Stack

  • Swift
  • Swift Argument Parser
  • Xcode
  • YAML

Result & Impact

  • From hours to minutes
    Setup Time
  • Standardized structure across new projects
    Consistency

MaGus improved onboarding and reduced project drift by giving teams a clean, repeatable baseline before writing feature code.

Learnings

  • Project bootstrap tools are most useful when they are opinionated but still extensible
  • Small DX improvements compound quickly across a full team

Repository