Skip to content

TiberiusTech/launchdeck

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LaunchDeck

A release manager for App Store submissions, in SwiftUI. Multiple apps, versioned releases, checklists with blocking tasks, and a Markdown brief for whoever asks "where is 2.1 stuck?".

Preview

I shipped enough releases to know the failure mode isn't forgetting that there's a checklist — it's checking items off in your head. So this app is opinionated about one thing: critical tasks physically block the ship button. Forgetting the launch tweet is sad; forgetting the privacy manifest is a rejection. The app knows the difference.

What it does

  • Apps → releases → tasks. Track every app you ship, each with its release history and one release in flight.
  • Three built-in checklists — Full release (18 tasks), Hotfix (5), First submission (11) — written from actual App Store Connect experience, including the traps ("first two lines of what's-new show without tapping more", "no spaces after commas in keywords").
  • Blocking tasks. Ship button stays locked until every critical task is done. Non-critical tasks affect the readiness %, not the gate.
  • Semantic version suggestions. After 1.4.2 it offers 1.4.3 / 1.5.0 / 2.0.0. The parser normalizes "2.0" → "2.0.0" and rejects garbage.
  • Target dates with a days-left / days-late countdown.
  • Release brief export — Markdown, blockers listed first.
  • SwiftData persistence, cascade deletes, demo data on first launch.

Code layout

Sources/LaunchDeck/
├── Models/       Product, Release, ReleaseTask + readiness rules
├── Services/     Version (semver), checklists, brief exporter, samples
└── Views/        Product list, product detail, release detail,
                  new-release sheet, brief sheet, theme
Tests/            Version parsing/bumping, gating logic, brief (13 tests)

The gating logic (canShip, blockers) lives on the model and is unit tested — that's the invariant the whole app exists for.

Running

iOS 17 / macOS 14. swift test runs the logic tests. Open the package in Xcode for previews, or copy Sources/LaunchDeck/ into an app target and add @main to LaunchDeckApp.

Honest limitations

  • Checklists are code, not user-editable — by design for my use, but a custom-checklist editor would be the obvious next feature.
  • No App Store Connect API integration. It's a checklist, not a robot.

MIT license.

About

SwiftUI release checklist for App Store submissions.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages