Skip to content

frwl404/runo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Single-file repo assistant that greatly simplifies the development workflow for any repository.

CI codecov Static Badge

🔍 Problem: nowadays, every repo has its own development workflow

When switching to a new repository, one of the first questions would be: "How to run build/lint/tests/... here?"

Good repositories have documentation, explaining the procedure. Ideally, they use Docker, so you don’t need to install anything, but need to know right commands to start with. However, the next repository you work on, will likely have a different process - maybe also Docker-based, but still different.

The result:

  • Constantly learning/developing different workflows slows you down;
  • Workflow, designed from scratch, might be very far from optimal;
  • Might be needed to install different SW from repo to repo;
  • Too complex/unusual workflow may scare away new contributors.

✅ Solution: runo

Imagine you could enter any repo and immediately know what can be done and how to do it. With runo, just run:

> ./runo
Following commands are available:
  * sandbox - runs server (API + UI) and DB locally
  * test - runs unit tests (pytest) ['./runo test --cov -vv', './runo test --last-failed']
  * build - builds the project
  * pre-commit - quick checks/fixes of code formatting (ruff/mypy)
  * update-deps - updates dependencies, used in project, to the latest versions
  * shell - debug container by running shell in interactive mode (keep container running)

You immediately see WHAT can be done in this repo and HOW it can be done.
Now, running build is as simple as:

> ./runo build
Buld is running
done

🔀 Cross-Platforming

But what if you want to perform build/tests/... for different platforms? Not a problem, just ask runo to show all available containers and run command in any of them as easy as that:

> ./runo --containers
Following containers are available:
  * Debian
  * Centos
  * RockyLinux

> ./runo -c Debian build
Buld for Debian is running
done

or you can run command in all available containers:

> ./runo -c "*" test
Running test for Debian
PASSED
Running test for Centos
PASSED
Running test for RockyLinux
PASSED

🎯 Why use runo?

  • Standardized workflow across different repositories
  • Zero installation (just add 1 file to your repo)
  • runo needs only Python, which is present almost everywhere nowadays.
  • Works across multiple platforms effortlessly

🚀 Quick start.

Follow this short instruction to integrate runo into your project.
In case of some problems, please feel free to contact author:

*If you are open-source project, hosted on github.com, want to try runo, but don't have enough time for integration, please contact me - I can prepare integration PR for your repo and you will need just to check how well it works for you.

About

Repository assistant for dev tasks in your repo.

Topics

Resources

License

Stars

Watchers

Forks