with one click
gormes-dev-runtime
// Use when running, installing, rebuilding, or validating local Gormes binaries, go run ./cmd/gormes, bin/gormes, install.sh, managed source clones, PATH shadowing, gateway stop/status, or sessions.db lock issues.
// Use when running, installing, rebuilding, or validating local Gormes binaries, go run ./cmd/gormes, bin/gormes, install.sh, managed source clones, PATH shadowing, gateway stop/status, or sessions.db lock issues.
| name | gormes-dev-runtime |
| description | Use when running, installing, rebuilding, or validating local Gormes binaries, go run ./cmd/gormes, bin/gormes, install.sh, managed source clones, PATH shadowing, gateway stop/status, or sessions.db lock issues. |
For Gormes work, stay on the existing development branch. Do not create or
use feature branches, short-lived branches, or git worktrees. If the checkout
is not on development, stop before editing and switch safely or report the
blocker.
Keep three execution surfaces distinct: the dirty development checkout, the local compiled binary, and the shell-wide installed command. Never let Hermes or a stale PATH entry become part of the Gormes dev loop.
Start by proving which surface the user is actually running. Use pwd,
git rev-parse --show-toplevel, which -a gormes, and readlink -f before
changing installers, binaries, or config. If the user names a development
workspace, honor that path; do not silently fall back to a sibling checkout or
the installer-managed clone.
Treat source checkout, runtime home, installer-managed checkout, and PATH
binary as separate facts. For this workspace family, workspace-mineru may be
the editing workspace while workspace-gormes or GORMES_HOME is the Gormes
development/runtime home. Discover and pass those paths through environment or
fixtures; do not hard-code /home/xel/... paths into product code or tests.
go run ./cmd/gormes.go build -o bin/gormes ./cmd/gormes,
then ./bin/gormes.install.sh, or manual publish after a build.install.sh is source-backed for final users. Its release defaults may clone
or update $HOME/.gormes/gormes-agent from main; that is not the agent
development surface. For Gormes agent work, use the current development
checkout or set GORMES_BRANCH=development when intentionally testing the
installer-managed path. It builds ./cmd/gormes, publishes to
$HOME/.local/bin/gormes, and refreshes any older active gormes command that
appears earlier on PATH.
Root Linux defaults are /usr/local/lib/gormes-agent and
/usr/local/bin/gormes. Override with GORMES_INSTALL_DIR,
GORMES_BIN_DIR, GORMES_INSTALL_HOME, or GORMES_BRANCH.
go run ./cmd/gormes or ./bin/gormes.go run ./cmd/gormes to prove source changes before install; use
./bin/gormes to prove the rebuilt local binary; use plain gormes only
after verifying the installed command path.main to validate development behavior. Agent work
stays on development; local behavior is proven from the checkout or rebuilt
binary.GORMES_HOME="$(mktemp -d)" go run ./cmd/gormes --offline. Reuse the real
home only when validating persisted sessions, migration, or operator state.install.sh tests the managed branch, not the dirty checkout. For
Gormes work, set that managed branch to development or use the local
checkout; do not use it to prove uncommitted changes unless an explicit
local-source mode is implemented.GORMES_INSTALL_DIR against an existing checkout, remember the
installer may stash local changes, fetch, checkout, and pull the branch.which -a gormes, readlink -f, and
sha256sum for gormes, bin/gormes, $HOME/.gormes/bin/gormes, and
$HOME/go/bin/gormes when present.gormes gateway status identifies the live runtime owner. Use
gormes gateway stop when a persisted foreground TUI needs to release
$HOME/.gormes/sessions.db.gormes gateway reload or gateway /reload for config changes that
the live manager can swap without reconnecting transports: allowlists,
first-run discovery flags, display/tool-progress settings, provider/model
client routing, skills root, and agent bindings. Invalid reloads must keep
the last-good config active and surface config_reload=failed in
gormes gateway status.sessions.db; that is acceptable for smoke testing but not for persisted
session validation.go run, ./bin/gormes, and installed gormes, either stop
the existing owner cleanly or give each surface a different GORMES_HOME.
Do not "fix" a lock by deleting sessions.db.api_server or suggest
hermes gateway start. Any such output is a parity bug; fix the Gormes
startup path or installer-published binary, not the user's Hermes process.Runtime/setup incidents often span multiple surfaces. Build a temp-home matrix before touching real operator state:
GORMES_HOME, HERMES_HOME,
CODEX_HOME, XDG_CONFIG_HOME, and XDG_DATA_HOME.CODEX_HOME/auth.json case:
fresh Codex CLI auth should import into the Gormes credential pool, expired
Codex CLI auth should fall back to device-code, and output must stay
redacted.config set, config reload,
onboard, doctor --offline, gateway status --json, and the exact
binary surface (go run, ./bin/gormes, or installed gormes) implicated
by the report.When validating an installer/runtime report, write down these facts before changing code:
go run ./cmd/gormes, ./bin/gormes, or plain gormes;which -a gormes / readlink -f;GORMES_HOME and whether it is a temp dir, workspace-gormes, or
~/.gormes;sessions.db;~/.hermes state reads,
stale product labels, or API-server assumptions.Only after this matrix is clear should a parity report move to TUI, Telegram/channel, or provider work. Many visible UX bugs are stale binary or wrong-home bugs until this checklist says otherwise.
(cd webpages/landing && go test ./internal/site -run 'TestInstallSH' -count=1).go test ./cmd/gormes ./internal/session -count=1.go test ./cmd/gormes ./internal/gateway -run 'TestGatewaySignalLoop|TestGatewayReload|TestManager_ReloadCommand' -count=1.GORMES_HOME="$(mktemp -d)" go run ./cmd/gormes ...,
GORMES_HOME="$(mktemp -d)" ./bin/gormes ..., and installed gormes after
path verification when the bug involves publishing or PATH shadowing.go test ./... -count=1,
go run ./cmd/progress validate, and git diff --check.install.sh builds the dirty repo.main install path to validate agent development work.gormes while $HOME/go/bin/gormes shadows the freshly published
command.gormes gateway status and
gormes gateway stop.gormes gateway reload, or treating a failed reload as a partially-applied config.sessions.db instead of stopping the owning Gormes
process or using an isolated GORMES_HOME.sessions.db fallback as proof of persisted-session
behavior.[HINT] Download the complete skill directory including SKILL.md and all related files