<commit_before>/**
 * Fabfile template for Grunt
 *
 * @author <NAME>, http://sapegin.me
 */

exports.description = 'Create a Fabfile.';

exports.template = function(grunt, init, done) {

	var utils = require('./_src/utils')(grunt);

	grunt.helper('prompt', {}, [
		{
			name: 'server',
			message: 'Server (~/.ssh/config alias)',
			default: 'locum'
		},
		{
			name: 'grunt',
			message: 'Grunt?',
			default: 'Y/n'
		},
		{
			name: 'bare',
			message: 'Use bare git repo?',
			default: 'Y/n'
		},		
	], function(err, props) {
		grunt.utils._.defaults(props, init.defaults);

		props.name = utils.projectName();
		props.grunt = /y/i.test(props.grunt);
		props.bare = /y/i.test(props.bare);
		props.upgrade = props.grunt;

		// Files to copy (and process).
		var files = init.filesToCopy(props);

		// Actually copy (and process) files.
		init.copyAndProcess(files, props);

		// All done!
		done();
	});

};<commit_msg>Fabfile: GitHub and BitBucket support.<commit_after>/**
 * Fabfile template for Grunt
 *
 * @author <NAME>, http://sapegin.me
 */

exports.description = 'Create a Fabfile.';
exports.warnOn = 'fabfile.py';

exports.template = function(grunt, init, done) {

	var utils = require('./_src/utils')(grunt);

	grunt.helper('prompt', {}, [
		{
			name: 'name',
			message: 'Project name',
			'default': utils.projectName()
		},
		{
			name: 'server',
			message: 'Server (~/.ssh/config alias)',
			'default': 'locum'
		},
		{
			name: 'grunt',
			message: 'Run Grunt via SSH?',
			'default': 'Y/n'
		},
		{
			name: 'kind',
			message: 'Repo type (bb|gh|bare)?',
			'default': 'bb'
		}
	], function(err, props) {
		grunt.utils._.defaults(props, init.defaults);

		props.grunt = /y/i.test(props.grunt);
		props.upgrade = props.grunt;

		switch (props.kind) {
			case 'bb':
				props.repo = '<EMAIL>:sapegin/' + props.name + '.git';
				break;
			case 'gh':
				props.repo = '<EMAIL>:sapegin/' + props.name + '.git';
				break;
			default:  // bare
				props.repo = '~/git/' + props.name + '.git';
		}

		// Files to copy (and process).
		var files = init.filesToCopy(props);

		// Actually copy (and process) files.
		init.copyAndProcess(files, props);

		// All done!
		done();
	});

};
{'fraction_non_alphanumeric': 0.19636363636363635, 'fraction_numerical': 0.0, 'mean_word_length': 2.9945553539019962, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3366969', 'n_tokens_mistral': 930, 'n_tokens_neox': 815, 'n_words': 179}