<p>We have a bash script that does a whole bunch of things the key ones being the following:</p>

<ol>
<li>Downloads the latest Craft install, unpacks it and sorts it out</li>
<li>Clones in our default templates and config files</li>
<li>Clones in a bunch of plugins</li>
<li>Makes a vhost and database</li>
</ol>

<p>We then have a plugin that sets up a bunch of fields and plugins that we always want and voilá!</p>

<p>I’ve ported a version of it over <a href="https://gist.github.com/joshangell/8f54e2647a07c942fecd" rel="nofollow">here</a> in case anyone finds it helpful.</p>

<p>To be honest we’re thinking of doing away with the plugin method of setting up fields and plugins etc as it is becoming a bit of a pain to maintain. We’ll likely go with a db dump of what we want the starting point to be and then just update that now and again.</p>

CC BY-SA 3.0
2015-08-21T14:55:55.880Z
2015-08-21T15:02:34.517Z
2015-08-21T15:02:34.517Z
Josh Angell
<p>Great question. I'd been wrestling with this, with varying degrees of success, and am super pleased with <a href="https://sprout.barrelstrengthdesign.com/craft-plugins/import" rel="nofollow noreferrer">Sprout's &quot;Import&quot;</a> plugin:</p>
<blockquote>
<p>Create reusable import patterns for common content architecture problems and kick start all of your projects.</p>
<p>Prepare your patterns using a familiar Craft Import JSON Format and you'll be up and running with your Structure Navigation, Blog, or favorite Matrix Field Layout Builder in no time!</p>
</blockquote>
<p>Not just for importing standard project schemas, it'll also seed your site with dummy content. Really handy.</p>

CC BY-SA 3.0
2017-02-09T02:22:17.183Z
2017-02-09T02:22:17.183Z
2020-06-17T08:56:27.903Z
Nathan D Huening
<p>I have a Craft boilerplate installed on my local machine - like a self-contained website with all the stuff I use on every project (I also keep my front-end framework in here).</p>

<p>When I start a new project:</p>

<ol>
<li>Duplicate the <code>boilerplate</code> site folder</li>
<li>Create an entry in MAMP</li>
<li>Delete the <code>.git</code> folder</li>
<li>Duplicate the local database for the new site (SequalPro, Navicat)</li>
<li>Delete <code>/craft/config/license.key</code></li>
</ol>

<p>Bingo, new site is ready to go with all the fields and front end stuff I need for a new project.</p>

CC BY-SA 3.0
2015-08-21T16:28:24.040Z
+1 This is very similar to our method.
Lindsey D
CC BY-SA 3.0
2015-08-21T14:18:12.340Z
2017-12-14T09:43:16.770Z
2017-12-14T09:43:16.770Z
darylknight
<p>We build a lot of Craft site's these days, and now we ave a lot of experience we find we are <em>always</em> having to re-do the same few dozen things at the start of every project, such as setting up a Matrix field called 'Mixed Content' with a bunch of entry types in it, and the same for 'SEO' fields. These are always identical, but they take half an hour or so to set up, every time.</p>

<p>The templates aren't an issue, we have those stored somewhere and can just copy them in, but getting the database stuff done is becoming a chore and it's time that's adding up. How do you handle this?</p>

<workflow>
How do you manage your Craft 'starting point'?
# How do you manage your Craft 'starting point'?

(Asked by: username_0 on 2015-08-21)

We build a lot of Craft site's these days, and now we ave a lot of experience we find we are *always* having to re-do the same few dozen things at the start of every project, such as setting up a Matrix field called 'Mixed Content' with a bunch of entry types in it, and the same for 'SEO' fields. These are always identical, but they take half an hour or so to set up, every time.

The templates aren't an issue, we have those stored somewhere and can just copy them in, but getting the database stuff done is becoming a chore and it's time that's adding up. How do you handle this?

**Tags:** workflow

---

## 3 answers

### Answer by username_3 on 2015-08-21. Score: 11 | Accepted answer

I have a Craft boilerplate installed on my local machine - like a self-contained website with all the stuff I use on every project (I also keep my front-end framework in here).

When I start a new project:

1. Duplicate the `boilerplate` site folder
2. Create an entry in MAMP
3. Delete the `.git` folder
4. Duplicate the local database for the new site (SequalPro, Navicat)
5. Delete `/craft/config/license.key`

Bingo, new site is ready to go with all the fields and front end stuff I need for a new project.

> **Comments:**
> **username_4**: +1 This is very similar to our method.  

---

### Answer by username_1 on 2015-08-21. Score: 4

We have a bash script that does a whole bunch of things the key ones being the following:

1. Downloads the latest Craft install, unpacks it and sorts it out
2. Clones in our default templates and config files
3. Clones in a bunch of plugins
4. Makes a vhost and database

We then have a plugin that sets up a bunch of fields and plugins that we always want and voilá!

I’ve ported a version of it over [here](https://gist.github.com/joshangell/8f54e2647a07c942fecd) in case anyone finds it helpful.

To be honest we’re thinking of doing away with the plugin method of setting up fields and plugins etc as it is becoming a bit of a pain to maintain. We’ll likely go with a db dump of what we want the starting point to be and then just update that now and again.


---

### Answer by username_2 on 2017-02-09. Score: 1

Great question. I'd been wrestling with this, with varying degrees of success, and am super pleased with [Sprout's "Import"](https://sprout.barrelstrengthdesign.com/craft-plugins/import) plugin:

> Create reusable import patterns for common content architecture problems and kick start all of your projects.
>
> Prepare your patterns using a familiar Craft Import JSON Format and you'll be up and running with your Structure Navigation, Blog, or favorite Matrix Field Layout Builder in no time!

Not just for importing standard project schemas, it'll also seed your site with dummy content. Really handy.


---

