Stay focused. Let runnem handle the services.

An open source command-line tool for managing multiple background services using the familiar GNU screen. Switch between projects with ease.

runnem.yaml
project_name: myproject
services:
database:
command: cd ~/projects/myproject/database && docker-compose up
url: postgresql://localhost:5432
api:
command: cd ~/projects/myproject/api && npm run dev
url: http://localhost:3000
depends_on: ["database"]
frontend:
command: cd ~/projects/myproject/frontend && npm run dev
url: http://localhost:3001
depends_on: ["api"]

Introduction

Getting Started

Runnem helps you manage a project's development services efficiently, making it quick to switch between projects. Get started in minutes and streamline your development workflow.

Installation

Step-by-step guide to installing and setting up Runnem.

Service Management

Learn how to manage your development services with Runnem.

Configuration

Configure your services using YAML.

CLI Reference

Complete reference for Runnem's command-line interface.

Runnem is a useful tool for managing multiple development services in your local environment. Whether you're working on a microservices architecture or a full-stack application, Runnem helps you start, stop, and monitor all your services with a single command. It also let's you put take down the current project's set of servcies and up another one's easily from any folder.


Quick start

Get up and running with Runnem in just a few steps.

Installing Runnem

Install Runnem using pip:

pip install runnem

Basic Usage

  1. Initialize runnem inside an existing project with one or more services:

    cd my-project
    runnem init
    
  2. Configure your services in runnem.yml:

    services:
      api:
        command: python app.py
        url: http://localhost:3000
      frontend:
        command: cd frontend && npm run dev
        url: http://localhost:3001
    
  3. Start your services:

    runnem up
    

Pro Tip

Use runnem ls or runnem list to check the status of all your services at any time.


Core Features

Service Management

Start, stop, and monitor multiple services with a single command. Runnem handles the complexity of managing multiple processes, so you can focus on development.

Dependency Management

Define service dependencies to ensure services start in the correct order. Runnem automatically manages the startup sequence based on your configuration.

URL & Port Management

Configure URLs and ports for your services. Runnem can check if services are running by testing their URLs.

Environment Variables

Set environment variables for each service individually or globally across all services.


Getting Help

Documentation

Our documentation covers everything from basic setup to advanced features. Start with the Getting Started guide.

Community

Join our community to get help, share ideas, and contribute to Runnem's development.

Issues

Found a bug or have a feature request? Open an issue on our GitHub repository.