 
 # Interpret commands.
 switch process.argv[2]
-  when 'help' then help()
-  when 'init' then init()
-  when 'auth' then auth()
+  when 'help' then help() # Show program usage information.
+  when 'init' then init() # Initialize project.
+  when 'auth' then auth() # Authenticate user.
   else
-    loadWorkspace (success) ->
+    loadWorkspace (success) -> # For these commands, we need a workspace.
       if success
         switch process.argv[2]
-          when 'install' then install()
-          when 'add' then add process.argv
-          when 'remove' then remove process.argv
+          when 'install' then install() # Install assets.
+          when 'add' then add process.argv # Add asset.
+          when 'remove' then remove process.argv # Remove asset.
       else
+        # Workspace needs setting up first.
         log.error "Couldn't load workspace for above reason. Terminating."

# Constants.
USER_PATH = './.pickselacc'
PROJECT_PATH = './picksel.json'


# Load core dependencies.
https = require 'https'
fs = require 'fs'


# Load third party dependencies.
request = require 'request'
jsonfile = require 'jsonfile'
existsFile = require 'exists-file'

  date: false
log = new Log logSettings

# Represents a Picksel project.
#
class Project
  constructor: () ->
    @directory = ''
    @images = []


# Represents a Picksel user.
#
class User
  constructor: () ->
    @apiKey = ''
