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:
51
CLAUDE.md
51
CLAUDE.md
@ -187,6 +187,57 @@ NYASH_USE_NY_COMPILER=1 NYASH_PARSER_STAGE3=1 HAKO_PARSER_STAGE3=1 \
|
||||
- **開発加速**: Rust パーサー強化のドライバーにもなる
|
||||
- **復活**: 2025-11-25 に StringBox.get() バグ修正で復活 (`4120ab65`)
|
||||
|
||||
#### 🔍 コード品質チェック - hako_check(Phase 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 (必ずここから)
|
||||
- 現在のタスク: [CURRENT_TASK.md](CURRENT_TASK.md)
|
||||
- 📁 **Main**: [docs/development/current/main/](docs/development/current/main/)
|
||||
|
||||
Reference in New Issue
Block a user