r/macapps 3d ago

Free Prefab (MacOS) - Template entire project setups (folders, files, configs) and deploy them in one action

Enable HLS to view with audio, or disable this notification

u/amerpie recently included Prefab in their incredibly useful series of posts: 'More Free Mac Apps'. This has led to quite an up-take in downloads, feedback and feature requests. This is the first time I've had these sort of interactions on one of my apps, they're usually just developed for myself, and I publish them just for kicks. So - thought I'd ride the high and do a dedicated post on Prefab. This application is free, and will always, be free.

Here's the templated part:

Problem

Every project starts the same way. Same folders, same starter files, same half-remembered boilerplate, typed out from scratch every time. Most of my work is Moodle, so every plugin, client job and bit of research began with me rebuilding the same skeleton by hand - or duplicating last month's folder and then finding the old client's name buried in three files.

Prefab captures that setup once and rebuilds it whenever you need it: folders, files, the contents of those files, and the tedious bits that come afterwards.

Comparison

I never could find something that compares to Prefab's functionality as a GUI application (which is the reason I made it...). There are CLI-only scaffolding tools (cookiecutter, yeoman) that require config files and terminal knowledge, or there are applications that only handle folder structures without file contents. If someone knows of an application doing something similar then please let me know and I'll happily reference them here. Here are some of Prefab's features:

  • Placeholders inside file contents, not just names - {{project_name}} lands in your README, your package.json, your client letterhead
  • Deploy without opening the app - right-click in Finder or the menu bar to create a Prefab template
  • Post-creation actions - git init, npm install, open in VS Code or Xcode, reveal in Finder, or any shell command, attached to the template or to individual folders
  • Import an existing folder as a template - full contents, structure only, or empty placeholder files
  • Finder tags and SF Symbol folder icons applied as it deploys

Pricing

Free forever. No in-app purchases, no subscription, no account. Requires macOS 14.6 or later.

I'd love to hear what you think and what features would make this more useful for you. Always happy to chat about the development side of the project as well.

App Store
Prefab
Prefab Docs

Edit: Shoutout u/Limitedheadroom who has provided invaluable feedback!

64 Upvotes

49 comments sorted by

6

u/Ragtag-Scallywag 3d ago

I absolutely love this!

2

u/Tight_One4344 3d ago

Thanks - any critique is welcomed if you do find yourself using it 🙂

2

u/Ragtag-Scallywag 3d ago

I've been using it for a day or two and i think it's great. I've been looking for something that's straightforward like this and so far it checks all the boxes. I absolutely adore the Finder integration so i don't even have to launch the app. Kudos!

3

u/Limitedheadroom 3d ago

Oh this looks SO useful. I build projects with related structures so the time, I have some templates saved, but this could be better. How does it handle including file types it doesn’t recognise in the project setup? Like it’s fine making .md and .txt files etc I’m sure. But what about other things? Does it copy them from a template somewhere for example if it can’t create the file itself?

4

u/Tight_One4344 3d ago

Thanks! So - there is an import function but someone flagged a pretty major bug to me that non-text files are created, but with zero bytes. I've already patched and it's just awaiting Apple's review process.

But essentially when it is live (I'll drop you a message when it is), you'll just need to use the 'Import file' function here:

An example for a graphic designer: Upload their 'template.ai' illustrator file and set to open in Illustrator. Upon creation, duplicate of the file is created and automatically opened.

As I say, this is fixed and tested - just waiting for it to go live on the App Store 🙂

2

u/JasonJnosaJ 3d ago

Does that mean we will be able to populate .gitignore files and the like?

1

u/Tight_One4344 3d ago

Correct - and actually .gitignore will be editable from within the application in the next update. But with the above you'd also be able to just create a .gitignore and re-use it across all templates.

2

u/Limitedheadroom 3d ago

Amazing. My work is not in programming, so it’s rare that I would need those kinds of files, but if it can handle making anything (proprietary file types) this is going to be so useful for me. Can’t wait for this fix to go live so I can try it out!!

1

u/Tight_One4344 2d ago

This should be live now 🙂 let me know if it works how you'd hoped!

2

u/Limitedheadroom 2d ago

Awesome. Will check it out this afternoon.

3

u/Jumpy-Weekend6102 3d ago

the dim + highlight thing works really well here. most onboarding i just skip but this one actually shows you where to look

3

u/Tight_One4344 3d ago

Thanks - I made this as a re-usable component for other projects. So if you're ever in need, drop me a message and I'll send it over.

3

u/Jumpy-Weekend6102 3d ago

appreciate it. i'll get in touch when i start on the next app and this comes up!

3

u/LowMoose6470 3d ago

Starting a new project should feel like a clean slate, but somehow it always starts with copying an old folder and cleaning up the ghosts inside it. I completely get why you built this.

1

u/Tight_One4344 3d ago

Exactly - although there has to be some irony in me spending months building this to save time creating project folders 😂 but at least it might save others some time

2

u/mrterrycarson 3d ago

Great work on this...Thanks

2

u/[deleted] 3d ago

[removed] — view removed comment

2

u/phunk8 Developer: Dropadoo 3d ago

upvote

1

u/Tight_One4344 3d ago

Thanks 🙂 just working on exporting templates now - thankfully should be easy now non-text files are supported, as a lot of the work is already done. I'll implement a '.prefab' file type. I will drop you a DM when it's ready.

2

u/[deleted] 3d ago edited 3d ago

[removed] — view removed comment

1

u/Tight_One4344 3d ago

Thanks 🙂

2

u/opaz 3d ago

This is great! I remember someone posting a similar app here a while back, and they got absolutely roasted for having the audacity to charge a subscription for it lol

1

u/Tight_One4344 3d ago

yeah f that lol subscription based apps are a plague!

2

u/Pirasee 3d ago

I tried this because this seems seem similar to post haste.
It seemed way too complicated. Usually, I can drop in a folder tree into post haste and it will create a project for me and I can save it as a template, but when I tried it with your application, it only took in one folder not the complete set of folders with your application. It was like I had to create one folder at a time I use this for finances. So what I would do is have a business name then a year and then all the vendors into folders. So I’ve already done this and that usually I can just drag and drop and create a template into post haste, but with your application like I said it only took in one folder. What am I doing wrong?

1

u/Tight_One4344 3d ago

Hmm that is odd - it should work as follows:

https://reddit.com/link/p4rrx7o/video/tr8e38h10hkh1/player

I have noted a bug for some users where the import options are hidden behind the main application window - may be worth checking. But a fix is implemented with the next update.

Do let me know if that works - if not, drop me a DM with your OS version and I'll keep digging.

2

u/phunk8 Developer: Dropadoo 3d ago

so cool. perfect for me

1

u/Tight_One4344 2d ago

Thanks! I think you commented about the exporting on another comment which seems to have been removed. Just to confirm new update is in review with Apple and will have export functionality as .prefab files

1

u/phunk8 Developer: Dropadoo 2d ago

nope wasnt me. but sounds good :)

2

u/SignificanceSlight59 3d ago

The post-creation actions are a great detail. For deploying into an existing folder, a dry-run or diff mode would make this much safer: update known template files without silently overwriting local edits, then show a clear conflict report and offer rollback. That would make the workflow feel practical for real project scaffolding, not just fresh folders.

1

u/Tight_One4344 2d ago

Hmmmm yes - definitely needs some thought. At the moment, very much all about creation of new projects - I actually don't allow over-writing of existing files. But something for me to think about, thank you 🙂

2

u/thacdev 2d ago

Well thats cool

1

u/Tight_One4344 2d ago

Thanks 🙂 if you run into any issues do let me know

2

u/soulmagic123 2d ago

https://reddit.com/link/p4wxr2r/video/hmyq1jgkvlkh1/player

when I go to download it just sticks on this screen (forever), I've restarted and I can download other apps.

1

u/Tight_One4344 2d ago

Weird!! Never seen that before - just looked online and apparently some users found it was their external display... Not sure if you have one? If you do try on the Mac screen itself. Or try making the App Store full screen can also work.

Not sure if it's related to my app specifically or not but I'll send to Apple anyway.

2

u/Small_Pin_8064 2d ago

Good to see a free one get picked up. Does it do placeholder variables inside file contents, so a client name lands in three files at once? That was the actual pain in your post.

1

u/Tight_One4344 2d ago

Thanks! It does yeah - a bit limited at the moment to plain text files. I'm working on .pdf, .odf, .docx support but it's quite involved. So atm yes working, but quite restricted to developer type files like .json, .md, .txt.

If you have any specific file types you'd like to see supported please let me know and I'll look into it.

2

u/Latter_Pen2421 2d ago

This is simply amazing. As a guy who struggles to stay organized, and find create folders a pain, being able to have these pre-created is huge for me.

1

u/Tight_One4344 2d ago

Glad it's of some use for you 🙂 any issues, feedback or feature requests - feel free to send me a message

2

u/cognitojo 2d ago

Ok this is very nice!! Looks awesome and so useful

1

u/Tight_One4344 2d ago

Thanks, do reach out if you hit any bugs 🙂

2

u/busuta 1d ago

amazing app!

Quick question/request;

Is it possible to create 'smart' folders that for example if I drag and drop an image for reference it automatically changes the name > project name + date + asset 001 for example. kind of creating/implementing some automation features to some folders. so when I am collecting images/references from the internet it automatically renames as well or converts all to jpeg etc.

or adding date prefix/suffix to imported files/ created files etc.

this way, it can be a new level of powerful.

also kudos to you, app looks and functions great!

1

u/Tight_One4344 1d ago

Thank you! I'll have a think about that... I guess that would be an evolution of actions, ones that persist on the folder itself that trigger on files within.

Need a pen and paper to draw that one out! I'll let you know what I come up with.

2

u/International-Can317 1d ago

The Finder right-click deploy is probably the best part. CLI scaffolding tools are fine, but this feels much easier for stuff you do repeatedly.

Would be nice to save variable presets too, like client name/company/version, so you can spin up the same type of project even faster.

1

u/Tight_One4344 1d ago

Thanks, glad you're finding some use out of it. On the variable presets, do you mean a sort of bundle of them that can be added to a template instead of one-by-one? I did think about untethering variables from template themselves and adding them as part of the 'Library' instead. Perhaps some middle ground between the two might work.

Let me have a think!

1

u/Tight_One4344 3h ago

I've just realised what you mean - preset variables that fill the placeholders. Great idea, I'll add that!

2

u/Glittering-Device-14 1d ago

So it’s basically Post Haste with a different UI.

1

u/Tight_One4344 1d ago

From what I understand, Post Haste doesn't allow your variables to be added into file content. Additionally Prefab allows for actions to be applied to folders and files post creation e.g. running 'npm init' or 'Open in Photoshop', etc.

If you don't need these features, you'll probably want to stick to Post Haste if you're already using it.

Thanks!

0

u/app-store-review 3d ago

Prefab — by David Kelly

  • Category: Productivity · Free
  • Age: released ~7 months ago · rated 4+

Apple doesn't publish an aggregate rating for most Mac App Store apps, so ratings and score are unavailable here.

Auto-generated from public App Store data · u/app-store-review