Skip to content

πŸ—οΈπŸ”¨ Onboard template into SealGate CLI (cli-only) - #13

Merged
Miyamura80 merged 3 commits into
mainfrom
claude/sealgate-cli-onboarding-al7t5e
Aug 27, 2026
Merged

Miyamura80 merged 3 commits into
mainfrom
claude/sealgate-cli-onboarding-al7t5e

Conversation

@Miyamura80

@Miyamura80 Miyamura80 commented Aug 27, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Runs sealg init --profile cli-only to turn the Rust server+CLI template into a standalone CLI for sealgate.ai, then finishes the manual cleanup the onboarding step leaves behind (dead feature code, CI matrix, Makefile targets, docs) so the repo is coherent as a pure CLI.

Changes

Onboarding (rename + prune)

  • Rename sentinels: Rust-Template β†’ SealGate, appctl β†’ sealg, Miyamura80 β†’ Edison-Watch.
  • Prune the HTTP API, frontend/, docs/ site, and Dockerfile; drop the http-api cargo feature and delete serve_http.rs.

Manual cleanup after prune

  • crates/cli: remove the now-dangling http-api feature, its optional deps (axum/tower/tower-http/app-config), the serve subcommand, and the dead mod serve_http (the deleted file broke cargo fmt).
  • rust_checks.yaml: drop the http-api-only clippy/test matrix steps (feature no longer exists β†’ would hard-fail CI).
  • Makefile: remove dead run/dev/docs targets; fix the setup and link-check messages that referenced the server and docs site.
  • Remove the docs-lint and jules-sync-translations workflows (only triggered on docs/**, now gone).
  • knip.json: re-scope analysis to scripts/ after the frontend workspace entry was pruned; reformat package.json/knip.json to tabs for Biome.
  • Refresh CLAUDE.md, README.md, and crate READMEs to describe the CLI-only shape; fix CODEOWNERS, command.rs.tpl, and the bun.lock package name.

Testing

  • Tests pass (cargo test --workspace + the cli-only feature matrix: 35 + workspace suites green)
  • Linting passes β€” cargo fmt/clippy, knip, biome, file-length, import-boundary, ai-writing, and agent-config-sync all pass locally. sealg call ping returns {"pong": true}. (make ci's audit/link-check need network/lychee and are left to CI.)

Related Issues

Closes #

πŸ€– Generated with Claude Code

https://claude.ai/code/session_01BDavmzv8cY6ywCGr7yiqrS


Generated by Claude Code


Summary by cubic

Turns the Rust server+CLI template into a standalone CLI for SealGate by running sealg init --profile cli-only and finishing cleanup. The repo is now pure CLI: the HTTP API, frontend/, docs/, and Dockerfile are gone, and the serve subcommand no longer exists.

Onboarding rename

  • Renames template sentinels: Rust-Template β†’ SealGate, appctl β†’ sealg, Miyamura80 β†’ Edison-Watch.
  • Drops the http-api cargo feature and deletes serve_http.rs.

Cleanup after prune

  • Removes the serve subcommand and its now-dangling axum/tower/tower-http/app-config deps from crates/cli.
  • Removes the http-api-only clippy/test matrix steps from rust_checks.yaml and dead run/dev/docs Makefile targets.
  • Deletes the docs-lint and jules-sync-translations workflows and re-scopes knip.json to scripts/.
  • Rewrites CLAUDE.md, README.md, crate READMEs, CODEOWNERS, command.rs.tpl, and the bun.lock package name for the CLI-only shape.
  • Makes engine::current_os() return std::env::consts::OS directly to fix clippy 1.98's needless_match under -D warnings.
  • Bumps h2 to 0.4.19 in Cargo.lock (lockfile-only, semver-compatible) to clear the pre-existing transitive RUSTSEC-2026-0258 advisory.

Written for commit c4e4c6e. Summary will update on new commits.

Review in cubic

Run `sealg init --profile cli-only` and finish the manual cleanup the
onboarding step leaves behind, turning the Rust server+CLI template into
a standalone CLI for sealgate.ai.

Onboarding (rename + prune):
- Rename sentinels: Rust-Template -> SealGate, appctl -> sealg,
  Miyamura80 -> Edison-Watch.
- Prune HTTP API, frontend/, docs/ site, and Dockerfile; drop the
  http-api cargo feature and delete serve_http.rs.

Manual cleanup after prune:
- crates/cli: remove the now-dangling http-api feature, its optional
  deps (axum/tower/tower-http/app-config), the `serve` subcommand, and
  the dead `mod serve_http` (rustfmt could not resolve the deleted file).
- rust_checks.yaml: drop the http-api-only clippy/test matrix steps
  (feature no longer exists).
- Makefile: remove dead run/dev/docs targets; fix setup and link-check
  messages that referenced the server and docs site.
- Remove docs-lint and jules-sync-translations workflows (docs/ gone).
- knip.json: scope analysis to scripts/ after the frontend workspace
  entry was pruned; reformat package.json/knip.json to tabs for biome.
- Refresh CLAUDE.md, README.md, and crate READMEs to describe the
  CLI-only shape; fix CODEOWNERS, command.rs.tpl, and bun.lock name.

Verified: cargo fmt/clippy/test (workspace + cli-only matrix), knip,
biome, file-length, import-boundary, ai-writing, and agent-config sync
all pass.

Co-Authored-By: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BDavmzv8cY6ywCGr7yiqrS
@qodo-code-review

Copy link
Copy Markdown

β“˜ Qodo reviews are paused because the subscription is no longer active. Ask your workspace admin to reactivate the subscription to resume reviews. Manage billing

`current_os()` matched `std::env::consts::OS` arm-by-arm and returned the
same value, so clippy 1.98's `needless_match` rejected it under
`-D warnings`. The match is an identity over `std::env::consts::OS`;
return it directly.

Pre-existing on `main` (the file is untouched by the onboarding change);
surfaced now because `rust-toolchain.toml` pins `channel = "stable"` and
CI moved from 1.94 to 1.98. Reproduced and verified green with the pinned
stable toolchain.

Co-Authored-By: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BDavmzv8cY6ywCGr7yiqrS

Copy link
Copy Markdown
Contributor Author

CI fix pushed (98b5426): the Clippy + Tests check failed on crates/engine/src/types.rs:177 with clippy::needless_match.

This is not caused by this PR β€” types.rs is untouched by the onboarding change. It's a pre-existing lint that would fail main identically: rust-toolchain.toml pins channel = "stable", and CI's stable moved from 1.94 to 1.98.0, where needless_match now denies current_os()'s arm-by-arm match over std::env::consts::OS.

I folded the one-line, behavior-preserving fix into this PR rather than leaving CI red (the match was an identity over std::env::consts::OS, so it now returns that directly). Reproduced the failure and verified green under the pinned stable 1.98 toolchain (clippy --workspace + the cli-only feature matrix, tests, and fmt all pass).


Generated by Claude Code

Cargo Deny's advisories check failed on h2 0.4.13 (RUSTSEC-2026-0258:
unbounded empty DATA frames, low severity), pulled transitively via
reqwest -> hyper -> h2. Lockfile-only, semver-compatible bump to 0.4.19
(the advisory recommends >=0.4.16).

Pre-existing transitive advisory (not introduced by this PR); newly
published, so it also affects main. Workspace build verified green.

Co-Authored-By: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BDavmzv8cY6ywCGr7yiqrS

Copy link
Copy Markdown
Contributor Author

Second CI fix pushed (c4e4c6e): the Cargo Deny check failed on its advisories gate β€” RUSTSEC-2026-0258 (h2 0.4.13, unbounded empty DATA frames, low severity), pulled transitively via reqwest β†’ hyper β†’ h2.

Also not introduced by this PR β€” it's a newly-published advisory on a transitive dependency, so it affects main too. Fix is the advisory's own recommendation: a lockfile-only, semver-compatible bump h2 0.4.13 β†’ 0.4.19 (cargo update -p h2, >=0.4.16 required). No manifest changes; workspace build verified green.

Both original CI failures (Clippy + Tests and Cargo Deny) were pre-existing base issues surfaced by toolchain/advisory updates, now resolved. Waiting on the re-run against c4e4c6e.


Generated by Claude Code

@Miyamura80
Miyamura80 merged commit 6adc574 into main Aug 27, 2026
10 checks passed
@github-actions
github-actions Bot deleted the claude/sealgate-cli-onboarding-al7t5e branch August 27, 2026 15:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants