Skip to content
vevo-demetrius-johnson edited this page Feb 18, 2015 · 3 revisions

Pellet is an opinionated framework for building rich isomorphic application. The definition of a software framework is:

In computer programming, a software framework is an abstraction in which software providing generic functionality can be selectively changed by additional user-written code, thus providing application-specific software.

Pellet is a fully functional application that can be customized with user-written code. It includes a set of tools to build, deploy, monitor, debug, and run your application. First of all you can install Pellet via npm to get access to all the tools. These tools include:

  • Webserver fully configurable NodeJS webserver supporting http, https, spdy, es6, cluster, remote administration, polyfill server, compressing/caching, static content, logging, exception handling, and monitoring.
  • Statsd includes local statsd server for development
  • Open Tooling Customizable tooling to add custom templates, build tools, etc.
  • Build Intl Tools to build and process Intl's locale-data for a custom pollyfil
  • Maintenance Provides boilerplate, template, and tools to help common tasks like creating new projects, adding pages, component, layout, etc.

To start using Pellet you will need to create a new project. This will create a few files including a .pellet, manifest.json, config directory, and a few other directories we will cover later. Whenever you run a pellet command from the command line it first tries to locate the .pellet file, so that it can located the config directory and load some defaults.

Once Pellet has this information it can start loading the projects configuration files. These files are located in the configuration directory and define the configuration for your application or pellet internal features. Due to the fact that most people need to run their application in different environments like production, staging, development. Pellet uses the strategy of letting you have different files for each environment. Additionally its common that you will need to share configuration between each environment so, Pellet lets you define the common.json file that acts as a common shared base. Then Pellet will overwrite the base values with the specific environment versions. Finally Pellet will let you overwrite a specific environment versions with environment variables and command line arguments.

At this point pellet does not know anything about your application, so it needs to

Clone this wiki locally