I noticed I have to copy-paste several files from old projects every time I start new Rust project,
so I decided to automate the process.
Hence, I created rust-bluebprint.
This is a set of config files for different moving parts of my usual Rust project layout, including:
-
Cargo.toml
manifest, -
build.rs
stub, - Licenses,
-
rustfmt.toml
(with my preferences), -
.travis.yml
(set up for travis-cargo support).
It also includes a shell script (init
) which sets all things up.
This solution may be somewhat ad-hoc to my needs and workflows, but I tried to make things general enough
(for a prototype) to make it usable.
The workflow is the following:
- create repository in Github (let's name it "
my-new-rust-project
"), - clone rust-blueprint to a new directory:
git clone https://github.com/kstep/rust-blueprint my-new-rust-project
, - go to this directory:
cd my-new-rust-project
, - run
./init
(orGH_TOKEN=<<GITHUB-SECRET-TOKEN>> ./init
if you have travis cli installed and want to build and push docs to Travis).
That's all!
Now you have minimal Cargo.toml
setup, .travis.yml
configured, licenses with updated copyright notice, and git remote updated, with single "initial commit" in the local git repository.
You are free to commit on and/or push to you github repo.