`vibe new` から `vibe shell-stdin --restore` で scratch-db を積み上げ、`finalize`/`normalize`/`apply` まで安全に回すための実践手順。
Resources
13Install
npx skillscat add mizchi/vibe-lang Install via the SkillsCat registry.
We need to produce a 2-3 sentence plain-text summary in English, objective, factual, no marketing, no superlatives, no calls to action. Must be at most 60 words. No markdown, no bullet points, no headings. Just plain text. Summarize the skill: It provides a workflow to build a scratch DB using vibe new and vibe shell-stdin --restore, then run finalize/normalize/apply safely. It solves problem of quickly prototyping libraries in .vibe scratch namespace, repeatable validation, etc.
Vibe Scratch Workflow
使う場面
- 新しいライブラリを素早く試作したいとき
.vibeの scratch namespace で段階的に設計を詰めたいときtmp/tmp-hash-*配下で何度も同じ検証を回したいとき
標準フロー
- プロジェクト作成
vibe new tmp/tmp-hash-<id>/my_lib
cd tmp/tmp-hash-<id>/my_lib- scratch-db を固定する
export VIBE_SCRATCH_DB_PATH="$PWD/.vibe/namespaces/my_lib.db"shell-stdin --restoreで定義を積み上げる
printf '%s\n' \
'export enum MyType { A; B }' \
'export let f = (x: Int) -> Int { x + 1 }' \
'exit' | vibe shell-stdin --no-prompt --restore- 追加の式や確認を同じ scratch-db で続ける
printf '%s\n' \
'f(1)' \
'exit' | vibe shell-stdin --no-prompt --restore- 仕上げ
vibe finalize --db "$VIBE_SCRATCH_DB_PATH" --library --export my_lib.vibe
vibe normalize --write my_lib.vibe
vibe check my_lib.vibe
vibe test my_lib.vibe
vibe fetch my_lib.vibe
vibe apply my_lib.vibeベストプラクティス
shell-stdinは--restoreを付けないと空の scratch source から始まる。- 長い式や複数行入力は heredoc /
printf '%s\n' ...でまとめてshell-stdinに渡す。- 直接クオートを重ねるより parse 崩れを起こしにくい。
- scratch-db を明示的に分けたいときは
VIBE_SCRATCH_DB_PATHを固定する。 finalize --libraryは未使用定義と副作用文を落としてからエクスポートできるため、ライブラリ整形の基準にする。- scratch の破棄は
vibe history reset、または対象 DB ファイルの削除で行う。 - エクスポート後の確認は
vibe test my_lib.vibeとvibe symbols --json my_lib.vibeを基準にする。
Qualified Names(修飾名)
@ で始まるパッケージ参照では -(ハイフン)と /(スラッシュ)が識別子の一部として扱われる。@ なしの場合、- は減算演算子、/ は除算演算子になる。
詳細は docs/language-tour/syntax-reference.vibe.md の "Qualified Names" セクションを参照。
反復デバッグ
- 同じワークフローの連続実行:
pkf run debug-scratch-workflow- 便利な環境変数:
VIBE_SCRATCH_RUNS=50実行回数VIBE_SCRATCH_KEEP_SUCCESS=1成功ケースも保持VIBE_SCRATCH_CLI_BUILD=debug|release|skipCLI ビルドモード
scratch 反映後の検証
- exported module を lock/apply まで含めて確認する場合:
vibe finalize --db "$VIBE_SCRATCH_DB_PATH" --library --export my_lib.vibe
vibe fetch my_lib.vibe
vibe apply my_lib.vibe
vibe test my_lib.vibe- scratch-db 自体は中間生成物なので、共有・レビュー対象は
finalize後の.vibeを優先する。