0.0.2 • Public • Published

App Init

Creates a directory (if not already existing) on the local filesystem for storing end user data and customizeable app config.

use cases:

  • you want to expose some configuration values to the end user
  • you want to make it easy for users to find and make backups of key application data (ie- a database)

app-init, by default, will put these files in a hidden folder in the user's home directory (ex: ~/.coolApp).


var appInit = require('app-init')
appInit('coolApp', function(path, config) {
    console.log(path) // > /home/steve/.coolApp
    console.log(config) // > node-config object

callback returns a path to your shiny new application folder and a config object that lives in said application directory. The directory will be a hidden folder in user's home (ex: '~/.coolApp' ).


Provide an object as the first param to specify a different application directory (provide also the appName):

appInit({ appName: 'coolApp', path: '/var/etc/coolApp }, callback)


Mirrored config

To expose configuration to the new user-friendly application folder, create a config directory in the root of your application itself (ie- your node repository) along with a file with the config valus you want to expose. For example:


  "db_path" : "db"

This part uses node-config so theorectically you can use any of their supported formats, but that's not supported yet in this module - just use json and make sure the basename of your file is "default"

When a user runs your app for the first time, app-init (when invoked) will mirror this default config file into the new user-friendly application folder as "local.json".

Package Sidebar


npm i app-init

Weekly Downloads






Last publish


  • drschwabe