[SLOP(gpt-5)] feat(cli): add rivetkit cli#5255
Conversation
[SLOP(claude-opus-4-8-medium)] refactor(cli): extract engine-process crate, rework rivet dev providers [SLOP(claude-opus-4-8-low)] docs(actors): drop dev install of @rivetkit/cli from cloudflare and supabase quickstarts
Code ReviewThis PR introduces the Bugs / Correctness
"error" => return Ok(()),When
fn local_engine_search_roots() -> Vec<PathBuf> {
Path::new(env!("CARGO_MANIFEST_DIR"))
.ancestors()
...
}
Style / Convention Violations (CLAUDE.md)
// The dashboard URL is the command's result; print it to stdout so it
// can be captured by scripts.
println!("{dashboard_url}");CLAUDE.md: "Never use Wildcard fn build_handler_url(provider: Option<Provider>, fn_name: &str, port: u16) -> String {
match provider {
Some(Provider::Supabase) => { ... }
_ => format!("http://127.0.0.1:{port}/api/rivet"),
}
}CLAUDE.md: "Never use a Some(Provider::Cloudflare) | Some(Provider::Serverless) | None => ...,
Some(Provider::None) => unreachable!(...),
_ => sleep(Duration::from_secs(2)).await,This is matching on a
tracing::info!(command = %format!("{} {}", program, args.join(" ")), "running command");CLAUDE.md: "Do not format parameters into the main message. Use structured fields." The field tracing::info!(program, args = ?args, "running command");Em dashes in new documentation files CLAUDE.md: "Never use em dashes (—) in any plain-English writing." Replace with periods or restructure the sentences. Duplicate run: |
pnpm build -F rivetkit
pnpm build -F rivetkit -F '@rivetkit/*' ...
SecurityHardcoded .bearer_auth("dev")The local engine's dev auth token is hardcoded. This is acceptable for local development, but:
Missing PiecesNo Missing child.on("error", (err) => reject(err));
Minor Notes
|
[SLOP(claude-opus-4-8-medium)] refactor(cli): extract engine-process crate, rework rivet dev providers
[SLOP(claude-opus-4-8-low)] docs(actors): drop dev install of @rivetkit/cli from cloudflare and supabase quickstarts