Skip to content
Is the missing template generator for creating VIPER, MVC, MVVM, etc. templates for your Projects
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Blaupause.xcodeproj
Example
Sources/Blaupause
bin
.gitignore
Blaupause
LICENSE
Package.pins
Package.swift
README.md

README.md

Blaupause

Is the missing template generator for creating VIPER, MVC, MVVM, etc. templates for your Projects.

Installation

Using pre build package

You find the latest build in bin/Blaupause. Please consider that you are downlaoding this from the master branch to get the newest stable binary file from Blaupause.

Compiling from source

Blaupause is build via spm (swift package manager) if you checkout the sources just run

swift build -c release

And you can find it in .build/release/Blaupause to run it from there.

Using

The usage is pretty simple just start

Usage to create a new VIPER Module

Blaupause viper FooBar

Usage to create a new MVC Module

Blaupause mvc FooBar

Usage to create a new MVVM Module

Blaupause mvvm FooBar

Usage to create a new structure from your template

Blaupause template FooBar

Searchs for a .blaupause.json file in the current path of Blaupause execution.

JSON Templates

Blaupause has the ability to create your own custom templates. If you want to create your own implementation Blaupause always checks the current execution path for a .blaupause.json file with the current implementation for a Template. Two different types are supported Folder and Files.

The JSON must always start with an array.

Folder

The Folder Type creates a Folder for you. Folder can hold children of different Folder and of Files.

JSON Notation

Creating a Folder without Children

{
  "type": "folder",
  "name": "FolderName",
  "children": null
}

Creating a Folder with Children

{
  "type": "folder",
  "name": "FolderName",
  "children": [
    {
    "type": "folder",
    "name": "FolderName",
    "children": null
    }
  ]
}

Files

The Files Type creates a File for you. A File can't hold chilrens.

JSON Notation

Creating a File

{
    "type": "file",
    "name": "FileName.fileEnding"
}

ToDo

  • Creating MVC Command
  • Creating MVVM Command
  • Error Handling if the Folder is already there
  • JSON Parsing for template files
  • Add ability to parse .blaupause.json files to create custom template that can be provided
  • Support for Template Files in your own .blaupause folder
  • Unit Testing
  • Create a wizard when starting without options
  • Publish it to Homebrew
You can’t perform that action at this time.