Socket
Book a DemoInstallSign in
Socket

skelly-cli

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

skelly-cli

Create project structures using CLI commands and templates.

1.0.1
latest
npmnpm
Version published
Weekly downloads
0
Maintainers
1
Weekly downloads
 
Created
Source

Skelly

A project scaffolding CLI based on JSON templates and CLI commands.

Skelly is a scaffolding CLI that creates templates based on file structures created within JSON (see example below).

{
  "fileTree": [
    {
      "type": "file",
      "name": "index.html",
      "templatePath": "templates/basic/index.html",
      "path": "./"
    },
    {
      "type": "folder",
      "name": "css",
      "path": "./",
      "children": [
        {
          "type": "file",
          "name": "main.css",
          "path": "./css/"
        }
      ]
    }
  ]
}

These JSON templates can link out to predefined file templates. If you want to create a basic, static website, you can create the file structure as well as have a predfined HTML file to load into the newly created index.html. After a template is created, you can create a custom command via the CLI to execute that template in your current working directory.

Installation

Skelly installation is simple.

npm i skelly-cli -g

Global is optional, but is necessary if you want to have access throughout your system.

Usage

By default skelly only has a few static commands. The rest are created by you!

Similar to other file creation CLIs, you will want to be in the folder where you want the folders and files to be created.

Commands

skelly -h --help will get you started.

skelly -b --basic creates a basic static file structure.

skelly -t --test will output a dummy file structure and is mainly used for debugging or testing purposes.

skelly -cc --command <action> create delete Will provide instructions on creating a command to execute your custom template.

The delete argument is not implemented at this time, if you want to delete a command you can remove it out of the /configs/commands.json file

skelly -td --tempdir You can change your configs and template directory to somewhere outside of the node environment. This will update all the relative links to be absolute to where you ran this command.

Creating a template

Creating a template is simple and can be shared across multiple systems that use skelly as long as it's installed in the working skelly config folder of that particular uers's system.

The structure is a JSON object followed by an array of individual objects. Those individual objects can be files or folders (some with children). You nest as deeply as you want.

The following are the available key/value pairs:

type file or folder name name of the file *including the extension (.html, .js, .mjs, .css, etc.) templatePath linked to the template folder. It will always start templates. Example: templates/basic/index.html path the relative directory you want this file to be in.

Here is a snippet:

The array must be named fileTree

{
  "fileTree": [
    {
      "type": "file",
      "name": "index.html",
      "templatePath": "templates/basic/index.html",
      "path": "./"
    },
    {
      "type": "folder",
      "name": "css",
      "path": "./",
      "children": [
        {
          "type": "file",
          "name": "main.css",
          "path": "./css/"
        }
      ]
    }
  ]
}

View the full template

FAQs

Package last updated on 15 Jul 2021

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

SocketSocket SOC 2 Logo

Product

About

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc

U.S. Patent No. 12,346,443 & 12,314,394. Other pending.