0.1.0
Changelog
All notable changes to Monolith will be documented in this file.
The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.
[Unreleased]
0.1.0 - 2026-03-03
Added
Commands
new app— Scaffold iOS apps with interactive wizard or--no-interactiveflagsnew package— Scaffold Swift Packages with multi-target supportnew cli— Scaffold Swift CLI tools with optional ArgumentParserlist features— List available features filtered by project type (--type app|package|cli)add <feature>— Add features to existing projects (devTooling,gitHooks,claudeMD,licenseChangelog)doctor— Check availability of required and optional toolscompletions— Generate shell completions (zsh, bash, fish)version— Print current version
Interactive Wizard
- Full-page guided setup with step progress (Step N of M)
- Summary of previous answers displayed on each page
- Back navigation (press
↑or typeback) with answer preservation - Native arrow key support via macOS editline (
CEditLinesystem library) - Confirmation page before generating
iOS App Features (15)
- SwiftData —
@Model,ModelContainersetup, in-memory test helpers - LumiKit — Package dependency with 22-color
LMKThemegeneration from primary color viaColorDeriver - SnapKit — Programmatic Auto Layout dependency
- Lottie — Animation dependency with optional
LumiKitLottieintegration - Dark Mode — Standalone
AppThemewith adaptiveUIColorpatterns (auto-enabled with LumiKit) - Combine — Publisher/subscriber boilerplate and async Task patterns
- Localization — String Catalog +
L10nhelper withString(localized:) - Dev Tooling — SwiftLint, SwiftFormat, Makefile, Brewfile (one toggle, four files)
- Git Hooks — Pre-commit hook (lint + format check on staged files)
- R.swift — Code generation + Mintfile (XcodeGen only)
- Fastlane — Gemfile, Appfile, Fastfile (XcodeGen only)
- CLAUDE.md — Project-specific Claude Code guide following ecosystem template
- License + Changelog — MIT license and Keep a Changelog template
- Tabs — Tab bar controller with nav-controller-per-tab pattern (auto-enabled from
--tabs) - Mac Catalyst — Window config and menu bar (auto-enabled from
--platforms macCatalyst)
iOS App Project Systems
- SPM —
Package.swiftwith.executableTarget(default) - XcodeGen —
project.ymlwithxcodegen generate
Package Features (6)
- Strict concurrency, default isolation (
MainActorper target), dev tooling, git hooks, CLAUDE.md, license + changelog - Multi-target support with inter-target dependencies (
--target-deps) - Multi-platform support (
--platforms "iOS 18.0,macOS 15.0,macCatalyst 18.0")
CLI Features (6)
- ArgumentParser dependency, strict concurrency, dev tooling, git hooks, CLAUDE.md, license + changelog
Generation Options
--preset— Pre-select features:minimal(none),standard(devTooling, gitHooks, claudeMD),full(all)--force— Overwrite existing project directory--open— Open in Xcode after generation--resolve— Runswift package resolveafter generation--save-config/--load-config— Save and reuse project configurations as JSON--output— Custom output directory--dry-run— Preview generated files without writing
Utilities
- ColorDeriver — HSB manipulation from 1 hex color to 22
LMKThemecolors - ToolChecker — Verify tool availability (
swift,git,swiftlint,swiftformat,xcodegen,mint,fastlane) - OverwriteProtection — Prevent accidental directory overwrites (respects
--force) - ProjectDetector — Detect existing project type in a directory
- ProjectOpener — Open generated projects in Xcode
- PackageResolver — Run
swift package resolveon generated projects - FileWriter — Write files with progress reporting and directory creation
Infrastructure
- Swift 6.2, macOS 14+
MonolithLib(testable library) +monolith(thin executable) architecture- Pure function generators:
(Config) -> Stringwith no side effects - ArgumentParser 1.7.0+ dependency
- 69 source files, 45 test files
- 378 tests across 52 suites (Swift Testing)
- MIT License