cargo-rahti 0.0.5

Create and maintain Rahti projects: cargo rahti new, cargo rahti upgrade.
cargo-rahti-0.0.5 is not a library.

cargo-rahti

Create and maintain Rahti projects.

cargo install cargo-rahti

cargo rahti new

cargo rahti new my-app [--tailwind] [--db [sqlite|postgres|mysql]] [--ws]

Every flag adds a feature, and leaving it out is how you say no; an interactive run asks about whatever was not named. A bare --db is SQLite.

A new project compiles and serves on the first cargo run. It carries:

  • a working page with a server RPC, a root layout, and a stylesheet for the engine you chose (Tailwind or plain CSS);
  • the PulsePoint browser runtime as a prebuilt asset — there is no JavaScript build step;
  • a generated .env with a per-project session signing secret and cookie name, and a committed .env.example carrying a placeholder that release builds refuse to start on;
  • with --db: SeaORM dependencies, a worked example entity and migration, and the process-wide connection in src/db.rs;
  • with --ws: the ws feature on the rahti dependency, which compiles #[socket] and rahti::ws;
  • its own documentation: AGENTS.md — a project guide written for coding agents and the people beside them — and the framework's convention documents under docs/conventions/.

cargo rahti upgrade

cargo rahti upgrade [--dry-run]

Every file the scaffold writes is recorded in rahti.config.json with its hash at the moment of writing. upgrade compares: a file whose hash still matches is the scaffold's and is brought up to date; one you edited is yours and is left alone with a note; one you deleted stays deleted. Cargo.toml is never rewritten — dependencies are yours.

License

Licensed under either of Apache License, Version 2.0 or MIT license at your option.