bump-cabal-index-statelisted
Install: claude install-skill ncaq/konoka
cabalプロジェクトの`index-state`を最新に更新します。
# 手順
## ブランチの作成
PR作成に備えてブランチを作成します。
```bash
git switch -c bump-cabal-index-state
```
## cabal updateの実行
```bash
cabal update
```
cabal update��出力から最新の`index-state`タイムスタンプを取得します。
出力例:
```console
Downloading the latest package list from hackage.haskell.org
Package list of hackage.haskell.org is up to date.
The index-state is set to 2026-01-11T09:48:01Z.
```
## index-stateの更新
通常は`cabal.project`ファイルに書かれている`index-state`を更新します。
フォーマット: `index-state: YYYY-MM-DDTHH:mm:ssZ`
`index-state`と日時の間にURLが入っていることも稀にあります。
もし`cabal.project`に書いていないなら、
`cabal.project.local`や`flake.nix`などに書かれている場合があります。
探して更新してください。
## 動作確認
プロジェクトのビルドシステムに応じて動作確認を行います。
Nixを使用している場合は以下のコマンドを実行してください。
```bash
nix flake check
```
Nixを使用していない場合は以下のコマンドを実行してください。
```bash
cabal build --disable-optimization --enable-tests all
```
### haskell.nixを使用している場合の遅れへの対応
haskell.nixは最新の`index-state`への対応に遅れがあります。
そのため最新の`index-state`を使用するとエラーになることがあります。
エラーメッセージに現在認識している最新の`index-state`が表示されます。
例:
```console
> Error: [Cabal-7159]
> Latest known index-state for 'hackage.haskell.org' (2026-01-05T23:03:18Z) is older than the requested index-state (2026-01-11T18:45:48Z).
> Run 'cabal update' or set the index-state to a value at or before 2026-01-05T23:03:18Z.
```
このエラーが出た場合は、
エラーメッセージに記載されている最新の値を使用してください。
変更した後に再度動作確認を行ってください。
## Gitにコミット
動作確認が成功したらGitにコミットしてください。
動作確認が成功しなければコミットは行わないで完了報告に進んでください。
コミットメッセージのタイトルは、
`build(deps): cabalのindex-stateを更新`
です。
本文は以下のテンプレートに従って