diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..e4f97f2 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,11 @@ +# contributing to rebox + +most likely, where you want to work is either in the `coreutils` directory, or in the `utils` directory. the `coreutils` directory contains the coreutils remake, and the `utils` directory contains `boxutils`: utilities and functions for developing rebox without much jank. + +if you want to add a new command, you should: + +1. add a new file in `coreutils/src/commands` with the name of the command you want to add. +2. add a new module in `coreutils/src/commands/mod.rs` with the name of the command you want to add. +3. add a new function in the module you just created that implements the `Command` trait. +4. add the command to the registry via `src/registry.rs`. +5. done! \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..e1e063d --- /dev/null +++ b/README.md @@ -0,0 +1,24 @@ +# rebox - remaking busybox with rust + +this is a project to remake busybox with rust. the goal is to make a small, fast, and featureful shell with a (relatively, we are at the mercy of the rust compiler here) small binary size. + +# work in progress + +this project is still in the early stages of development. it is not yet feature complete, and is not yet ready for general use. if you are interested in contributing, please see the [CONTRIBUTING.md](CONTRIBUTING.md) file. + +# building + +```terminal +$ cargo build --release +$ cp target/release/box ./cat # or any other command +$ ./cat /etc/passwd +root:x:0:0:root:/root:/bin/bash +$ cp ./cat ./echo +$ ./echo hello, world! +hello, world! +$ cp ./echo ./box +$ ./box echo hello, world! +hello, world! +$ ./box cat /etc/passwd +root:x:0:0:root:/root:/bin/bash +``` \ No newline at end of file