| name | deploy-openase |
| description | Build and locally redeploy OpenASE from the current branch, including web static assets and the Go binary, then restart the local service and verify health. Use when asked to compile, deploy, restart, or locally upgrade the current checkout. |
Deploy OpenASE
Goals
- Build the current checkout deterministically.
- Regenerate embedded web assets.
- Restart the local OpenASE process.
- Verify the new process is actually serving health checks.
Related Skills
pull: use this first if the user wants the branch updated from remote before
deployment.
Environment Assumptions
- Repo root is
/home/yuzhong/workspace/openase.
- Local runtime env lives in
~/.openase/.env.
- Preferred Go toolchain:
$PWD/.tooling/go/bin
- fallback
/home/yuzhong/.local/go1.26.1/bin
Standard Flow
- Confirm current branch and commit.
- Build frontend assets:
corepack pnpm --dir web install --frozen-lockfile
corepack pnpm --dir web run build
- Build backend binary:
PATH=$PWD/.tooling/go/bin:/home/yuzhong/.local/go1.26.1/bin:$PATH go build -o ./bin/openase ./cmd/openase
- Stop old local
openase processes started from this repo.
- Source
~/.openase/.env.
- Start the requested mode with
setsid.
- Verify success:
serve / all-in-one: curl http://127.0.0.1:19836/healthz
orchestrate: process stays alive and logs show runtime ready
Failure Handling
- Do not silently downgrade modes.
- If
all-in-one fails, surface the exact logs and let the user decide whether
a serve-only fallback is acceptable.
- If port binding fails, report the listener conflict explicitly.
- If startup crashes, include the relevant stdout/stderr tail in the summary.
Commands
Use the helper script:
.codex/skills/deploy-openase/scripts/redeploy_local.sh
Examples:
.codex/skills/deploy-openase/scripts/redeploy_local.sh --mode all-in-one
.codex/skills/deploy-openase/scripts/redeploy_local.sh --mode serve
Notes
all-in-one and serve both expose the panel on http://127.0.0.1:19836
with the current local defaults.
- This skill is for local redeploy of the current checkout, not for git branch
updates by itself.