cargo-setup

Crates.iocargo-setup
lib.rscargo-setup
version0.2.1
created_at2025-09-18 05:39:05.697329+00
updated_at2025-09-18 06:12:42.980462+00
descriptionCargo subcommand to scaffold projects with README, LICENSE, tests/, benches/, using your cargo-me profile
homepage
repositoryhttps://github.com/JDPlumbing/cargo-setup
max_upload_size
id1844269
size33,133
Dr.Ippy (JDPlumbing)

documentation

README

cargo-setup

A Cargo subcommand that scaffolds new crates with extra polish.
Think of it as cargo new but with README.md, LICENSE, tests/, benches/, and metadata auto-filled from your cargo-me profile.


✨ Features

  • Wraps cargo new internally — no need to run it separately.
  • Auto-fills authors, license, and repository in Cargo.toml from your cargo-me profile.
  • Adds README.md with repo/author info.
  • Adds LICENSE file with year + organization from profile.
  • Creates tests/basic.rs and benches/bench.rs folders.
  • Supports --bin or --lib (just like cargo new).

📦 Installation

cargo install cargo-setup

Make sure you also have cargo-me installed and initialized, since cargo-setup uses the profile stored in ~/.cargo-me.toml.

cargo install cargo-me
cargo me init

🚀 Usage

Create a new binary crate

cargo setup myapp --bin

Create a new library crate

cargo setup mylib

Override license

cargo setup mycrate --license Apache-2.0

📊 Example workflow

  1. Configure your profile once with cargo-me:

    cargo me init
    cargo me set name "JD Plumbing"
    cargo me set email "jdplumbingsoflo@gmail.com"
    cargo me set github "JDPlumbing"
    cargo me set license "MIT"
    
  2. Scaffold new crates with extras in one command:

    cargo setup shortid-rs --bin
    
  3. Resulting project structure:

    shortid-rs/
    ├── Cargo.toml   # with authors/license/repo already filled
    ├── src/main.rs
    ├── README.md
    ├── LICENSE
    ├── tests/basic.rs
    └── benches/bench.rs
    

⚖️ License

MIT License. See LICENSE for details.

Commit count: 8

cargo fmt