huskies: rename project from storkit to huskies

Rename all references from storkit to huskies across the codebase:
- .storkit/ directory → .huskies/
- Binary name, Cargo package name, Docker image references
- Server code, frontend code, config files, scripts
- Fix script/test to build frontend before cargo clippy/test
  so merge worktrees have frontend/dist available for RustEmbed

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Timmy
2026-04-03 16:12:52 +01:00
parent a7035b6ba7
commit 2d8ccb3eb6
572 changed files with 1340 additions and 1220 deletions
+9 -9
View File
@@ -85,7 +85,7 @@ impl BotShutdownNotifier {
/// Rebuild the server binary and re-exec.
///
/// 1. Gracefully stops all running agents (kills PTY children).
/// 2. Runs `cargo build [-p storkit]` from the workspace root, matching
/// 2. Runs `cargo build [-p huskies]` from the workspace root, matching
/// the current build profile (debug or release).
/// 3. If the build fails, returns the build error (server stays up).
/// 4. If the build succeeds, sends a best-effort shutdown notification (if a
@@ -151,9 +151,9 @@ pub async fn rebuild_and_restart(
// 4. Build the server binary, matching the current build profile so the
// re-exec via current_exe() picks up the new binary.
let build_args: Vec<&str> = if cfg!(debug_assertions) {
vec!["build", "-p", "storkit"]
vec!["build", "-p", "huskies"]
} else {
vec!["build", "--release", "-p", "storkit"]
vec!["build", "--release", "-p", "huskies"]
};
slog!("[rebuild] cargo {}", build_args.join(" "));
let output = tokio::task::spawn_blocking({
@@ -187,22 +187,22 @@ pub async fn rebuild_and_restart(
// 6. Re-exec with the new binary.
// Use the cargo output path rather than current_exe() so that rebuilds
// inside Docker work correctly — the running binary may be installed at
// /usr/local/bin/storkit (read-only) while cargo writes the new binary
// to /app/target/release/storkit (a writable volume).
// /usr/local/bin/huskies (read-only) while cargo writes the new binary
// to /app/target/release/huskies (a writable volume).
let new_exe = if cfg!(debug_assertions) {
workspace_root.join("target/debug/storkit")
workspace_root.join("target/debug/huskies")
} else {
workspace_root.join("target/release/storkit")
workspace_root.join("target/release/huskies")
};
let args: Vec<String> = std::env::args().collect();
// Remove the port file before re-exec so the new process can write its own.
let port_file = project_root.join(".storkit_port");
let port_file = project_root.join(".huskies_port");
if port_file.exists() {
let _ = std::fs::remove_file(&port_file);
}
// Also check cwd for port file.
let cwd_port_file = std::path::Path::new(".storkit_port");
let cwd_port_file = std::path::Path::new(".huskies_port");
if cwd_port_file.exists() {
let _ = std::fs::remove_file(cwd_port_file);
}