Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/abhishek-mallick/universal-box

Project scaffolding just got easier — streamline your development with Universal-Box's pre-built templates and one-click deployment! 🚀
https://github.com/abhishek-mallick/universal-box

boilerplate-template deployment hacktoberfest javascript node npm npm-package scaffolding

Last synced: 7 days ago
JSON representation

Project scaffolding just got easier — streamline your development with Universal-Box's pre-built templates and one-click deployment! 🚀

Awesome Lists containing this project

README

        



Universal Box Logo

Universal-Box






CI
NPM Version
NPM Downloads

License

Snyk




📚 Read the docs


💬 Join our Discord


🔍 Monitor Project Status




**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.

## Features

- **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).

## Installation

To install Universal-Box globally, run:

```bash
npm install -g universal-box
```

Once installed, you can initialize a new project with:
- Checkout the available commands using `universal-box --help`

## Usage

Here's a brief overview of the available commands:

- **`init`**: Initialize a new project using one of the [starter templates](https://universal-box.dev/templates).

https://github.com/user-attachments/assets/6e0e25e0-0ec4-4293-b555-9729ae7fb8d4

- **`get`**: Clone a GitHub repository or a specific subdirectory from it.

https://github.com/user-attachments/assets/31f9ba03-e0b4-4e73-801e-d5e6928abf97

- **`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.

https://github.com/user-attachments/assets/c47dbcdc-268b-4740-adfe-675233c264fb

- **`generate `**: Generate project files based on a provided configuration file (e.g., YAML).

https://github.com/user-attachments/assets/7c3b9fa9-60b1-4aab-b1f6-465b79cac6d3

Here's some [example YAML scripts](https://github.com/Abhishek-Mallick/universal-box/tree/main/website/assets/command/generate) for you to get started.

- **`deploy`**: Trigger the build and deployment pipeline.
- **`--help`**: Display the help message with command usage.

### Examples

```bash
universal-box --help
universal-box init
universal-box lint
universal-box generate
universal-box deploy
universal-box get https://github.com/username/repo
universal-box get https://github.com/username/repo/tree/
```

## Documentation

For more details and advanced usage, visit the [Universal-Box Documentation](https://universal-box.dev/).

## License

This project is licensed under the Apache-2.0 License. See the [LICENSE](LICENSE) file for details.

Copyright (c) 2024 Abhishek Mallick
[LinkedIn](https://www.linkedin.com/in/abhishek-mallick09/)