cargo-rustango 0.57.6

`cargo rustango new <name>` — Django-style project scaffolder for the rustango framework.
cargo-rustango-0.57.6 is not a library.

cargo rustango new <name> — Django-style project scaffolder.

Cargo invokes external subcommands by spawning a binary called cargo-rustango and passing rustango as the first argv. We strip that prefix and dispatch to a verb handler:

$ cargo rustango new myapp --template fullstack $ cargo rustango new api_demo --template api $ cargo rustango new shop --template tenant --backend sqlite --features csrf

Run new with no arguments on a terminal for the wizard (wizard.rs), which asks the same questions as numbered menus and then prints the equivalent command line. It sets the same fields the flags do, so there is one code path deciding what a project contains (#1345).

Three axes, independent:

  • --template — which files get written.
  • --backend — which database the project defaults to, shaping Cargo.toml's default, .env.example, the compose file, and the settings tiers together.
  • --features — rustango opt-ins no template turns on.

The three templates correspond to the three rustango shapes:

  • api — bare ORM + axum, no admin. For JSON-only services.
  • fullstack — ORM + auto-admin (the default; matches the v0.7 README quickstart).
  • tenant — multi-tenancy enabled, operator console wired, apex/subdomain host dispatch via Cli::tenancy().

Each template writes a self-contained Cargo project into <cwd>/<name>/:

/ Cargo.toml .env.example docker-compose.yml migrations/ src/ main.rs ← Cli::new()[.tenancy()].api(...).run() — single binary models.rs views.rs urls.rs

Once written, the user typically runs:

$ cd <name> && docker compose up -d $ cargo run -- migrate $ cargo run