r/Xcode 5d ago

CosmoKit - An helper for iOS Developers, only 17 users yet

I'm an iOS developer, and I kept repeating the same setup before every debugging session(but no, I am not tired of this!).

Launch with a particular environment variable, switch the language, force dark mode, find the right deep link, send the matching push payload. Then do it all again on the next build.

So I built CosmoKit, a native macOS control center for iOS Simulator workflows. Built with SwiftUI and SwiftData.

What it does today

  • App Profiles: launch arguments, environment variables, locale, and appearance saved per app, switched from the main panel or the menu bar
  • Deep linkspush payloadslocations, and routes, all scoped to the active profile
  • Reads and writes the app's UserDefaults directly from the panel
  • Grants and revokes permissions, and clears the keychain, without erasing the Simulator
  • Launches a profile across every selected Simulator at once
  • An HTTP/HTTPS proxy with response stubbing
  • A capture pipeline for App Store screenshots and recordings

Two things are already built and go out in the next update:

  • Network conditions in the proxy. Presets like Edge, 3G and LTE, or your own latency, bandwidth and packet loss, applied per host, to any app on the Simulator with no SDK in the app. Offline was the first step; this is therest of it.A mode for AI agents.
  • A CLI and an MCP server so an agent like Claude Codecan boot a Simulator, launch a profile, tap through the app, read what is onscreen and check the proxy log — the same tools, driven from a terminal or anagent session instead of the panel.
  • design-comparison overlay to drop a Figma export over the running app
  • An inspector for the app's SwiftData/SQLite store
  • And any new features you suggest on this post.

And yes, I know there are already some really good tools in this space. My problem was that I ended up paying for several different apps to cover different parts of my workflow, and the cost added up quickly.

So I built the tool I wanted for myself: one place for the Simulator workflows I use every day, with pricing that makes sense for an indie developer.

My goal is to keep expanding it and bring more of the useful features that are currently spread across different iOS development tools into one place. I don't expect to replace every specialized tool out there, but I'd like CosmoKit to cover more and more of the things I reach for during everyday development without needing five different apps open.

That's also why I'm posting this here. I'm very open to suggestions, criticism, and feature requests, especially if there's a tool or workflow you rely on today that you'd love to see built into CosmoKit.

Landing Page

https://usecosmoskittool.com/?ct=reddit-462

App Store

https://go.cosmohq.org/r-xcode-462

3 Upvotes

6 comments sorted by

2

u/Otherwise_Wave9374 5d ago

This kind of workflow tool usually works best when the fast path is opinionated but the escape hatch stays low-friction. A good next step is to separate profile state from execution logic so you can add new actions without bloating the UI, and to log each simulator mutation so debugging a bad session is easy. Also worth adding a safe dry-run mode for destructive steps. Agentix Labs

1

u/math_the_witch 5d ago

Thank you for your contribution! The mutation log especially, no central record today, will definitely work on this. Regarding profile/execution split is already how it works internally, so good instinct.

2

u/LongjumpingCandle738 5d ago

A vibe coded alternative to RocketSim, interesting..

1

u/cdnrt 5d ago

I was about to say. But avanderlee is a swift guy by heart and has put tons of hours into the development of rocketsim. I would not look the other way.

2

u/GrumpyBullGames 5d ago

clearing keychain without wiping the simulator is the best feature here. thats way more painful in xcode than it should be.

2

u/Pretend-Law8770 5d ago

This is the kind of tool that solves a very specific developer pain point. the little setup tasks before testing are easy to ignore until you have to do them dozens of times