cugo is a prototypical project to implement Unix/Linux core utilities
in the form of a multi-call binary, primarily using the Go standard
library. Each utility is written from scratch using only the reference
manuals for the target utility and the Go standard library. Third-party
code use by cugo is intentionally rare, currently relying on the
following:
- hlfstr/flagger for the optional
command line interface that resides within the
cmdfolder. - x/sys for various system calls.
About
Please visit godoc for the
latest documentation, or the doc.go files within most directories.
- See cmd/README for information on the command line
interface provided by
cugo. - See src/README for information on how to import a single utility.
- See lib/README for information on the libraries
written for
cugo.
Usage
This repository may have a somewhat odd structure, though it has made
the process of building cugo or importing an individual utility into
external projects trivial. No Makefile's or other tools needed.
Building
$ git clone git@github.com:jcmdln/cugo.git
$ cd ./cugo
$ go run cugo.go
# OR
$ go build
Installing
$ go get -u github.com/jcmdln/cugo
Importing
If you want an example of importing a single utility into another
project, please see cugo-mkdir-example
which implements mkdir using Go's flag package.
Contributing
If you would like to contribute a utility, improve documentation, or write tests please see the CONTRIBUTING file for more information.

Formed in 2009, the Archive Team (not to be confused with the archive.org Archive-It Team) is a rogue archivist collective dedicated to saving copies of rapidly dying or deleted websites for the sake of history and digital heritage. The group is 100% composed of volunteers and interested parties, and has expanded into a large amount of related projects for saving online and digital history.
