haven-lifecycle
/haven-lifecycle
Uruchamia, zatrzymuje, uzgadnia i sprząta stosy haven: up, down, restart, reload, status, down --destroy, machine clean, self install i setup, lane'y, +svc i -svc oraz tryby still, --watch i --hmr.
- Autor
- langwatch ↗
- Repozytorium
- langwatch ↗
- Licencja
- Apache-2.0
- Ostatnia zmiana repozytorium
- 27.10.2026
Ocena i bezpieczeństwo
- Pliki w paczce
- 1
- Skrypty
- 0
- Komentarze HTML
- 0
- Adresy URL w SKILL.md
- 0
Brak sygnałów. Repozytorium zmienione 27.10.2026, bez odwołań do wycofanych modeli i API.
Apache-2.0, otwarta: można używać i zmieniać, z zachowaniem licencji i informacji o zmianach.
Co robi i kiedy
Uruchamia, zatrzymuje, uzgadnia i sprząta stosy haven: up, down, restart, reload, status, down --destroy, machine clean, self install i setup, lane'y, +svc i -svc oraz tryby still, --watch i --hmr.
Wyzwalacze z opisu
Argumenty
/haven-lifecycle [up | down | restart <lane> | reload | status | down --destroy --stack <slug> | machine clean | self install]
Oryginalny opis (EN)
Start, stop, reconcile and clean up haven stacks: `haven up`, `down`, `restart`, `reload`, `status`, `down --destroy`, `machine clean`, `self install`, `self setup`, `switch`, `self shell-init`, lanes, +svc/-svc, the stack modes (still, --watch, --hmr). Use when someone says 'haven destroy', 'haven clean', 'haven install', 'haven setup', 'haven shell-init', 'haven up', 'start the stack', 'stop the stack', 'haven down', 'restart the api lane', 'haven reload', 'haven up --watch', 'haven up --hmr', 'add a service', 'haven up +langy', 'built UI or HMR', 'haven status', 'haven down --destroy', 'hav
Jak działa
- up flags and services
- Lanes
- Stack modes
- focus
- install, setup, switch, clean
Podgląd SKILL.md
--- name: haven-lifecycle description: "Start, stop, reconcile and clean up haven stacks: `haven up`, `down`, `restart`, `reload`, `status`, `down --destroy`, `machine clean`, `self install`, `self setup`, `switch`, `self shell-init`, lanes, +svc/-svc, the stack modes (still, --watch, --hmr). Use when someone says 'haven destroy', 'haven clean', 'haven install', 'haven setup', 'haven shell-init', 'haven up', 'start the stack', 'stop the stack', 'haven down', 'restart the api lane', 'haven reload', 'haven up --watch', 'haven up --hmr', 'add a service', 'haven up +langy', 'built UI or HMR', 'haven status', 'haven down --destroy', 'haven machine clean', 'free disk from worktrees', 'haven self install', 'haven self setup', 'haven switch', or 'a stack is running somewhere else'." user-invocable: true argument-hint: "[up | down | restart <lane> | reload | status | down --destroy --stack <slug> | machine clean | self install]" --- # haven lifecycle Run from the workspace root. `make haven <sub>` forwards to the CLI (`dev/haven.mk`). ```bash haven up --agent -d # start; bare `haven up` without a TTY never returns and dies with your shell haven status --agent # every stack, service health, shared servers, RAM (--json, --reveal) haven down # stop this stack, keep databases; never stops the shared portless proxy (only --all does); up starts a missing one haven down --all # every stack, shared servers, daemon and proxy; --force kills hard haven restart api # bounce one lane; nothing else restarts (--rebuild for an image) haven reload # apply changes to a held stack; waits for "reload finished" haven down --destroy --stack <slug> --yes # stop a stack and DROP its databases (ask first, see haven-db) ``` Check `haven status`, then the URL; `haven up` returning is not health. ## up flags and services ```bash haven up +langy -mail # add or drop a service; sticky haven service off mail # switch one service in place, keeping the mode; app = ui+api+worker haven up +langevals # evaluators (monitors, evaluations) haven up +llm # zero-cost model answers (llmsim) haven up +design-system +mail-room # the Storybook and the mail studio haven up --force # restart even when the stack already matches haven up --no-seed # skip the auto-seed of an empty stack (haven-seed) haven up --mode <mode> # a deployment mode from dev/tests/modes; sticky, `none` clears haven up --rebuild # rebuild container images even when unchanged ``` One mode switch, never sticky (ADR-064 amendment 2026-10-10 b): plain `haven up` is still, `--watch` rebuilds and reloads everything on a change, `--hmr` does too with Vite HMR for the UI. Switching needs no `--force`; `--ui=...` and `--watch=false` exit 64. The simulators are `+name` services too: `haven sim` lists them (`sims` skill). Do not run `haven up` or `down` on a checkout another session uses without asking; as an agent a `haven up --force` or `make haven self install` on a stack that testers drive is refused by the safety check. ## Lanes `ui`, `api`, `go` (gateway and nlp), `sims`, `langy`. The api lane hosts the worker, so `haven logs api` and `haven logs worker` each show half of it. Under the default, api and worker are one process: see `dev-runtime`. The `go` lane also hosts the simulators and no `sims` lane runs; `LANGWATCH_DEV_ONE_PROCESS=0` splits both, Go and sims only (`LANGWATCH_GO_ONE_PROCESS` is a deprecated alias). The Go lane rebuilds and swaps its child on a Go change only under `--watch` or `--hmr`, and `LANGWATCH_GO_WATCH=0` keeps it off; `haven logs <sim>` still reads each one. Langy stays its own lane. On the host tier its `langwatch`/`lw` run this checkout's built CLI (the SDK's built CLI, shims in `.bin/langwatch-cli`), built on `haven up` when missing. ```bash haven restart api # restart the whole lane haven reload [app|api|worker] # apply changes to a still stack in place haven reload ui # built UI: rebuild the bundle and swap it in haven restart ui # same on a still or --watch stack (no backend restart); under --hmr it bounces the Vite lane ``` ## Stack modes ```bash haven up # still: built UI served by the api, no Vite, nothing reloads haven up --watch # UI one-shot builds (open pages reload once idle), Node reload, Go rebuild haven up --hmr # as --watch, but the UI is the plain Vite dev server with HMR ``` `haven status` names the mode (`refresh still|watch|hmr`, `"refresh"` in `--json`). Still builds the bundle once at `up` (cached by Nx) and never again until `haven reload ui`; open pages never reload. `--watch` adds a `ui` lane, `haven ui-watch`: one build per settled burst of edits, swapped in whole (`haven logs ui` shows each; a failed build keeps the last good bundle). An open page then reloads once nobody has touched it for 60 s, or at once when hidden. Old chunks stay loadable for 24 h after a swap. Outside haven, `pnpm dev` builds the UI once and serves it like a still stack; `pnpm dev:hmr` is the one that runs Vite. Numbers for each mode: `dev/docs/LOCAL_STACK.md`. | | Vite (`--hmr`, `pnpm dev:hmr`) | built (still, --watch, `pnpm dev`) | | ----------- | ------------------------------ | ---------------------------------- | | Role | almost never | testing without changing code | | Page memory | 708 MB | 396 MB | | JS heap | 242 MB | 69 MB | | Requests | 2289 | 563 | - The app's own process sheds the UI's Vite server too. - The orb is there on any haven stack, built or Vite (`haven orb feedback`, see `haven-orb`); a built page has no HMR and runs its production code paths. - Old assets pile up in the UI build folder; `rm -rf apps/ui/dist` clears them. - A build peaks at about 4.8 GB. ## focus One stack is the focused one: under memory pressure the others are slowed and it gets the larger ClickHouse share. It changes only on `haven up`, `haven switch` into a worktree with a stack, and `haven focus <slug>`; heartbeats never move it. If it goes down there is no focus until one of those runs again. ```bash haven focus # prints "focus: <slug>" or "focus: none" haven focus <slug> # make a registered stack the focus (a unique prefix works) haven status # shows the same "focus:" line ``` ## install, setup, switch, clean ```bash make haven self install # puts plain `haven` on PATH and installs what the machine needs haven self install --list --agent # report what is installed and missing; changes nothing haven self install --yes # install what haven needs without asking (optional ones left alone) haven self install --build # build the consoles and go-install haven, one line per step haven self install --reset-skips # forget every never-ask-again haven self setup --list # optional integrations for this checkout (e.g. gate-hook); --off turns one off eval "$(haven self shell-init)" # the `haven switch` function and completion haven switch <name> # cd to a worktree by name (--list for names) haven machine clean # picker: worktrees, then agent job scratch, then safe reclaim haven machine clean --yes # no pickers: only the pre-tick defaults, never a database ``` - With no TTY `haven self install` runs `--yes`: on macOS also the native tier (`brew install grafana prometheus loki` and the pinned ClickHouse, Tempo and Alloy downloads). macOS needs no colima. Re-running is a no-op; a failed non-required row is logged and the run carries on. - `--build` builds the consoles the binary embeds in one cached, parallel `nx run-many` (the `haven-console` tag is the list); a console that fails serves a page naming `make haven-web`. - haven starts the Colima VM only when a selected lane runs in a container (container ClickHouse or observability, sandboxed Langy, `haven pr --throwaway`), records that in `colima-<profile>.json`, and stops it once nothing needs it (`haven status` adds "stopped by haven"). A VM you started is never stopped. - `haven machine settings set vm off` keeps haven off the VM entirely: ClickHouse and observability run natively, sandboxed Langy and `haven pr --throwaway` refuse naming the setting, and a VM haven started stops. - `machine clean` flags: `--stale-days <n>`, `--include-recent` (agent jobs finished within 48h). Only agents that were asked may run `haven machine clean` or `haven down --destroy`. Internal commands (hidden from help, spawned by haven, not for agents): `haven keep <slug>` (the stack's keeper), `haven go-watch`, `haven simulator`, `haven static <lane> <dir> <port>` (serves a built bundle for `+design-system` and `+mail-room`). `haven hmr`, `haven git` and `haven play-launch` are deleted (ADR-064). See also: `haven-env` (`machine limits`), `haven-logs`, `troubleshooting.md` in `haven`. `haven reload` and `haven daemon restart` finish by ensuring the shared portless proxy is up; every portless command runs in its own session.
Wersje
W bazie nie ma innych skilli o nazwie haven-lifecycle.
Migawka bazy z 28.10.2026 · wersja paczki 79b33a68e1f1 (skrót SHA-256 całej paczki)
Pobrania w ostatnich 30 dniach: 0 · ranking
Zgłoś problem z tym skillem: szkodliwa treść, błędny opis albo prośba autora o usunięcie.
Podobne skille
- 100haven
Obsługuje codzienną pracę z thuishaven (haven), orkiestratorem stosu deweloperskiego: start, stop i stan stosu worktree, logi, bezpieczny wydruk środowiska, adresy URL aplikacji i API oraz sterowanie stosem jako agent. - 90haven-db
Resetuje, ponownie zasila i przycina bazy danych stosu haven, wskazując polecenia, które usuwają dane. - 100core-engine
Zarządza cyklem życia silnika core przez polecenia core/bin/tool-cli engine-restart i engine-reload, wyłącznie na wyraźną prośbę o restart lub przeładowanie. - 90openrag_dev_stack
Uruchamia, restartuje, monitoruje i zatrzymuje lokalny stos deweloperski OpenRAG: infrastrukturę Docker, backend i frontend. - 100daemon
Zarządza cyklem życia demona bota Telegram: uruchamianie, zatrzymywanie, restart, sprawdzanie statusu i podgląd logów. - 90formae-destroy
Prowadzi bezpieczne usuwanie zasobów infrastruktury, stosów i środowisk, z potwierdzeniem zakresu przed wykonaniem.