Launch Week Day 1:Rust Support in Socket Is Now Generally Available.Learn More
Socket
Book a DemoInstallSign in
Socket

generate-project

Package Overview
Dependencies
Maintainers
1
Versions
18
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

generate-project

Scaffold out complete code projects from the command line, or use this generator as a plugin in other generators to provide baseline functionality.

Source
npmnpm
Version
0.4.1
Version published
Weekly downloads
0
-100%
Maintainers
1
Weekly downloads
 
Created
Source

Scaffold out complete code projects from the command line, or use this generator as a plugin in other generators to provide baseline functionality.

generate-project

NPM version NPM downloads Build Status

generate-project demo

Table of Contents

(TOC generated by verb using markdown-toc)

What is "Generate"?

Generate is a command line tool and developer framework for scaffolding out new GitHub projects using generators and tasks.

Answers to prompts and the user's environment can be used to determine the templates, directories, files and contents to build. Support for gulp, base and assemble plugins, and much more.

For more information:

Getting started

Install

Installing the CLI

To run the project generator from the command line, you'll need to install Generate globally first. You can do that now with the following command:

$ npm install --global generate

This adds the gen command to your system path, allowing it to be run from any directory.

Install generate-project

Install this module with the following command:

$ npm install --global generate-project

Usage

Run this generator's default task with the following command:

$ gen project

What will happen?

Running $ gen project will run the generator's default task, which will:

  • prompt you for any information that's missing
  • render templates using your answers
  • generate the resulting files to the current working directory.

Conflict detection

In the case that a file already exists on the file system, you will be prompted for feedback before overwrite any files.

You can set the destination to a new directory if you want to avoid the prompts, or avoid accidentally overwriting files with unintentional answers.

What you should see in the terminal

If completed successfully, you should see both starting and finished events in the terminal, like the following:

[00:44:21] starting ...
...
[00:44:22] finished ✔

If you do not see one or both of those events, please let us know about it.

Help

To see a general help menu and available commands for Generate's CLI, run:

$ gen help

Tasks

All available tasks.

project

Generates the necessary files for a basic node.js project.

Example

$ gen project

project:prompt

Prompts for commonly used data. This task isn't necessary needed, it's more of a convenience for asking questions up front, instead of as files are generated. The actual messages for questions can be found in the common-questions library.

Example

$ gen project:prompt

project:is-empty

Verify that the current working directory is empty before generating any files. This task is automatically run by the default task, but you'll need to call it directly with any other task.

Example

$ gen project:is-empty

project:files

Runs the default task on all registered micro-generators. See the generated files.

Example

$ gen project:files

project:index

Generate a basic index.js file. This task is used for composition with other tasks.

Example

$ gen project:index

project:dotfiles

Generate the dotfiles from registered micro-generators. See the generated files.

Example

$ gen project:dotfiles

project:rootfiles

Generate the main project files from registered micro-generators. See the generated files.

Example

$ gen project:rootfiles

project:gulp

Scaffold out basic project for a gulp plugin. See the generated files.

Example

$ gen project:gulp

project:base

Scaffold out a project for a base plugin. See the generated files.

Example

$ gen project:base

project:minimal

Scaffold out a minimal code project. See the generated files.

Example

$ gen project:min
# or
$ gen project:minimal

project:generator

Scaffold out a basic generate generator project.

Example

$ gen project:generator

project:helper

Scaffold out a basic template helper project.

Example

$ gen project:helper

project:middleware

Scaffold out an assemble middleware project.

Example

$ gen project:middleware

Visit Generate's documentation for tasks.

Files trees

The following files trees are automatically generated by a task in verbfile.js.

  • generated files: trees representing the actual generated "dest" files for each task
  • source files: trees representing the source files and templates used by each task

(See Generate's customization docs to learn how to override individual templates.)

Generated files

Files generated by each task (e.g. dest files). See the Generate customization docs to learn how to override individual templates.

Note that diffs are base on comparisons against the files generated by the default task. Additionally, some tasks generate the same files, but with different contents (for example, the contents of index.js differs based on the task).

default

Files generated by the default task:

 .
 ├── .editorconfig
 ├── .eslintrc.json
 ├── .gitattributes
 ├── .gitignore
 ├── .travis.yml
 ├── index.js
 ├── contributing.md
 ├── LICENSE
 ├── package.json
 └── README.md

minimal

Files generated by the minimal task:

 .
-├── .editorconfig
-├── .eslintrc.json
-├── .gitattributes
 ├── .gitignore
-├── .travis.yml
-├── index.js
-├── contributing.md
 ├── LICENSE
 ├── package.json
 └── README.md

gulp

Files generated by the gulp task:

 .
 ├── .editorconfig
 ├── .eslintrc.json
 ├── .gitattributes
 ├── .gitignore
 ├── .travis.yml
 ├── index.js
+├── gulpfile.js
 ├── contributing.md
 ├── LICENSE
 ├── package.json
 └── README.md

base

Files generated by the base task:

 .
 ├── .editorconfig
 ├── .eslintrc.json
 ├── .gitattributes
 ├── .gitignore
 ├── .travis.yml
 ├── index.js
 ├── contributing.md
 ├── LICENSE
 ├── package.json
 └── README.md

generator

Files generated by the generator task:

 .
 ├── .editorconfig
 ├── .eslintrc.json
 ├── .gitattributes
 ├── .gitignore
 ├── .travis.yml
-├── index.js
+├── generator.js
 ├── contributing.md
 ├── LICENSE
 ├── package.json
 └── README.md

helper

Files generated by the helper task:

 .
 ├── .editorconfig
 ├── .eslintrc.json
 ├── .gitattributes
 ├── .gitignore
 ├── .travis.yml
 ├── contributing.md
 ├── LICENSE
 ├── package.json
 ├── README.md
 └── index.js

files

Files generated by the files task:

 .
 ├── .editorconfig
 ├── .eslintrc.json
 ├── .gitattributes
 ├── .gitignore
 ├── .travis.yml
-├── index.js
 ├── contributing.md
 ├── LICENSE
 ├── package.json
 └── README.md

rootfiles

Files generated by the rootfiles task:

 .
-├── .editorconfig
-├── .eslintrc.json
-├── .gitattributes
-├── .gitignore
-├── .travis.yml
-├── index.js
 ├── contributing.md
 ├── LICENSE
 ├── package.json
 └── README.md

dotfiles

Files generated by the dotfiles task:

 .
 ├── .editorconfig
 ├── .eslintrc.json
 ├── .gitattributes
 ├── .gitignore
 └── .travis.yml
-├── index.js
-├── contributing.md
-├── LICENSE
-├── package.json
-└── README.md

index

Files generated by the index task:

 .
-├── .editorconfig
-├── .eslintrc.json
-├── .gitattributes
-├── .gitignore
-├── .travis.yml
 └── index.js
-├── contributing.md
-├── LICENSE
-├── package.json
-└── README.md

Source files

The following trees represent the source files or templates that are used by each task. You'll see that most of the tasks use at least one "micro-generator" to generate a specific file.

default

Source files and/or libraries used by the default task:

 .
 ├─┬ node_modules
 │ ├─┬ generate-editorconfig
 │ │ └─┬ templates
 │ │   └── _editorconfig
 │ ├─┬ generate-eslint
 │ │ └─┬ templates
 │ │   └── _eslintrc.json
 │ ├─┬ generate-gitattributes
 │ │ └─┬ templates
 │ │   └── _gitattributes
 │ ├─┬ generate-gitignore
 │ │ └─┬ templates
 │ │   └── Minimal.gitignore
 │ ├─┬ generate-travis
 │ │ └─┬ templates
 │ │   └── _travis.yml
 │ ├─┬ generate-contributing
 │ │ └─┬ templates
 │ │   └── contributing.md
 │ ├─┬ generate-license
 │ │ └─┬ templates
 │ │   └── mit.tmpl
 │ ├─┬ generate-package
 │ │ └─┬ templates
 │ │   └── $package.json
 │ └─┬ generate-readme
 │   └─┬ templates
 │     └── node.md
 └─┬ templates
   └── index.js

minimal

Source files and/or libraries used by the minimal task:

 .
 └─┬ node_modules
   ├─┬ generate-gitignore
   │ └─┬ templates
   │   └── Node.gitignore
   ├─┬ generate-license
   │ └─┬ templates
   │   └── mit.tmpl
   ├─┬ generate-package
   │ └─┬ templates
   │   └── $package.json
   └─┬ generate-readme
     └─┬ templates
       └── node.md

gulp

Source files and/or libraries used by the gulp task:

 .
 ├─┬ node_modules
 │ ├─┬ generate-editorconfig
 │ │ └─┬ templates
 │ │   └── _editorconfig
 │ ├─┬ generate-eslint
 │ │ └─┬ templates
 │ │   └── _eslintrc.json
 │ ├─┬ generate-gitattributes
 │ │ └─┬ templates
 │ │   └── _gitattributes
 │ ├─┬ generate-gitignore
 │ │ └─┬ templates
 │ │   └── Minimal.gitignore
 │ ├─┬ generate-travis
 │ │ └─┬ templates
 │ │   └── _travis.yml
 │ ├─┬ generate-contributing
 │ │ └─┬ templates
 │ │   └── contributing.md
 │ ├─┬ generate-license
 │ │ └─┬ templates
 │ │   └── mit.tmpl
 │ ├─┬ generate-package
 │ │ └─┬ templates
 │ │   └── $package.json
 │ └─┬ generate-readme
 │   └─┬ templates
 │     └── node.md
 └─┬ templates
   └─┬ gulp
     ├── plugin.js
     └── gulpfile.js

base

Source files and/or libraries used by the base task:

 .
 ├─┬ node_modules
 │ ├─┬ generate-editorconfig
 │ │ └─┬ templates
 │ │   └── _editorconfig
 │ ├─┬ generate-eslint
 │ │ └─┬ templates
 │ │   └── _eslintrc.json
 │ ├─┬ generate-gitattributes
 │ │ └─┬ templates
 │ │   └── _gitattributes
 │ ├─┬ generate-gitignore
 │ │ └─┬ templates
 │ │   └── Minimal.gitignore
 │ ├─┬ generate-travis
 │ │ └─┬ templates
 │ │   └── _travis.yml
 │ ├─┬ generate-contributing
 │ │ └─┬ templates
 │ │   └── contributing.md
 │ ├─┬ generate-license
 │ │ └─┬ templates
 │ │   └── mit.tmpl
 │ ├─┬ generate-package
 │ │ └─┬ templates
 │ │   └── $package.json
 │ └─┬ generate-readme
 │   └─┬ templates
 │     └── node.md
 └─┬ templates
   └─┬ base
     └── plugin.js

generator

Source files and/or libraries used by the generator task:

 .
 ├─┬ node_modules
 │ ├─┬ generate-editorconfig
 │ │ └─┬ templates
 │ │   └── _editorconfig
 │ ├─┬ generate-eslint
 │ │ └─┬ templates
 │ │   └── _eslintrc.json
 │ ├─┬ generate-gitattributes
 │ │ └─┬ templates
 │ │   └── _gitattributes
 │ ├─┬ generate-gitignore
 │ │ └─┬ templates
 │ │   └── Minimal.gitignore
 │ ├─┬ generate-travis
 │ │ └─┬ templates
 │ │   └── _travis.yml
 │ ├─┬ generate-contributing
 │ │ └─┬ templates
 │ │   └── contributing.md
 │ ├─┬ generate-license
 │ │ └─┬ templates
 │ │   └── mit.tmpl
 │ ├─┬ generate-package
 │ │ └─┬ templates
 │ │   └── $package.json
 │ └─┬ generate-readme
 │   └─┬ templates
 │     └── node.md
 └─┬ templates
   └─┬ generator
     └── generator.js

helper

Source files and/or libraries used by the helper task:

 .
 ├─┬ node_modules
 │ ├─┬ generate-editorconfig
 │ │ └─┬ templates
 │ │   └── _editorconfig
 │ ├─┬ generate-eslint
 │ │ └─┬ templates
 │ │   └── _eslintrc.json
 │ ├─┬ generate-gitattributes
 │ │ └─┬ templates
 │ │   └── _gitattributes
 │ ├─┬ generate-gitignore
 │ │ └─┬ templates
 │ │   └── Minimal.gitignore
 │ ├─┬ generate-travis
 │ │ └─┬ templates
 │ │   └── _travis.yml
 │ ├─┬ generate-contributing
 │ │ └─┬ templates
 │ │   └── contributing.md
 │ ├─┬ generate-license
 │ │ └─┬ templates
 │ │   └── mit.tmpl
 │ ├─┬ generate-package
 │ │ └─┬ templates
 │ │   └── $package.json
 │ └─┬ generate-readme
 │   └─┬ templates
 │     └── node.md
 └─┬ templates
   └─┬ helper
     └── index.js

files

Source files and/or libraries used by the files task:

 .
 └─┬ node_modules
   ├─┬ generate-editorconfig
   │ └─┬ templates
   │   └── _editorconfig
   ├─┬ generate-eslint
   │ └─┬ templates
   │   └── _eslintrc.json
   ├─┬ generate-gitattributes
   │ └─┬ templates
   │   └── _gitattributes
   ├─┬ generate-gitignore
   │ └─┬ templates
   │   └── Minimal.gitignore
   ├─┬ generate-travis
   │ └─┬ templates
   │   └── _travis.yml
   ├─┬ generate-contributing
   │ └─┬ templates
   │   └── contributing.md
   ├─┬ generate-license
   │ └─┬ templates
   │   └── mit.tmpl
   ├─┬ generate-package
   │ └─┬ templates
   │   └── $package.json
   └─┬ generate-readme
     └─┬ templates
       └── node.md

rootfiles

Source files and/or libraries used by the rootfiles task:

 .
 └─┬ node_modules
   ├─┬ generate-contributing
   │ └─┬ templates
   │   └── contributing.md
   ├─┬ generate-license
   │ └─┬ templates
   │   └── mit.tmpl
   ├─┬ generate-package
   │ └─┬ templates
   │   └── $package.json
   └─┬ generate-readme
     └─┬ templates
       └── node.md

dotfiles

Source files and/or libraries used by the dotfiles task:

 .
 └─┬ node_modules
   ├─┬ generate-editorconfig
   │ └─┬ templates
   │   └── _editorconfig
   ├─┬ generate-eslint
   │ └─┬ templates
   │   └── _eslintrc.json
   ├─┬ generate-gitattributes
   │ └─┬ templates
   │   └── _gitattributes
   ├─┬ generate-gitignore
   │ └─┬ templates
   │   └── Minimal.gitignore
   └─┬ generate-travis
     └─┬ templates
       └── _travis.yml

index

Source files and/or libraries used by the index task:

 .
 └─┬ templates
   └── index.js

Next steps

Running unit tests

It's never too early to begin running unit tests. When you're ready to get started, the following command will ensure the project's dependencies are installed then run all of the unit tests:

$ npm install && test

Publishing your project

If you're tests are passing and you're ready to publish your project to npm, you can do that now with the following command:

Are you sure you're ready?!

$ npm publish

About

Community

Are you using Generate in your project? Have you published a generator and want to share your project with the world?

Here are some suggestions!

  • If you get like Generate and want to tweet about it, please feel free to mention @generatejs or use the #generatejs hashtag
  • Show your love by starring Generate and generate-project
  • Get implementation help on StackOverflow (please use the generatejs tag in questions)
  • Gitter Discuss Generate with us on Gitter
  • If you publish an generator, thank you! To make your project as discoverable as possible, please add the keyword generategenerator to package.json.

Contributing

Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.

Please read the contributing guide for avice on opening issues, pull requests, and coding standards.

Running tests

Install dev dependencies:

$ npm install -d && npm test

Author

Jon Schlinkert

License

Copyright © 2016, Jon Schlinkert. Released under the MIT license.

This file was generated by verb-generate-readme, v0.1.30, on August 17, 2016.

Keywords

boilerplate

FAQs

Package last updated on 18 Aug 2016

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts