New utilities for a new era.
Go to file
2024-08-28 18:50:21 -06:00
docs Merge branch 'main' into stris 2024-08-27 21:29:40 -06:00
include Makefile, include: makes conditional compilation more robust 2024-08-10 13:04:41 -06:00
src stris(1): modernize code 2024-08-28 18:50:21 -06:00
tests tests: bonsai/rpn.mk: fixes rpn_test target deps 2024-08-10 15:34:41 -06:00
.editorconfig .editorconfig: remove stale configure config 2024-02-17 23:25:35 -07:00
.gitignore Makefile, .gitignore, tests/cc-compat.sh: brought up-to-date 2024-02-07 20:13:45 -07:00
CONDUCT CONDUCT: wording 2024-06-05 17:27:13 -06:00
CONTRIBUTING Merge branch 'main' into testing 2024-06-29 08:05:13 -06:00
COPYING initial commit 2023-07-23 19:49:57 -06:00
Makefile Merge branch 'main' into stris 2024-08-27 21:29:40 -06:00
README Makefile, docs: rename 2024-06-23 23:34:23 -06:00
STYLE STYLE: repition & Kernighan quote 2024-07-28 00:34:42 -06:00

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

“Seek not to walk the path of the masters; seek what they sought.”
 Matsuo Basho

The Bonsai harakit utilities are a replacement for standard POSIX utilities
which aim to fill its niche while expanding on their capabilities. These new
tools are the result of the careful examination of the current state of POSIX
and Unix utilies. The Unix Philosophy of “do one thing and do it well” are their
core but they avoid clinging to the past.

The era of the original Unix tools has been long and fruitful, but they have
their flaws. This project originated from frustrations with the way certain
tools work and how other projects that extend POSIX dont make anything better.

This project will not follow in the footsteps of GNU; extensions of POSIX will
not be found here. GNU extensions are a gateway to the misuse of the shell. The
harakit utilities will intentionally discourage use of the shell for purposes
beyond its scope.

See docs/ for more on the specific utilities currently implemented.

Building

Harakit utilities require a POSIX-compliant environment to compile, including a
C compiler and preprocessor (cc(1) and cpp(1) by default), an edition 2023 Rust
compiler (rustc(1) by default), bindgen(1), and a POSIX-compliant make(1)
utility.

To build and install:

$ make
$ make PREFIX="/your/preferred/location" install

To build with a different compiler than the default:

$ make CC=clang
$ make RUSTC=gccrs

To test the utilities:

$ make test

To remove all build and distributable files:

$ make clean

Read More

An Introduction to the Unix Shell
<https://porkmail.org/era/unix/shell>

Master Foo and the Ten Thousand Lines
<http://www.catb.org/~esr/writings/unix-koans/ten-thousand.html>

Master Foo Discourses on the Unix-Nature
<http://www.catb.org/~esr/writings/unix-koans/unix-nature.html>

Shell Programming!
<https://tldp.org/LDP/abs/html/why-shell.html>

--
Copyright © 20232024 Emma Tebibyte <emma@tebibyte.media>
Copyright © 2024 DTB <trinity@trinity.moe>

This work is licensed under CC BY-SA 4.0. To view a copy of this license, visit
<http://creativecommons.org/licenses/by-sa/4.0/>.