本文へ移動
cccskills
無料GitHub で公開

state

Persistent state schema migration requirements — the one schema, one migration ladder, and the fail-fast host-map membership rule. Use when changing anything that is persisted.

日本語の概要は準備中です。原文の説明を表示しています。

インストール方法を見る

含まれるファイル(1)

  • SKILL.md2.1 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Persistent State (conf)

State is stored via conf in packages/server/src/state.ts, which owns the on-disk shape (PersistedStateSchema, internal to that file) and the migration ladder. Domain modules (preferences.ts, hostPersistence.ts) read and write their own keys against the shared store.

When changing what is persisted (any of the per-domain schemas — PreferencesSchema in packages/common/src/surface.ts, PersistedHostsSchema in packages/common/src/hostKey.ts), you must add a migration in state.ts's migrations object and bump SCHEMA_VERSION. Without a migration, existing users' state files silently lose or misinterpret data on schema changes.

The disk shape is one schema, one migration ladder, one source of truth. PersistedStateSchema is intentionally not exported; consumers go through the domain accessors (getPreferences(), getPersistedHosts()).

Host-map membership rides this store too — it is not a special case. The fleet you add via the selector strip persists as the hosts field of PersistedStateSchema, owned by hostPersistence.ts (its getPersistedHosts() reader + savePoolMembership() persist-hook shaper) and carried by the SAME schema + migration ladder as every other domain. It IS real user data (unlike preferences, a silent reset would eat the fleet), so it must never be silently emptied — and conf already guarantees that: a corrupt/unparseable store THROWS on read (clearInvalidConfig is false, conf 15's default), it does NOT reset to defaults. That fail-fast is exactly why hosts belongs in this store rather than a hand-rolled file. An invalid-but-parseable value (a hand-edited local, a duplicate) additionally fails loud where it's read — getPersistedHosts re-validates through PersistedHostsSchema (in kolu-common/hostKey) and throws, never silently normalizing. Changing the hosts shape takes a migration + SCHEMA_VERSION bump like any other domain.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

コメント

ログインなしで書き込めます。使ってみた感想、質問、動かなかった環境などを気軽にどうぞ。

まだコメントはありません。最初のコメントを書いてみませんか。

送信するとすぐに公開されます。メールアドレスや電話番号などの個人情報は書かないでください。URL は 2 つまでです。

0 / 1000 文字

このフォームは reCAPTCHA で保護されており、Google のプライバシーポリシーと利用規約が適用されます。

同じリポジトリのスキル

blog-post

無料

Write a kolu blog post grounded in the real build history — mine the Claude Code session logs behind a feature for the actual story (for large efforts, fan out over the transcripts with an ultracode workflow), draft it in the author's voice, and wire it into the Astro site. Use when asked to write a blog post or engineering essay about something that was built, especially one that should read as a narrative of what actually happened rather than invented marketing copy.

日本語の概要は準備中です。原文の説明を表示しています。

juspay/kolu822026年10月21日 更新

ci

無料

Run this repo's CI end-to-end — kolu's policy on top of the odu runner: banned opt-out flags, x86_64-linux pinning, pool upkeep, fail-fast surfacing, e2e timing evidence, and the green-gate. Triggers on "run CI", "drive CI", "re-run the pipeline", "close the red check", "warm the pool". Runner mechanics live in the `/odu` skill.

日本語の概要は準備中です。原文の説明を表示しています。

juspay/kolu822026年10月21日 更新

Launch the kolu dev server on two RANDOM free ports so it never collides with the running production `kolu.service`, remember the ports for the rest of the session, and tear down only the dev instance. Load before running the app locally — for evidence capture, driving a live kolu with the chrome-devtools MCP, or any `just dev` you'd otherwise run by hand. Triggers on "run kolu locally", "launch the dev server", "boot kolu", "drive a live kolu", "start the app to screenshot it", or before pointing chrome-devtools at a local kolu.

日本語の概要は準備中です。原文の説明を表示しています。

juspay/kolu822026年10月21日 更新

diataxis

無料

Classify, write, and audit documentation per Diátaxis (diataxis.fr) — the four-quadrant method (tutorials · how-to guides · reference · explanation). Encodes the compass as a decision procedure, each quadrant's contract as hard rules, and an executable mixed-mode audit. Project-agnostic; the per-repo doc-location mapping lives in a repo rule of the project's own (kolu: the Kolu overlay below). Use when writing any user-facing doc, structuring a docs site, or auditing existing docs for mixed modes.

日本語の概要は準備中です。原文の説明を表示しています。

juspay/kolu822026年10月21日 更新

The Dock's agent-state folds — one fenced source of truth in @kolu/terminal-vocab, the load-bearing order≠colour split, and the one "is something happening" question. Use when editing agentProjection or the canvas dock.

日本語の概要は準備中です。原文の説明を表示しています。

juspay/kolu822026年10月21日 更新

E2E test conventions — semantic selectors, arrange-steps that prove the process started, runtime markers that cannot match the shell echo, and absolute-path tool invocations. Use when writing or changing a .feature scenario under packages/tests.

日本語の概要は準備中です。原文の説明を表示しています。

juspay/kolu822026年10月21日 更新

juspay のスキルをすべて見る

このスキルの問題を報告する