skeletor 2.2.22

A blazing-fast Rust scaffolding tool with YAML-driven snapshots.
skeletor-2.2.22 is not a library.
Visit the last successful build: skeletor-0.0.0

Skeletor

Build Status codecov

🚀 Usage

Skeletor simplifies project scaffolding with an easy-to-use YAML configuration.

🛠 Generate Files and Directories

With a .skeletorrc file

skeletor apply

Using a custom YAML config

skeletor apply -i custom.yml

📁 Example .skeletorrc Configuration

Create a YAML file (.skeletorrc) to define the directory structure:

directories:
  src:
    main.rs: |
      fn main() {
          println!("Hello, Skeletor!");
      }
    lib.rs: ""
  tests:
    integration.rs: |
      #[test]
      fn sample_test() {
          assert_eq!(2 + 2, 4);
      }
  Cargo.toml: |
    [package]
    name = "my_project"
    version = "0.1.0"

Apply the Configuration

skeletor apply

📁 This will generate the entire folder structure instantly!

Preview Before Running

skeletor apply --dry-run

🛠️ Installation

Option 1: Install via Script (Linux/macOS)

curl -fsSL https://raw.githubusercontent.com/jasonnathan/skeletor/main/install.sh | bash

⚠️ Tip: Review the script before running to ensure security.

Option 2: Homebrew (macOS & Linux)

brew tap jasonnathan/skeletor
brew install skeletor

💡 Easiest method if Homebrew is installed.

Option 3: Cargo (Recommended for Rust Users)

cargo install skeletor

🔹 Installs directly from crates.io.

Option 4: Build from Source

git clone https://github.com/jasonnathan/skeletor.git
cd skeletor
cargo install --path .

🛠️ Rust & Cargo need to be installed on your system.

🔥 Features

  • ✅ Generate Nested Files & Directories Instantly
  • ✅ Dry-Run Mode – Preview before applying
  • ✅ Snapshot Mode – Convert an existing folder into YAML
  • ✅ Ignore Patterns & Binary File Detection
  • ✅ Metadata & Stats Included

📸 Snapshot Mode

Capture a YAML snapshot of an existing folder.

Create a Snapshot

skeletor snapshot .

Ignore files and add a note

skeletor snapshot -n "Removed .git folder"  -I .gitignore -I .git/ .

Options

  • -o custom.yml → Path to custom yaml file (defaults to .skeletorrc)
  • -I "*.log" → Exclude files based on patterns (a path works too).
  • -n "Initial snapshot" → Add custom notes.

📊 Info Mode

Display metadata from a .skeletorrc file.

skeletor info

🤝 Contributing

Contributions are welcome! Open an issue or submit a pull request.

📜 License

This project is licensed under the MIT License.

✨ Enjoy effortless scaffolding with Skeletor! 🚀