Files
sonya 96ba9e3a56 0.1v: basic features
added lexer, parser, Shell, Executor.
added tests for sonyalib
it already works! will be implementing more features soon.
2026-04-21 23:11:14 +09:00

716 B

sonya

A lightweight just-like task runner written in Swift.

Define recipes in a sonyafile and run them with sonya <recipe>.

sonyafile syntax

CC = clang
FLAGS = -O2

build:
    $(CC) $(FLAGS) main.c -o main

run: build
    ./main

clean:
    rm -f main
  • Variables are defined as key = value and referenced as $(key)
  • Recipes can declare dependencies after the colon - they run first
  • Commands are indented with whitespace

Install

swift build -c release
cp .build/release/sonya /usr/local/bin/sonya

Usage

sonya build    # run a specific recipe
sonya          # runs "default" recipe

Roadmap

  • Command-line argument passing to recipes ($1, $2, ...)