Once you've gone through the installation steps and have a working system, lets make your life *really* easy with these simple to do tasks:

1) Firstly create a folder in your web-root called '/assets' and inside that folder create '/assets/templates/' - we'll use this later on.

2) Lets create a universal config file

first thing to do is open up the file in ./system/expressionengine/config/config.php - this is your main config file, it holds all of the settings that you define. There are a series of additional 'hidden' config fields that you can add to this file to make your life easier when it comes to deploying live.

Enter your License Number and the App Version from the existing file and replace the top-section of your config with the following:

$config['app_version'] = "";
$config['install_lock'] = "";
$config['license_number'] = "";
$config['debug'] = "1";
$config['doc_url'] = "http://expressionengine.com/user_guide/";
$config['is_system_on'] = "y";
$config['site_label'] = '';
$config['cookie_prefix'] = '';

$config['allow_extensions'] = "y";

$protocol                       = (isset($_SERVER["HTTPS"]) && $_SERVER["HTTPS"] == "on") ? "https://" : "http://";
$base_url                       = $protocol . $_SERVER['HTTP_HOST'];
$base_path                      = $_SERVER['DOCUMENT_ROOT'];
$system_folder                  = "system";
$images_folder                  = "images";
$images_path                    = $base_path . "/" . $images_folder;
$images_url                     = $base_url . "/" . $images_folder;

$config['index_page']           = "";
$config['base_url']             = $base_url . "/";
$config['site_url']             = $config['base_url'];
$config['cp_url']               = $config['base_url'].$system_folder."/index.php";
$config['theme_folder_path']    = $base_path . "/themes/";
$config['theme_folder_url']     = $base_url . "/themes/";
$config['tmpl_file_basepath']   = $base_path . "/assets/templates/";

$config['emoticon_path']        = $images_url . "/smileys/";
$config['captcha_path']         = $images_path . "/captchas/";
$config['captcha_url']          = $images_url . "/captchas/";
$config['avatar_path']          = $images_path . "/avatars/";
$config['avatar_url']           = $images_url . "/avatars/";
$config['photo_path']           = $images_path . "/member_photos/";
$config['photo_url']            = $images_url . "/member_photos/";
$config['sig_img_path']         = $images_path . "/signature_attachments/";
$config['sig_img_url']          = $images_url . "/signature_attachments/";
$config['prv_msg_upload_path']  = $images_path . "/pm_attachments/";

$config['show_profiler']        = 'n'; # y/n
$config['template_debugging']   = 'n'; # y/n
$config['debug']                = "1"; # 0: no PHP/SQL errors shown. 1: Errors shown to Super Admins. 2: Errors shown to everyone.
$config['disable_all_tracking'] = 'y'; # y/n
$config['enable_sql_caching']   = 'n'; # Cache Dynamic Channel Queries?
$config['email_debug']          = 'n'; # y/n


What this gives you is all the files/folder locations set dynamically using PHP which, when moved to your live server, will simply work with no tweaks. Good Eh?

3) Enable Templates as files

This is a must for rapid development. Log in to your Control Panel, go to Design > Templates > Template Manager > Global Template Preferences and set the option 'Allow Templates to be saved as files' to 'Yes'. Now go back to the template manager, create your first template group (I recommend calling it 'home') and select the checkbox to 'make the index template in this group your sites homepage' - this is now the front page of your site.

If you now take a look in your /assets/templates/default_site/ folder, you should now see a folder called 'home.group' with a file 'index.html' in it. thats the same template as a file for you to edit in your favourite editor! Isn't technology wonderful!

From now on, you can create folders 'xxx.group' with files inside 'xxx.html / xxx.feed / xxx.js' and this will automatically create template/groups as if by magic! (Note: in some cases, you might need to 'synchronise' your templates the first couple of times - do this by logging into your CP and going to Design > Templates > Synchronise Templates).

4) Get your your .htaccess sorted

There are multiple plugins and addons available to automatically create your .htaccess, however I've found that at a basic level all you need is as follows:

DirectoryIndex index.php

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?/$1 [L]


The ensures that your index.php is the default document, and removes the need for the index.php as part of the URL Structure where the file or directory doesn't physically exist (the universal config file also removed this from the settings of your site - so you don't need to do anything else).

Simply create a file in your webroot named .htaccess and copy/paste the above into it.

5) Get Plugin Friendly

There's always debate when it comes to plugins/addons to make life easier - and I'm not any authority on it, but these are my recommendations to make your life a whole damn easier while you're working. Simply read up on what each plugin does and you can make your own mind up:

Matrix (Pixel and Tonic)
Playa (Pixel and Tonic)
Wygwam (Pixel and Tonic)
P&T DiveBar (Pixel and Tonic)
CP Analytics (Amphibian Design)
LibrarEE (LibrarEE)
Low NoSpam (Low)
ImgSizer (Lumis)
NSM Transplant (NSM)
Word Limiter (Rick Ellis)
HTML Stripper (Paul Burdick)

So thats pretty much it! you've now got a pretty powerful mean, lean framework to start your work from.

As mentioned before - you've created your assets/ folder which now has your templates in it - you can also create './css','./scripts','./images' folders in there to keep all your files in one location and makes development a real easy job!

Happy Coding!