Skip to content

tsklxiv/ekam

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

81 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ekam

Ekam is the command runner for those who feel that thier utilitarian tools should be a bit more challenging to use. It tries to balance between usability and inconviniences.

Ekam takes major influence from just.

Commands, called recipes, are stored in Ekamfile with a command-first, argument-second structure:

# `->` is alias
-> $b $build

# `<-` is set
<- 'uname -a' $host

# build main
: $build [] [ 'cc *.c -o main' ]

# test everything
: $test-all [] [ $build './test --all' ]

You can then execute and list all of them with:

ekam ply <recipe>
ekam docket

Features (and inconviniences)

  • Written in Python, so platform-agnostic, lightweight, and runs fast enough to be tolerable by many
  • Errors are as few and as obscure as possible, 'cause they are for the plebs
  • Equally obscure help messages. Who needs those?
  • No CLI arguments handling for recipes. Doing that will add more complexity to the spagetti code that I ported from another of my abandoned project
  • Brutalist by design: No control flow, no functions (although recipes are kinda like functions). Although you still have the necessary features (variables, recipes, aliases, executing recipes within recipes, etc.)
  • You can't change your shell, ekam use whatever the shell you are using
  • No multiline commands. All of the shell commands must be contained in a single string
  • .env files? What's that?

Installation

The sane way

The git clone way

git clone https://github.com/HoangTuan110/ekam
cd ekam
pip install -r requirements.txt

To run Ekam without compiling: python main.py

To compile Ekam and run it (warning: can be quite long): python main.py ply b; ./ekam

Author and License

Ekam is written by Tsuki.

This thing is under the boring ass MIT license.

About

The command runner for the challengers

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published