Skip to main content

ccstate

Apply ccstate patterns for reactive values, commands, HTTP responses, and async or DOM ownership

Ir a la instalación

Datos de origen

Repositorio
okou-ai/okou
Última actividad en el origen
20 de septiembre de 2026 a las 11:48
Idioma detectado de SKILL.md
inglés
Estrellas
1154
Forks
71

Opciones de instalación

De forma predeterminada está seleccionado el prompt que primero revisa el origen. Puedes cambiar a un comando directo o descargar una copia local.

Revisa los archivos de origen

Lee SKILL.md y los archivos complementarios que muestra SkillsMP antes de decidir si quieres instalarlo.

Explorador de archivos
6 archivos

Mostrando SKILL.md

SKILL.md
Instrucciones de origen · Vista previa de solo lectura
name
ccstate
description
Apply ccstate patterns for reactive values, commands, HTTP responses, and async or DOM ownership
# ccstate Read the reference matching the changed behavior; API work does not require the React/DOM reference unless it also changes that surface. | Task | Reference | | ----------------------------------------------------------------- | ------------------------------------------- | | `computed`, memoization, function-valued state, reactive fetches | [Reactive values](references/reactivity.md) | | API client status handling and `accept` | [HTTP](references/http.md) | | AbortSignal ownership, cancellation, debouncing, detached cleanup | [Lifecycle](references/lifecycle.md) | | DOM callbacks, page signals, refs and ref cleanup | [React and DOM](references/react.md) | | Shared command logic and signal factories | [Commands](references/commands.md) | ## Boundaries - Keep derivation in `computed` and semantic actions in commands. Do not create signals or mutate the store during React render. - Every async operation needs an owner and cancellation path. Await finite work or return its promise inside signals. Start background loops with `setLoop` or `setAbly*Loop$`; those primitives own `detach(..., Reason.Daemon)` internally. Use `waitLoopUntil` / `waitAbly*LoopUntil$` when subsequent work needs completion. Non-periodic background work uses `detach(promise, reason, description)` with the owner's signal, in `signals/` as well as in views. Do not silence work with `void`. - `resetSignal()` provides mutual exclusion. Add a parent when the work belongs to a page/route lifetime; parentless use still needs an explicit owner that cancels it. The lifecycle reference defines both valid patterns. - Use `accept` with a non-empty status list for `apiClient$` calls. Preserve structured HTTP errors and use the view's loadable state for lifecycle UI. - Route setup owns `pageSignal$`. Preserve stable callback refs and `onRef` cleanup returns. See [effects](../../../docs/effect.md), [cache](../../../docs/cache.md), and [Platform tests](../../../docs/testing/app-testing.md) for the relevant broader contracts. For performance investigations, use [React measurements](../../../docs/react-commit.md).
Ver en GitHub