As I mentioned **I was going to be start working on this need immediately** so I'm making headway. Given that I'm knocking these down I figured it's best to start posting them. *Still, if someone else can/will post (some of) the parts I haven't done I'll be happy to let you copy whatever I'd done you haven't and select your answer as the best answer.* Until then I'm going to start posting the code. ## First Thing: Include `wp-load.php`: Since we're creating a standalone file in the root of the website to run initialization that will only be used to "bootstrap" a site *(I called mine `/my-init.php`)* we start by including `/wp-load.php` to load the WordPress API functions: <?php include "wp-load.php"; ## Creating Users for the Site We'll use the `wp_insert_user()` function located in `/wp-includes/registration.php` to create our users. This file is not loaded by default so we'll have to load it ourselves with a call to `require_once()`. We'll also use the `get_user_by()` function to first see if the user has already been created; no need to run the code twice if they haven't. ***NOTE:** This is a pattern will follow; e.g. our script should not duplicate or overwrite anything if called multiple times, especially after users have added or changed data for any of the items we plan to initialize.* <?php require_once( ABSPATH . WPINC . '/registration.php'); $user = get_user_by('slug','johnsmith'); if (!is_object($user)) { wp_insert_user(array( 'user_login' => 'johnsmith', 'role' => 'administrator', 'user_email' => '[email protected]', 'user_url' => 'http://example.com', 'first_name' => 'John', 'last_name' => 'Smith', 'comment_shortcuts' => '', 'use_ssl' => '0', 'user_pass' => '12345', )); } ##Deleting the *"Hello Dolly"* Plugin To delete the *"Hello Dolly"* plugin *([sorry Matt][1])* we'll use the `delete_plugins()` function. `delete_plugins()` expects an array of file paths that are relative to the `/wp-content/includes/` directory. For the *Hello Dolly* plugin the file path is simply `hello.php` since the *Hello Dolly* plugin isn't stored in it's own directory but for most plugins it will be in the form of `{$subdir}\{$filename}.php`; i.e. the file path for Akismet is `akismet/akismet.php`. However, `delete_plugins()` is not available until we've included `/wp-admin/includes/plugin.php` and there's also a dependency with `wp-admin/includes/file.php` so we `require_once()` both of those before we call `delete_plugins()`. Finally we use `WP_PLUGIN_DIR` constant combined with `file_exists()` to see if the main plugin file exists before we attempt to delete it *(not that is would matter if we tried to delete a missing file, but it's more elegant to actually check first and you might need to know how for some other reason)*: require_once(ABSPATH . 'wp-admin/includes/plugin.php'); require_once(ABSPATH . 'wp-admin/includes/file.php'); if (file_exists(WP_PLUGIN_DIR . '/hello.php')) delete_plugins(array('hello.php')); *Note* that sometimes `delete_plugins()` will fail because of file permissions or maybe the fact a plugin is currently activated or some other reason that you'll first need to resolve but for our use-case *Hello Dolly* goes away without a fight. ##Downloading, Installing and Activating Repository Plugins I don't actually need to download plugins from the repository right now *(I was thinking it would just be a nice to have)* we're going to let this requirement slide and revisit it later. ##Activating Our Plugins Next up is activating our own custom plugins. We are assuming we have already uploaded them to the plugin directory and all we need to do it *activate* them for WordPress. *(**Note**: This technique will work for activating repository plugins too, it just won't download and install them first.)* We'll use the `activate_plugin()` function which like `delete_plugins()` requires `/wp-admin/includes/plugin.php` to be included but *does not* need `/wp-admin/includes/file.php` in case you are only needing to automate activation and not deletion. We'll again test for existence *(not need to activate if not there, eh?)* and we'll also verify using the `is_plugin_active()` function that the plugin has not already been activated. Note I used a few variables this time (`$plugin_filepath` and `$plugin_dir`) to keep from duplicating the plugin identifier numerous times. Our example that follows activates the plugin `my-custom-plugin.php` which is located in the `my-custom-plugin` subdirectory: <?php require_once(ABSPATH . 'wp-admin/includes/plugin.php'); $plugin_filepath = 'my-custom-plugin/my-custom-plugin.php'; $plugin_dir = WP_PLUGIN_DIR . "/$plugin_filepath"; if (file_exists($plugin_dir) && !is_plugin_active($plugin_filepath)) activate_plugin($plugin_filepath); ##Next... I'll keep adding to this as I figure it out until I'm done or until someone else helps out. [1]: http://books.google.com/books?id=sXZiavO78M4C&pg=PA213&lpg=PA213&dq=matt+mullenweg+hello+dolly&source=bl&ots=Zj62cP_fVM&sig=cydmzUpwGEIevB4kEjNUkSgxCcA&hl=en&ei=HZ6NTIHIMsKqlAeMyYFj&sa=X&oi=book_result&ct=result&resnum=2&ved=0CBcQ6AEwAQ#v=onepage&q=matt%20mullenweg%20hello%20dolly&f=false