Documentation
Learn how to create, manage, and deploy project templates with Prefab
Getting Started
First Launch
- Welcome screen introduces Prefab's capabilities
- Choose your persona to customize the experience (Developer, Creative, Writer, Professional, or General)
- Starter templates are automatically installed based on your persona
- Interactive tour highlights key features
First launch experience and persona selection
Creating Your First Template
- Click New Template (⌘N) or use the + button
- Give your template a name and optional description
- Use the Blueprint tab to build your folder structure:
- Click + Add to create folders and files
- Click a folder or file to edit its properties
- Use the toolbar to sort items for easier viewing
- Add Placeholders for dynamic content (see Placeholders section)
- Set up Automation (optional) for post-creation actions
- Deploy using the Deploy button, menu bar, or Finder right-click menu
Core Concepts
What is a Template?
A template is a blueprint for a project structure. It contains:
- Folders and files: The structure you want to create
- Placeholders: Dynamic values filled in during deployment
- Actions: Automated tasks run after creation
- Metadata: Name, description, icon, tags
Folders and Files
The building blocks of your template:
- Folders: Containers that can have children, colors (Finder tags), and SF Symbol icons
- Files: Documents with optional content and placeholder substitution
Building a template structure in the Blueprint editor
Creating Templates
From Scratch
- Click New Template (⌘N)
- Name your template and add a description
- In the Blueprint tab, click + Add to add folders and files
- Click any item to edit its name, content, color, or icon
From an Existing Folder
Import an existing project to use as a starting point:
- Import a folder using one of these methods:
- Drag a folder onto the Prefab dock icon or app window
- Click Import Folder (⌘⇧I)
- Use the menu bar icon and select "Import Folder"
- Choose import options:
- Folders & Files: Import everything with content
- Folders Only: Skip all files
- Folders & Empty Files: Create placeholder files
- Toggle additional options:
- Include hidden files: Import dotfiles like .gitignore
- Preserve folder colors: Keep Finder color tags
- Preserve folder icons: Keep custom folder icons
- Click Import
- Edit the imported template to add placeholders and actions
Importing an existing folder as a template
Customizing Folder Appearance
- In the Blueprint tab, click a folder
- In the properties panel:
- Color: Choose a Finder tag color (Red, Orange, Yellow, Green, Blue, Purple, Gray)
- Icon: Search and select an SF Symbol
- Colors and icons are applied when the folder is created
Placeholders
Placeholders are dynamic values wrapped in double curly braces. When you deploy a template, you'll be prompted to fill in these values.
{{project_name}} → "My App"
{{client_name}} → "Acme Corp"
{{date}} → "2026-01-23"
{{version}} → "1.0.0"Where Placeholders Work
- Folder names:
{{client_name}} - {{project_name}} - File names:
{{project_name}}.config.json - File contents:
# {{project_name}}\n\nVersion: {{version}} - Terminal commands:
git commit -m "Initial commit for {{project_name}}"
Built-in Placeholders
These are always available without configuration:
| Placeholder | Description |
|---|---|
{{project_name}} | Name entered at deployment |
{{date}} | Current date (configurable format) |
{{year}} | Current year |
{{author}} | Author name from preferences |
{{folder}} | Parent folder name |
Adding Custom Placeholders
- Open your template and go to the Placeholders tab
- Click Add Placeholder or use Quick Add presets
- Configure the placeholder:
- Key: The identifier (e.g.,
client_name) - Label: User-friendly name (e.g., "Client Name")
- Type: Text, Number, Date, Selection, Toggle, Email, URL, File Path
- Default Value: Pre-filled value (optional)
- Required: Whether the user must provide a value
- Key: The identifier (e.g.,
Adding and configuring placeholders
{{client_name}} instead of {{cn}}. It makes templates easier to understand and maintain.Automation
Post-creation actions run automatically after your template is deployed. Use them to initialize git, install dependencies, open your editor, and more.
Action Types
| Action | Example Use |
|---|---|
| Reveal in Finder | Show the created folder |
| Open in App | Open in VS Code, Xcode, Figma |
| Terminal Command | git init, npm install, pod install |
Shell Runner Setup (One-Time)
To use terminal commands, you need to install a small helper script. This is a one-time setup that allows Prefab to run shell commands with access to your development tools (npm, nvm, homebrew, etc.).
- Go to Settings → Shell Commands
- Click Install Shell Runner
- Save the script to the suggested location (click Save in the file dialog)
- The status will show "Authorized" when complete
Setting Up Actions
- Open your template and go to the Automation tab
- Click Add Action
- Choose the action type and configure it:
- Terminal Command: Enter the command (e.g.,
git init && git add .) - Open in App: Select the application
- Reveal in Finder: No configuration needed
- Terminal Command: Enter the command (e.g.,
- Configure options:
- Label: Descriptive name for the action
- Continue on Error: Whether to proceed if this action fails
Using Placeholders in Commands
Placeholders work in terminal commands too:
# Initialize git with custom commit message
git init && git add . && git commit -m "Initial commit for {{project_name}}"
# Create a virtual environment with project name
python3 -m venv {{project_name}}_env
# Install dependencies and run setup
npm install && npm run setup:{{environment}}How Terminal Commands Work
When you deploy a template with terminal commands:
- The template structure is created first
- Commands run in the newly created project folder
- Your shell environment is loaded (nvm, homebrew, etc.)
- Each command runs in sequence
Deploying Templates
There are three ways to deploy a template. Choose the one that fits your workflow.
Method 1: From Within the App
- Open your template in Prefab
- Click the Deploy button
- Choose the destination folder
- Fill in any placeholder values
- Click Deploy
Method 2: Menu Bar
- Click the Prefab icon in the macOS menu bar
- Hover over "Create from Template"
- Select a template
- Choose destination in the file picker
- Fill in placeholders and deploy
Method 3: Finder Right-Click
- In Finder, navigate to where you want to create the project
- Right-click and select "New Folder(s) from Template"
- Choose a template from the list
- Fill in any placeholder values
- Click Deploy
Deploying a template from Finder
Example Templates
Node.js Project
"I start 3-4 new projects a week. Each needs the same structure: src folder, tests, configs, README, and git initialized."
{{project_name}}/
├── src/
│ └── index.js
├── tests/
│ └── index.test.js
├── .gitignore
├── package.json
├── README.md
└── .env.examplePlaceholders: project_name, description, author, license (Selection: MIT, Apache, GPL)
Actions: npm init -y → git init → Open in VS Code
Design Project
"Every client project needs the same folder structure for assets, exports, and documentation."
{{client_name}} - {{project_title}}/
├── 00_Brief/
│ └── Project Brief.md
├── 01_References/
├── 02_Working/
├── 03_Exports/
│ ├── Print/
│ └── Digital/
├── 04_Final/
└── 05_Archive/Placeholders: client_name, project_title, delivery_date (Date), dimensions
Actions: Reveal in Finder → Open in Figma
Legal Matter
"Every new matter needs proper folder structure for compliance. Prefab ensures consistency across all client files."
{{client_name}} - {{matter_number}}/
├── 01_Client_Documents/
├── 02_Correspondence/
│ ├── Incoming/
│ └── Outgoing/
├── 03_Research/
├── 04_Pleadings/
├── 05_Discovery/
├── 06_Billing/
└── Matter_Info.mdPlaceholders: client_name, matter_number, case_type (Selection), jurisdiction
Actions: Reveal in Finder
Keyboard Shortcuts
| Action | Shortcut |
|---|---|
| New Template | ⌘N |
| Import Folder | ⌘⇧I |
| Settings | ⌘, |
| Undo | ⌘Z |
| Redo | ⌘⇧Z |
| Cut | ⌘X |
| Copy | ⌘C |
| Paste | ⌘V |
| Delete | ⌫ |
| Select All | ⌘A |
| Toggle Sidebar | ⌘\ |
Tips & Best Practices
Template Design
- Start with your actual workflow: Import a real project, then remove specific content and add placeholders.
- Use descriptive placeholder keys:
{{client_name}}is clearer than{{cn}}. - Set sensible defaults: Pre-fill common values to speed up deployment.
- Group related placeholders: Put project info together, contact info together, etc.
- Add help text: Explain what each placeholder is for.
Folder Organization
- Number your folders:
01_Research,02_Developmentkeeps things ordered in Finder. - Use color coding consistently: Red for urgent, green for approved, etc.
- Add README files: Include a README.md explaining the folder structure.
Automation
- Chain related commands:
git init && git add . && git commit -m "Initial commit" - Use Continue on Error wisely: Enable for non-critical commands, disable for essential setup.
- Test commands manually first: Verify they work before adding to templates.
- Include error handling:
npm install || echo "npm install failed"
Need Help?
Check the Support page for FAQs, or contact us directly.