## Versioning
All core-utils will remain `0.1.0` until the entirety of core-utils reaches
`1.0.0`.
## Issues
If a particular utility is at issue please prepend with issue with its name as
such: `"dd: not implemented"`
## Style
Standard Rust indentation is used. No use of globs, and use of namespaces must
be explicit, this rule does not apply for structures or enumerations, returns
must be explicit. External crates must be imported before any `use`s. For
example:
```Rust
// Bad (set_exit_status is a function)
use std::env::*
use std::env::{set_exit_status};
extern crate common;
use common::{Status};
// Good
extern crate common;
use common::{Status};
use std::env;
use std::path::{PathBuf};
```
Feel free to take a look at some of the source for the general structure of a
util
## Help, Versions
When writing help menus for any util, use the following structure:
```
$ util --help
Usage: util [OPTION...] [FILE...]
Useful utilitiy for doing things
Options:
-v --verbose Print things
-f --function Do things
Example:
util -vf file.txt Does and prints a thing
```
Append an elipses if the program takes more than one option/file
For printing versions use [`Prog.copyright`](lib/lib.rs).
## Commits
Commits must be well documented, and signed off on. See
[commits](https://github.com/0X1A/core-utils/commits/master) for examples
## License
All files must be prepended with:
```
// Copyright (C) YEAR, CONTRIBUTER <CONTRIBUTER EMAIL>
// All rights reserved. This file is part of core-utils, distributed under the
// GPL v3 license. For full terms please see the LICENSE file.
```