Imaging having such a complicated project structure that agents don't even TRY to edit it, instead telling you where to click to add it manually.

And not even making a cli to automated that.
JS devs cannot comprehend.

@steipete Time for tuist? 👀👀👀
@alex No, I migrated away. Tuist doesn’t use synced folders so I have to regen project for file changes - that is far worse than ghe occasional package edit.
@steipete @alex Could be a good use case for Poltergeist?

@alex yaeh but it also requires an xcode window reload, way too annoying.

Really, no need to optimize this. how often do you really add a dependency?

@steipete @alex I use TCA so it’s the binary caching for all those libs and Swift-Syntax that I like (and selective testing + a really simple
GitHub action CI setting). Also I just find it easier to maintain a Project.swift than a .xcproj
@alex whatever works for you. I tried both and MUCH prefer my new flow.
@steipete @alex Variety is the spice of life! Thanks for all your great blog posts recently, btw - I’ve found it all really inspiring, and spending a lot of time playing with CC

@steipete @alex

I started a project recently and picked tuist. I had the same complaints about the files, so what I ended up doing is having all my code a in a single spam package that tuist depends on. I am basically using it solely for Xcode project generation, which removes the binary caching niceties.

I did end up writing a script to add all my spam targets into the workspace after generation, and I sometimes have to “save” the Paxkage.swift in Xcode if the project is regenerated, but I only need to regenerate if I add an new spm module.

@jefflewis @alex that still sounds like a hack for something you need exactly once
@jefflewis @steipete @alex @pedro is there a better way around this? Maybe we’re missing something (see thread)

@alex @jefflewis @pedro I asked claude to take an existing project as template, adapt it to my new thing and that’s all I need. The only thing agents are not good at is bootstrapping.

Once you have your project file with v77 folder format that syncs for disk changes you only need manual changes for changing swift package dependencies, which is rare

@alex @jefflewis @pedro See my repos how I do this, it’s all open source
@alex @jefflewis @steipete I’m going to add support for synchronized groups.
Alternatively you can also use something like this https://swiftpackageindex.com/giginet/xcodeproj-mcp-server but it doesn’t prevent the implicit dependencies through derived data that are often the cause of unreliability.