Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .claude/skills/code-quality/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
---
name: code-quality
description: Instructions for running code quality checks and maintaining standards in the Rust-Template project.
description: Instructions for running code quality checks and maintaining standards in the SealGate project.
---
# Code Quality Skill

This skill provides instructions for running code quality checks and maintaining standards in the Rust-Template project.
This skill provides instructions for running code quality checks and maintaining standards in the SealGate project.

## Commands

Expand Down
6 changes: 3 additions & 3 deletions .claude/skills/onboarding/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ other.
per-profile presets, `expand()` (dependency implications), and the
prune-path groups (exactly which files/crates each choice removes)
- The surfaces themselves: the engine command registry (`crates/engine/`),
the CLI (`crates/cli/`), the HTTP API (`appctl serve` / the `server`
the CLI (`crates/cli/`), the HTTP API (`sealg serve` / the `server`
module), config (`crates/config/`), `docs/`, and relevant tests
- Systems `make init` does NOT manage (handle these manually - see step 7):
release CI (`.github/workflows/`). Note `frontend/`, `Dockerfile`, and the
Expand Down Expand Up @@ -66,8 +66,8 @@ other.
manifests only.

6. Verify the selected shape:
- CLI: run `appctl --help` and one simple command (e.g. `appctl call ping`).
- API: start `appctl serve`, check `GET /healthz`, and `GET /api/v1/commands`.
- CLI: run `sealg --help` and one simple command (e.g. `sealg call ping`).
- API: start `sealg serve`, check `GET /healthz`, and `GET /api/v1/commands`.
- Shared changes: run focused `cargo test` first, then `make ci` when scope
is large.

Expand Down
2 changes: 1 addition & 1 deletion .claude/skills/prek/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name: prek
description: Instructions for using prek as a replacement for pre-commit.
---
# Prek Skill
This skill provides instructions for using `prek` in the Rust-Template project. `prek` replaces `pre-commit` for managing Git hooks and running checks.
This skill provides instructions for using `prek` in the SealGate project. `prek` replaces `pre-commit` for managing Git hooks and running checks.
## Commands
- `prek run`: Run hooks on changed files.
- `prek run --all-files`: Run hooks on all files in the repository.
Expand Down
34 changes: 17 additions & 17 deletions .claude/skills/update-backend/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ The backend is split into two layers:
| Layer | Path | Role |
|-------|------|------|
| **engine** | `crates/engine/` | All real backend logic. No transport dependency - runs in the CLI, the HTTP API, and tests. |
| **appctl** | `crates/cli/` | The `appctl` binary. Drives `engine` over the CLI (`call`/`probe`/`doctor`/`run-scenario`) and the axum HTTP API (`serve`), gated behind the `cli` / `http-api` cargo features. |
| **sealg** | `crates/cli/` | The `sealg` binary. Drives `engine` over the CLI (`call`/`probe`/`doctor`/`run-scenario`) and the axum HTTP API (`serve`), gated behind the `cli` / `http-api` cargo features. |

### Design Principles (engine)

Expand All @@ -36,7 +36,7 @@ CLI args, the HTTP body schema, and the future MCP tool schema) and
**self-register at link time** via `register_command!` - there is no
hand-maintained registration list.

The fastest path is the scaffolder: `appctl new <name>` (or `make new
The fastest path is the scaffolder: `sealg new <name>` (or `make new
name=<name>`) generates the file below from `templates/command.rs.tpl` and
inserts the `mod <name>;` line for you. To do it by hand:

Expand Down Expand Up @@ -86,16 +86,16 @@ register_command!(MyCommand);

2. Declare the module in `crates/engine/src/commands/mod.rs` (`mod my_command;`).
The `register_command!` line does the rest - `CommandRegistry::new()` collects
it automatically. (`appctl new` inserts this line for you.)
it automatically. (`sealg new` inserts this line for you.)

3. No transport change is needed: the HTTP `POST /api/v1/commands/:name` route is
auto-derived from the registry, and the CLI `call` path dispatches by name.

4. Smoke-test headlessly with `appctl`:
4. Smoke-test headlessly with `sealg`:

```bash
cargo build -p appctl
appctl call my_command --args '{"key": "value"}' --json
cargo build -p sealg
sealg call my_command --args '{"key": "value"}' --json
```

- Deserialize failures map to `INVALID_INPUT` automatically. Return typed
Expand Down Expand Up @@ -124,7 +124,7 @@ impl NetworkOps for OfflineNetwork {
}
```

Inject via `AppContext` - `AppContext::default()` wires the real platform capabilities (used by `appctl`); pass stub implementations to `AppContext::new(fs, network)` to run a command against fakes in tests.
Inject via `AppContext` - `AppContext::default()` wires the real platform capabilities (used by `sealg`); pass stub implementations to `AppContext::new(fs, network)` to run a command against fakes in tests.

## Configuration

Expand All @@ -141,27 +141,27 @@ println!("Model: {}", config.default_llm.default_model);
`crates/engine` stays config-agnostic - do not import `app-config` there unless a
command genuinely needs config; prefer passing values in via the input struct.

## Testing with appctl
## Testing with sealg

The `appctl` CLI drives `engine` without a running HTTP server:
The `sealg` CLI drives `engine` without a running HTTP server:

```bash
# Build
cargo build -p appctl
cargo build -p sealg

# Diagnostics
appctl doctor --json
sealg doctor --json

# Call a command
appctl call ping --json
appctl call read_file --args '{"path": "/etc/hostname"}' --json
sealg call ping --json
sealg call read_file --args '{"path": "/etc/hostname"}' --json

# Run a capability probe
appctl probe filesystem --json
appctl probe network --json
sealg probe filesystem --json
sealg probe network --json

# Run a YAML scenario
appctl run-scenario scenario.yaml --json
sealg run-scenario scenario.yaml --json
```

Write scenario files for regression tests:
Expand Down Expand Up @@ -200,5 +200,5 @@ Error codes: `INVALID_INPUT`, `UNSUPPORTED`, `UNIMPLEMENTED`, `DEPENDENCY_MISSIN
- [ ] `cargo fmt` applied
- [ ] `cargo clippy` passes (no warnings)
- [ ] `cargo test` passes
- [ ] New command smoke-tested with `appctl call <cmd> --json`
- [ ] New command smoke-tested with `sealg call <cmd> --json`
- [ ] `engine` crate has no transport imports (no CLI/axum/HTTP types)
14 changes: 0 additions & 14 deletions .dockerignore

This file was deleted.

2 changes: 1 addition & 1 deletion .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
# Default owner for everything
* @Miyamura80
* @Edison-Watch
37 changes: 0 additions & 37 deletions .github/workflows/docs-lint.yaml

This file was deleted.

Loading
Loading