入門

パート 12

記憶ではなく環境を再構築する

最も価値のある自動化が業務処理とは限りません。新しいホスティングアカウントへ移り、小さな Core を置き、明示的な手順を一つ実行するだけで、信頼しているツールと作業習慣を取り戻せること自体が大きな価値です。

環境は手順と状態の組み合わせ

インストール済みモジュール、インターフェースパッケージ、起動スクリプト、設定はターミナルの振る舞いを記述します。プロジェクトファイルとデータベースは別の状態層です。この二つを分けて考えると移行と復旧がかなり簡単になります。

自動的に再作成すべきものと、バックアップから復元すべきものを書き分けます。セットアップ手順はツールと安全な既定を記述するものであり、アプリケーションデータや認証情報を新ホストへこっそり運ぶものではありません。

手順を書く前に、今使っている環境を調べる

core は Core・UI・モジュールの概要、install -l はインストール済みモジュールとパッケージ、include はインターフェースパッケージの保存状態、upgrade -c は書き込みなしで現在のモジュールバージョンを確認します。

この一覧によって「たぶんこのツールが必要」という記憶を、再現可能な必要構成一覧へ変えられます。古い習慣をセットアップ自動化へ残し続ける前に、不要になったものを外します。

core
install -l
include
upgrade -c

`setup.lil` は一度きりの初期セットアップで、常駐起動スクリプトではない

現在の Core は lil.php の隣に通常の setup.lil があると認識し、必要に応じて認証後に実行し、すべての行が成功した場合だけ削除します。完全な Installer がまだなくても Core が取得し、元のインストール操作を続けられます。

セットアップ内容は明示的に書きます。複数モジュールをまとめた install は短く読みやすく、意図的にバージョンを固定する場合は -v で正確なリリースを指定できます。パスワード、秘密鍵、プロジェクト固有のデータベース認証情報はこのファイルへ入れないでください。

install help history upgrade dir pwd md mf edit find stat hash run

`autoload.lil` はセッション開始時に繰り返す小さな処理向け

run は認証済みセッションごとに autoload.lil を一度確認し、ファイルは削除しません。毎回繰り返す軽い確認や環境準備に向き、一度だけのインストールには向きません。

upgrade -auto check は良い例です。autoload.lil の小さな設定で、セッションごとに更新を一度確認します。自動更新は、より強い方針として明示的に有効化する仕組みのままです。重要な環境では、確認してから更新する順序が適しています。

upgrade -auto check
upgrade -info

再現性とは、自分が選んだ自由度を知ること

install <mod> は現在の互換性のある公開版を選び、install <mod> -v <ver> は公開済みの特定バージョンを指定します。どちらも有効な Core 世代とモジュール依存関係の制約に従います。

第1世代の過去のマイルストーンは履歴資料としてのみ残し、現在はインストール対象ではありません。サポート対象は現行版です。次回以降に公開される番号付きリリースは、明示的に撤回されない限り、正確なインストール対象として残す方針です。

install hash -i
install hash -v 1.1.3

ブラウザインターフェースはパッケージ層でありコマンド実行環境ではない

includelilhotkeyscode など、組み合わせ可能な CSS/JavaScript パッケージを管理します。セッションモードは一時的で、-s は永続的な .lil.css / .lil.js 構成を作ります。

この分離はホスト移行で役立ちます。好みの UI パッケージがなくても PHP コマンドモジュールは正しく動作できます。まず機能を復元し、その後で表示を整えます。インターフェース層がおかしくなったら、kill -include で Core を消さずにその層だけリセットできます。

include -l
include lil -i
include -lil -s

セットアップ手順は捨てられる環境でテストして初めて完成する

最も確かな確認方法は、クリーンな新規インストールです。新しい Core を配置し、手順を実行し、coreinstall -lupgrade -c の結果を意図した環境と比較します。

手順を試すと、見えない依存関係が見つかります。数か月前に手動インストールしたコマンド、忘れていたインターフェースパッケージ、あるホストにだけある拡張などです。再現性は宣言するものではなく、再構築して発見するものです。

core
install -l
upgrade -c

スクリプトとして残す

これは意図的に小さくした setup.lil です。新しい lil.php の隣に置くと、Coreがこのツール一式を一度だけインストールします。Coreは完全成功したときだけ setup.lil を削除するため、失敗したセットアップは確認・再試行できます。

#lil
install help history upgrade dir pwd md mf edit find stat hash run