docs(claude.md): Add hako_check workflow for .hako development (Phase 153)

Added new section "🔍 コード品質チェック - hako_check" after selfhost section:

- 5-step workflow with hako_check examples
- Development flow example (edit → run → check → fix loop)
- Check contents: HC011, HC012, HC019 (dead code detection)
- Value: JoinIR-based, safety net for Phase 160+ migration, instant feedback

Integration with selfhost line creates complete .hako development experience:
1. NYASH_USE_NY_COMPILER=1 for fast iteration
2. ./tools/hako_check.sh --dead-code for quality assurance
3. Full verification loop without cargo build overhead

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
nyash-codex
2025-12-04 14:33:30 +09:00
parent c85d67c92e
commit 11221aec29

View File

@ -187,6 +187,57 @@ NYASH_USE_NY_COMPILER=1 NYASH_PARSER_STAGE3=1 HAKO_PARSER_STAGE3=1 \
- **開発加速**: Rust パーサー強化のドライバーにもなる - **開発加速**: Rust パーサー強化のドライバーにもなる
- **復活**: 2025-11-25 に StringBox.get() バグ修正で復活 (`4120ab65`) - **復活**: 2025-11-25 に StringBox.get() バグ修正で復活 (`4120ab65`)
#### 🔍 コード品質チェック - hako_checkPhase 153 復活!)
**hako_check を使いながら .hako 開発するワークフロー**:
```bash
# Step 1: .hako を実行テスト
NYASH_USE_NY_COMPILER=1 NYASH_PARSER_STAGE3=1 HAKO_PARSER_STAGE3=1 \
./target/release/hakorune program.hako
# Step 2: コード品質チェック(基本チェック)
./tools/hako_check.sh program.hako
# Step 3: デッドコード検出Phase 153 新機能!)
./tools/hako_check.sh --dead-code program.hako
# → [HC019] unreachable method (dead code)
# → [HC019] dead static box (never referenced)
# Step 4: 特定ルールのみチェック
./tools/hako_check.sh --rules dead_code program.hako
# Step 5: JSON-LSP フォーマット出力(エディタ統合用)
./tools/hako_check.sh --format json-lsp --dead-code program.hako
```
**開発フロー例**:
```bash
# .hako ファイル編集
vim src/compiler/my_feature.hako
# 即座に実行テストcargo build 不要!)
NYASH_USE_NY_COMPILER=1 NYASH_PARSER_STAGE3=1 HAKO_PARSER_STAGE3=1 \
./target/release/hakorune src/compiler/my_feature.hako
# コード品質確認(未使用関数・デッドコード検出)
./tools/hako_check.sh --dead-code src/compiler/my_feature.hako
# 問題があれば修正 → 再実行
# (ループ高速!セルフホスト + hako_check で完全な検証ワークフロー)
```
**チェック内容** (Phase 153):
- **HC011**: 呼ばれないメソッド(デッドメソッド)
- **HC012**: 参照されないスタティックボックス
- **HC019**: 到達不可能な関数・ブロック(新!デッドコード検出)
- その他: arity mismatch など 15+ ルール
**💡 価値**:
- **JoinIR ベース**: コンパイラ側の制御フロー情報を活用(正確!)
- **.hako 移植時の安全ネット**: Phase 160+ で .hako JoinIR/MIR 移植するときの検証に使える
- **即座にフィードバック**: セルフホストの爆速開発と組み合わせ最強!
## Start Here (必ずここから) ## Start Here (必ずここから)
- 現在のタスク: [CURRENT_TASK.md](CURRENT_TASK.md) - 現在のタスク: [CURRENT_TASK.md](CURRENT_TASK.md)
- 📁 **Main**: [docs/development/current/main/](docs/development/current/main/) - 📁 **Main**: [docs/development/current/main/](docs/development/current/main/)