Logo Projects Blog
Spinup logo

Spinup is an application and command-line interface (CLI) tool designed to help you quickly launch projects that require multiple commands to start. It can execute all necessary commands either in the background or within the terminal window you are using.

Features

  • Start a project with single command or click
  • Start projects in the background or in a terminal window
  • Reuse command templates for multiple projects
  • Support for multiple commands per project
  • Management of domains and ports using nginx and dnsmasq

Installation

Follow the installation guide in the README of the GitHub repository.

Usage

CLI

To start a project, run the following command:

spinup run [project-name]

This will start all the commands associated with the project in the active terminal window. To stop the project simply press Ctrl+C or use any other method to stop a process in your terminal:

Spinup CLI
Starting a project using the Spinup CLI

To learn more about the available commands and options, view the documentation in the GitHub repository.

App

When starting a project through the app, it will automatically run in the background. You can stop the project by clicking the stop button in the app. To view the project logs, click the logs button.

Spinup screenshot
The Spinup app interface

Technologies

The backend of the project is written in Go, providing a robust and efficient foundation. The frontend leverages the power of React and Tailwind CSS to create a responsive and modern user interface. The app itself is built using Wails, a framework that enables the development of desktop applications with Go and web technologies. For data storage SQLite is used to manage project and command information. For handling domain and port management for each project Nginx and Dnsmasq are used.

Future Development

The project is actively maintained and new features are added regularly. Some of the planned improvements include:

  • Improved cross platform support
  • A “services” feature to manage anything you might need to run projects (think databases, runtimes, etc.)
  • More customization options for projects
  • Better error handling and logging
  • Enhanced security features
  • And much more!