Universal-Box is a powerful tool designed to streamline your development process with a collection of starter templates and projects. It provides a fast and structured way to kickstart your development journey, allowing you to set up new projects with ease and efficiency.
- Starter Templates: Quickly scaffold new projects using a variety of pre-built templates.
- Project Initialization: Simplify project setup with a single command.
- Flexible Scaffolding: Easily configure and customize your project structure.
- Linting Configuration: Automatically set up linting configurations for JavaScript (ESLint) and Python (Flake8) projects, enhancing code quality.
- Project Generation: Generate project files based on user-defined configuration files (e.g., YAML).
- Repository Cloning: Clone GitHub repositories or specific subdirectories directly into your project.
- Deployment Pipeline: Trigger build and deployment processes (currently under development).
To install Universal-Box globally, run:
npm install -g universal-box
Once installed, you can initialize a new project with:
- Checkout the available commands using
universal-box --help
Here's a brief overview of the available commands:
init
: Initialize a new project using one of the starter templates.
universal-box.init.mp4
get
: Clone a GitHub repository or a specific subdirectory from it.
universal-box.get.mp4
lint
: Add the default linting configurations for your project. This command sets up ESLint for JavaScript projects and Flake8 for Python projects, along with an optional Prettier configuration for formatting.
universal-box.lint.mp4
generate <file.yml>
: Generate project files based on a provided configuration file (e.g., YAML).
universal-box.generate._file.yml_.mp4
Here's some example YAML scripts for you to get started.
deploy
: Trigger the build and deployment pipeline.--help
: Display the help message with command usage.
universal-box --help
universal-box init
universal-box lint
universal-box generate <file.yml>
universal-box deploy
universal-box get https://github.com/username/repo
universal-box get https://github.com/username/repo/tree/<path_to_sub-directory>
For more details and advanced usage, visit the Universal-Box Documentation.
This project is licensed under the Apache-2.0 License. See the LICENSE file for details.
Copyright (c) 2024 Abhishek Mallick
LinkedIn