folder-generator

1.3.9 • Public • Published

📁 Folder Structure Generator CLI

npm version License: MIT

A powerful CLI tool that generates complete folder structures from simple text diagrams. Perfect for quickly scaffolding projects, boilerplates, or standardized directory layouts.

✨ Features

  • Generate nested folders and files with a single command
  • Supports both direct input and file input
  • Cross-platform (Windows, macOS, Linux)
  • Clear visual feedback with color-coded output
  • Flexible output directory specification
  • Lightweight with minimal dependencies

📦 Installation

Global Installation (Recommended)

npm install -g folder-generator

Local Installation

npm install folder-generator --save-dev

🚀 Usage

From Direct Input

foldgen --input "src/
├── App.js
├── index.js
└── components/
    ├── Button.js
    └── Header.js"

Using npx

npx folder-generator --file structure.txt

From File

foldgen --file structure.txt

From STDIN (Piping)

echo "config/
├── default.json
└── production.json" | foldgen

Specify Output Directory

foldgen --file structure.txt --output ./my-project

📝 Syntax Guide

The generator understands standard tree diagram notation:

project/
├── README.md
├── src/
│   ├── index.js
│   └── utils/
│       └── helpers.js
└── tests/
    └── index.test.js

Special Characters:

  • ├── for intermediate items
  • └── for the last item in a level
  • for vertical connections
  • Spaces for indentation (4 spaces per level)

🛠️ Programmatic API

const { parseStructure, createFiles } = require('folder-generator');

const structure = parseStructure(`src/index.js`);
createFiles(structure, './output');

📂 Example Structure Files

React Project (react-structure.txt):

src/
├── App.jsx
├── index.js
├── components/
│   ├── Button/
│   │   ├── index.jsx
│   │   └── styles.module.css
│   └── Header.jsx
├── pages/
│   └── Home.jsx
└── utils/
    └── api.js

Node.js API (node-structure.txt):

app/
├── config/
│   └── database.js
├── controllers/
│   └── userController.js
├── models/
│   └── User.js
├── routes/
│   └── api.js
├── app.js
└── package.json

🤝 Contributing

  • Fork the repository
  • Create your feature branch (git checkout -b feature/amazing-feature)
  • Commit your changes (git commit -m 'Add some amazing feature')
  • Push to the branch (git push origin feature/amazing-feature)
  • Open a Pull Request

📜 License

MIT © Shreyash Ghanekar

🙏 Acknowledgments

  • Inspired by the need for quick project scaffolding
  • Built with Node.js and love

Package Sidebar

Install

npm i folder-generator

Weekly Downloads

27

Version

1.3.9

License

MIT

Unpacked Size

7.03 kB

Total Files

4

Last publish

Collaborators

  • shreyasghanekar