docs: function initEnv(name, rxLines, env, msg, ns, prevVer, noVerbose) {
  	pluginName = name;
  	envNS = pluginName + '.env';
  	commitNS = pluginName + '.commit';
  	regexLines = rxLines;
  	var gconfig = getEnv() || {};
  	var nargv = null;
  	// find via node CLI argument in the format key="value"
  	function argv(k) {
  		if (!nargv) {
  			nargv = process.argv.slice(0, 2);
  		}
  		var v = '', m = null;
  		var x = new RegExp(k + regexKeyVal.source);
  		nargv.every(function(e) {
  			m = e.match(x);
  			if (m && m.length) {
  				v = m[0];
  				return false;
  			}
  		});
  		return v;
  	}
  	function getv(k) {
  		return gconfig[k] || rbot.option(pluginName + '.' + k) || argv(pluginName + '.' + k) || '';
  	}
  	function token(tkn) {
  		return typeof tkn === 'function' ? tkn : function() {
  			return tkn;
  		};
  	}
  	// loop through and set the values
  	Object.keys(env).forEach(function(key) {
  		if (!env[key]) {
  			env[key] = getv(key);
  		}
  		// use function to prevent accidental log leaking of tokens
  		regexToken.lastIndex = 0;
  		if (env[key] && regexToken.test(key)) {
  			env[key] = token(env[key]);
  		}
  	});
  	rbot.config(getEnvNS(ns), env);
  	return genCommit(env, msg, ns, prevVer, noVerbose);
  }