ćƒ”ć‚¤ćƒ³ć‚³ćƒ³ćƒ†ćƒ³ćƒ„ćøć‚¹ć‚­ćƒƒćƒ—
č¦‹å‡ŗć—ē”»åƒ

怐Claude Codeć€‘čŖ¤å‰Šé™¤ćƒ»čŖ¤é€äæ”ć‚’Hooksć§ē‰©ē†ćƒ–ćƒ­ćƒƒć‚Æć™ć‚‹čØ­å®šč”“

    AIć«ä»•äŗ‹ć‚’ä»»ć›ć‚‹ć»ć©ć€äŗ‹ę•…ć®äøå®‰ć‚‚å¤§ćććŖć‚‹


    Claude Codeć®ć‚ˆć†ćŖAIć‚³ćƒ¼ćƒ‡ć‚£ćƒ³ć‚°ć‚Øćƒ¼ć‚øć‚§ćƒ³ćƒˆćÆć€ćƒ•ć‚”ć‚¤ćƒ«ę•“ē†ć‚„ćƒ‡ćƒ¼ć‚æé›†čØˆć€ć‚³ćƒžćƒ³ćƒ‰å®Ÿč”Œć¾ć§č‡Ŗå¾‹ēš„ć«ć“ćŖć—ć¦ćć‚Œć¾ć™ć€‚ä¾æåˆ©ćŖäø€ę–¹ć§ć€Œå‹ę‰‹ć«å¤§äŗ‹ćŖćƒ•ć‚”ć‚¤ćƒ«ć‚’ę¶ˆć•ć‚ŒćŸć‚‰ć©ć†ć—ć‚ˆć†ć€ć€ŒčŖ¤ć£ć¦å¤–éƒØć«ćƒ‡ćƒ¼ć‚æć‚’é€äæ”ć•ć‚ŒćŸć‚‰ć€ćØć„ć†äøå®‰ć‚’ęŠ±ćę–¹ćÆå¤šć„ćÆćšć§ć™ć€‚

    ć“ć“ć§å¤šćć®äŗŗćŒć‚„ć‚ŠćŒć”ćŖć®ćŒć€ćƒ—ćƒ­ćƒ³ćƒ—ćƒˆć§ć€Œå‰Šé™¤ć—ćŖć„ć§ćć ć•ć„ć€ćØćŠé”˜ć„ć™ć‚‹é‹ē”Øć§ć™ć€‚ć—ć‹ć—ä¼šč©±ćŒé•·ććŖć‚‹ćØAIć®ę³Øę„åŠ›ćŒč–„ć‚Œć€ęŒ‡ē¤ŗćŒå½¢éŖøåŒ–ć—ć¦ć—ć¾ć†åÆčƒ½ę€§ćŒć‚ć‚Šć¾ć™ć€‚ćŠé”˜ć„ćƒ™ćƒ¼ć‚¹ć®é‹ē”Øć«ćÆé™ē•ŒćŒć‚ć‚‹ć®ć§ć™ć€‚

    å®‰å…Øć«é‹ē”Øć™ć‚‹ćŸć‚ć®é‰„å‰‡ćÆć€ćƒ—ćƒ­ćƒ³ćƒ—ćƒˆć§ćŠé”˜ć„ć™ć‚‹ć®ć§ćÆćŖćć€ć‚·ć‚¹ćƒ†ćƒ å“ć§ē‰©ē†ēš„ć«å‡¦ē†ć‚’ę­¢ć‚ć‚‹ć“ćØć§ć™ć€‚Claude Codeć«ćÆć€ŒHooksć€ćØć„ć†ä»•ēµ„ćæćŒć‚ć‚Šć€ć“ć‚Œć‚’ä½æć†ćØå±é™ŗćŖć‚³ćƒžćƒ³ćƒ‰ć®å®Ÿč”Œćć®ć‚‚ć®ć‚’ćƒ–ćƒ­ćƒƒć‚Æć§ćć¾ć™ć€‚ä»Šå›žćÆć“ć®Hooksć‚’ä½æć£ćŸå®‰å…Øć‚¬ćƒ¼ćƒ‰ć®ä½œć‚Šę–¹ć‚’ć€éžć‚Øćƒ³ć‚øćƒ‹ć‚¢ć®ę–¹ć§ć‚‚čØ­å®šć§ćć‚‹ćƒ¬ćƒ™ćƒ«ć¾ć§å…·ä½“ēš„ć«č§£čŖ¬ć—ć¾ć™ć€‚

    ćŖćŠć€Claude Codeć‚’åˆ©ē”Øć™ć‚‹ć«ćÆProćƒ—ćƒ©ćƒ³ļ¼ˆęœˆé”20ćƒ‰ćƒ«ļ¼‰ć€Maxćƒ—ćƒ©ćƒ³ļ¼ˆęœˆé”100怜200ćƒ‰ćƒ«ļ¼‰ć€Teamćƒ—ćƒ©ćƒ³ļ¼ˆ1åø­ć‚ćŸć‚Šęœˆé”25ćƒ‰ćƒ«ć€œļ¼‰ć€Enterprisećƒ—ćƒ©ćƒ³ć€ć¾ćŸćÆAPIå¾“é‡čŖ²é‡‘ć®ć„ćšć‚Œć‹ć®å„‘ē“„ćŒåæ…č¦ć§ć™ć€‚Freećƒ—ćƒ©ćƒ³ć§ćÆć‚æćƒ¼ćƒŸćƒŠćƒ«äøŠć§ć®Claude Codeč‡Ŗä½“ćŒåˆ©ē”Øć§ććŖć„ē‚¹ćÆäŗ‹å‰ć«ē¢ŗčŖć—ć¦ćŠć„ć¦ćć ć•ć„ć€‚



    ē”»åƒ

    Hooksの仕組み AIćŒć‚³ćƒžćƒ³ćƒ‰ć‚’å®Ÿč”Œć™ć‚‹ć€Œē›“å‰ć€ć«å‰²ć‚Šč¾¼ć‚€


    Hooksć®äø­ę øćØćŖć‚‹ć®ćŒć€ŒPreToolUseć€ćØć„ć†ćƒ•ćƒƒć‚Æć§ć™ć€‚ć“ć‚ŒćÆAIがBashć‚³ćƒžćƒ³ćƒ‰ćŖć©ć®ćƒ„ćƒ¼ćƒ«ć‚’å®Ÿč”Œć—ć‚ˆć†ćØć—ćŸēž¬é–“ć«ć€ć‚ć‚‰ć‹ć˜ć‚ē™»éŒ²ć—ćŸå®‰å…Øćƒć‚§ćƒƒć‚Æå‡¦ē†ć‚’å‰²ć‚Šč¾¼ć¾ć›ć‚‹ä»•ēµ„ćæć§ć™ć€‚

    ćƒć‚§ćƒƒć‚Æå‡¦ē†ćÆć€Œēµ‚äŗ†ć‚³ćƒ¼ćƒ‰ļ¼ˆExit Codeļ¼‰ć€ćØć„ć†ę•°å€¤ć§Claude Codeć«ēµęžœć‚’ä¼ćˆć¾ć™ć€‚ć“ć®ę•°å€¤ć®ę„å‘³ć‚’ę­£ć—ćē†č§£ć—ć¦ćŠćć“ćØćŒć€äŗ‹ę•…ć‚’é˜²ćęœ€å¤§ć®ćƒć‚¤ćƒ³ćƒˆć§ć™ć€‚

    šŸ“Œ ēµ‚äŗ†ć‚³ćƒ¼ćƒ‰ćØęŒ™å‹•ć®é•ć„

    惻exit 0ļ¼ˆęˆåŠŸļ¼‰ć€€ćƒ„ćƒ¼ćƒ«ć®å®Ÿč”ŒćŒćć®ć¾ć¾čØ±åÆć•ć‚Œć‚‹
    惻exit 2ļ¼ˆē‰©ē†ćƒ–ćƒ­ćƒƒć‚Æļ¼‰ć€€ćƒ„ćƒ¼ćƒ«ć®å®Ÿč”ŒćŒå¼·åˆ¶ēš„ć«äø­ę–­ć•ć‚Œć‚‹ć€‚ęØ™ęŗ–ć‚Øćƒ©ćƒ¼å‡ŗåŠ›ć®å†…å®¹ćÆAIč‡Ŗčŗ«ćøć®ćƒ•ć‚£ćƒ¼ćƒ‰ćƒćƒƒć‚ÆćØć—ć¦čæ”ć•ć‚Œć‚‹
    惻exit 1ć‚„ćć®ä»–ć®ę•°å€¤ć€€ć‚Øćƒ©ćƒ¼ćƒ”ćƒƒć‚»ćƒ¼ć‚øćÆč”Øē¤ŗć•ć‚Œć‚‹ćŒć€å‡¦ē†č‡Ŗä½“ćÆę­¢ć¾ć‚‰ćšé€²ć‚“ć§ć—ć¾ć†ļ¼ˆNon-blocking扱い)

    ć“ć“ć§ć‚ˆćć‚ć‚‹čŖ¤č§£ćŒć€Œć‚Øćƒ©ćƒ¼ć‚’å‡ŗć›ć°ę­¢ć¾ć‚‹ćÆćšć€ćØć„ć†ę€ć„č¾¼ćæć§ć™ć€‚é€šåøøć®ćƒ—ćƒ­ć‚°ćƒ©ćƒŸćƒ³ć‚°ć§ćÆ exit 1 ćŒć‚Øćƒ©ćƒ¼ć®åˆå›³ćØć—ć¦ä½æć‚ć‚Œć‚‹ć“ćØćŒå¤šć„ćŸć‚ć€ć¤ć„ exit 1 ć‚’ę›øć„ć¦ć—ć¾ć„ćŒć”ć§ć™ćŒć€Claude Codeć®ä»•ę§˜ć§ćÆ exit 1 ćÆč­¦å‘Šę­¢ć¾ć‚Šć§å‡¦ē†ćŒé€²č”Œć—ć¦ć—ć¾ć„ć¾ć™ć€‚å±é™ŗćŖę“ä½œć‚’ē¢ŗå®Ÿć«ę­¢ć‚ćŸć„ćŖć‚‰ć€exit 2 ć‚’ęŒ‡å®šć™ć‚‹ć“ćØćŒå®Ÿå‹™äøŠć®ēµ¶åÆ¾ę”ä»¶ć§ć™ć€‚

    å®Ÿč£…ćÆ3ć‚¹ćƒ†ćƒƒćƒ—ć€€čØ­å®šćƒ•ć‚”ć‚¤ćƒ«1ć¤ć§å®Œēµć•ć›ć‚‹


    Hooksć®čØ­å®šćÆć€å¤–éƒØć«ćƒ—ćƒ­ć‚°ćƒ©ćƒ ćƒ•ć‚”ć‚¤ćƒ«ć‚’ä½œć‚‰ćŖćć¦ć‚‚ć€čØ­å®šćƒ•ć‚”ć‚¤ćƒ«1ć¤ć®äø­ć«ē›“ęŽ„ćƒć‚§ćƒƒć‚Æå‡¦ē†ć‚’ę›øćč¾¼ć‚€ć“ćØć§å®Œēµć•ć›ć‚‰ć‚Œć¾ć™ć€‚ćƒ—ćƒ­ć‚°ćƒ©ćƒŸćƒ³ć‚°åˆåæƒč€…ć»ć©ć€ć“ć®ć€Œć‚¤ćƒ³ćƒ©ć‚¤ćƒ³ę–¹å¼ć€ć§å§‹ć‚ć‚‹ć®ćŒćŠć™ć™ć‚ć§ć™ć€‚

    1ļ¼Žćƒ—ćƒ­ć‚øć‚§ć‚Æćƒˆć®ćƒ•ć‚©ćƒ«ćƒ€å†…ć«ć€Œ.claudeć€ćƒ•ć‚©ćƒ«ćƒ€ć‚’ä½œć‚Šć€ćć®äø­ć«ć€Œsettings.jsonć€ćØć„ć†ćƒ•ć‚”ć‚¤ćƒ«ć‚’ē”Øę„ć™ć‚‹
    2ļ¼Žsettings.jsonの中に、PreToolUsećƒ•ćƒƒć‚Æć®čØ­å®šćØć—ć¦ć€ŒBashå®Ÿč”Œę™‚ć«å±é™ŗćŖć‚­ćƒ¼ćƒÆćƒ¼ćƒ‰ć‚’ę¤œēŸ„ć™ć‚‹å‡¦ē†ć€ć‚’čØ˜čæ°ć™ć‚‹
    3ļ¼Žå±é™ŗćŖć‚­ćƒ¼ćƒÆćƒ¼ćƒ‰ļ¼ˆå‰Šé™¤ć‚³ćƒžćƒ³ćƒ‰ć‚„å¼·åˆ¶é€äæ”ć‚³ćƒžćƒ³ćƒ‰ćŖć©ļ¼‰ć‚’ę¤œēŸ„ć—ćŸå “åˆćÆć€ęØ™ęŗ–ć‚Øćƒ©ćƒ¼å‡ŗåŠ›ć«ćƒ”ćƒƒć‚»ćƒ¼ć‚øć‚’č”Øē¤ŗć—ćŸć†ćˆć§ exit 2 ć‚’čæ”ć™ć‚ˆć†ę”ä»¶ć‚’ę›øć

    ć“ć®čØ­å®šćÆć€é…ē½®ć—ćŸćƒ—ćƒ­ć‚øć‚§ć‚Æćƒˆćƒ•ć‚©ćƒ«ćƒ€ć®äø­ć ć‘ć§ęœ‰åŠ¹ć«ćŖć‚Šć¾ć™ć€‚č¤‡ę•°ć®ćƒ—ćƒ­ć‚øć‚§ć‚Æćƒˆć‚„PCå…Øä½“ć«åŒć˜å®‰å…Øć‚¬ćƒ¼ćƒ‰ć‚’ć‹ć‘ćŸć„å “åˆćÆć€ćƒ›ćƒ¼ćƒ ćƒ‡ć‚£ćƒ¬ć‚ÆćƒˆćƒŖé…äø‹ć®ć€Œļ½ž/.claude/settings.jsonć€ć«åŒć˜å†…å®¹ć‚’é…ē½®ć™ć‚‹ćØć€ć©ć®ćƒ•ć‚©ćƒ«ćƒ€ć§ä½œę„­ć—ć¦ć„ć¦ć‚‚é©ē”Øć•ć‚Œć¾ć™ć€‚ć¾ćŸć™ć§ć«åŒć˜å “ę‰€ć«settings.jsonćŒå­˜åœØć™ć‚‹å “åˆć€ćƒ•ć‚”ć‚¤ćƒ«ć‚’äøøć”ćØē½®ćę›ćˆć¦ć—ć¾ć†ćØę—¢å­˜ć®čØ­å®šćŒę¶ˆćˆć¦ć—ć¾ć„ć¾ć™ć€‚ę—¢å­˜ć®JSON悒開恍态怌hooksć€ć®é …ē›®ć ć‘ć‚’čæ½čØ˜ć™ć‚‹å½¢ć§ćƒžćƒ¼ć‚øć™ć‚‹ć‚ˆć†ć«ć—ć¦ćć ć•ć„ć€‚

    手動でJSONćƒ•ć‚”ć‚¤ćƒ«ć‚’ē·Øé›†ć™ć‚‹ćØć€ćƒ€ćƒ–ćƒ«ć‚Æć‚©ćƒ¼ćƒ†ćƒ¼ć‚·ćƒ§ćƒ³ć®é–‰ć˜åæ˜ć‚Œć‚„ć‚«ćƒ³ćƒžć®ä»˜ć‘åæ˜ć‚ŒćØć„ć£ćŸäŗ›ē“°ćŖćƒŸć‚¹ć§ćƒ•ćƒƒć‚Æå…Øä½“ćŒē„”åŠ¹ć«ćŖć‚‹ć“ćØćŒć‚ć‚Šć¾ć™ć€‚ć‚æćƒ¼ćƒŸćƒŠćƒ«äøŠć§ć€Œ/hooksć€ćØå…„åŠ›ć™ć‚‹ćØć€ē™»éŒ²ęøˆćæć®ćƒ•ćƒƒć‚Æć®äø€č¦§ē¢ŗčŖć‚„ęœ‰åŠ¹åŒ–ćƒ»ē„”åŠ¹åŒ–ć€ē°”å˜ćŖå‹•ä½œćƒ†ć‚¹ćƒˆćŒć§ćć¾ć™ć€‚ćŸć ć—ć“ć®ć‚³ćƒžćƒ³ćƒ‰ćÆč¤‡é›‘ćŖę”ä»¶å¼ćć®ć‚‚ć®ć‚’åÆ¾č©±ēš„ć«ēµ„ćæē«‹ć¦ć¦ćć‚Œć‚‹ć‚ć‘ć§ćÆćŖć„ć®ć§ć€settings.jsonć®čØ˜čæ°č‡Ŗä½“ćÆć‚Øćƒ‡ć‚£ć‚æć§äøåÆ§ć«ē¢ŗčŖć—ćŖćŒć‚‰č”Œć„ć€ē™»éŒ²å¾Œć®å‹•ä½œē¢ŗčŖć«ć€Œ/hooksć€ć‚’ä½æć†ćØć„ć†å½¹å‰²åˆ†ę‹…ć§č€ƒćˆć‚‹ćØć‚ˆć„ć§ć—ć‚‡ć†ć€‚

    ä»„äø‹ćÆć€å‰Šé™¤ć‚³ćƒžćƒ³ćƒ‰ć‚„å¼·åˆ¶ćƒ—ćƒƒć‚·ćƒ„ć€å¤–éƒØćøć®é€äæ”ć‚³ćƒžćƒ³ćƒ‰ć‚’ę¤œēŸ„ć—ćŸēž¬é–“ć«å‡¦ē†ć‚’ę­¢ć‚ć‚‹ć€ęœ€å°ę§‹ęˆć®čØ­å®šä¾‹ć§ć™ć€‚å¤–éƒØć‚¹ć‚ÆćƒŖćƒ—ćƒˆć‚’åˆ„é€”ä½œć‚‹åæ…č¦ćŒćŖćć€ć“ć®JSONć‚’ćć®ć¾ć¾äæå­˜ć™ć‚‹ć ć‘ć§å‹•ä½œć—ć¾ć™ć€‚

    šŸ“‹ ć“ć“ć‹ć‚‰ć‚³ćƒ”ćƒš

    {
      "hooks": {
        "PreToolUse": [
          {
            "matcher": "Bash",
            "hooks": [
              {
                "type": "command",
                "command": "input=$(cat); if echo \"$input\" | grep -iE \"rm -rf|git push --force|curl\"; then echo \"[å®‰å…Øć‚¬ćƒ¼ćƒ‰] ē “å£Šēš„ć‚³ćƒžćƒ³ćƒ‰ć¾ćŸćÆå¤–éƒØé€äæ”ćÆē¦ę­¢ć•ć‚Œć¦ć„ć¾ć™\" >&2; exit 2; fi"
              }
            ]
          }
        ]
      }
    }

    ć“ć®čØ­å®šć‚’å…„ć‚Œć¦ćŠććØć€AI恌怌rm -rfć€ć®ć‚ˆć†ćŖē “å£Šēš„å‰Šé™¤ć‚³ćƒžćƒ³ćƒ‰ć‚„ć€Œgit push --forceć€ćØć„ć£ćŸå¼·åˆ¶äøŠę›øćć€å¤–éƒØé€šäæ”ć‚’ä¼“ć†ć€Œcurlć€ć‚³ćƒžćƒ³ćƒ‰ć‚’å®Ÿč”Œć—ć‚ˆć†ćØć—ćŸēž¬é–“ć«å‡¦ē†ćŒäø­ę–­ć•ć‚Œć€ć€Œ[å®‰å…Øć‚¬ćƒ¼ćƒ‰] ē “å£Šēš„ć‚³ćƒžćƒ³ćƒ‰ć¾ćŸćÆå¤–éƒØé€äæ”ćÆē¦ę­¢ć•ć‚Œć¦ć„ć¾ć™ć€ćØć„ć†ćƒ”ćƒƒć‚»ćƒ¼ć‚øćŒč”Øē¤ŗć•ć‚Œć¾ć™ć€‚ę›øé”žä½œęˆć‚„ćƒ‡ćƒ¼ć‚æé›†čØˆćØć„ć£ćŸå®‰å…ØćŖä½œę„­ćÆAIć«ä»»ć›ćŸć¾ć¾ć€ęœ€å¾Œć®ē¢ŗå®šä½œę„­ć ć‘äŗŗé–“ćŒę‰æčŖć™ć‚‹ćØć„ć†é‹ē”ØćŒå®Ÿē¾ć§ćć¾ć™ć€‚

    ćŖćŠć€ć“ć®čØ­å®šä¾‹ćÆBashļ¼ˆć‚·ć‚§ćƒ«ļ¼‰ć®ę›øćę–¹ć‚’å‰ęć«ć—ć¦ć„ć‚‹ćŸć‚ć€Windowsē’°å¢ƒć§č©¦ć™å “åˆćÆGit Bashなど、Bashć‚³ćƒžćƒ³ćƒ‰ćŒå®Ÿč”Œć§ćć‚‹ē’°å¢ƒć‚’ē”Øę„ć—ć¦ćŠćåæ…č¦ćŒć‚ć‚Šć¾ć™ć€‚ć¾ćŸę–‡å­—åˆ—ć®å˜ē“”äø€č‡“ć§ć‚­ćƒ¼ćƒÆćƒ¼ćƒ‰ć‚’ę¤œēŸ„ć—ć¦ć„ć‚‹ćŸć‚ć€ć€Œrm -r -fć€ć®ć‚ˆć†ćŖč”ØčØ˜ć‚†ć‚Œć‚„ć€ę­£åøøćŖAPIé€£ęŗć§ä½æć†ć€Œcurlć€ć‚³ćƒžćƒ³ćƒ‰ć¾ć§ę„å›³ć›ćšę¤œēŸ„ć—ć¦ć—ć¾ć†ć“ćØćŒć‚ć‚Šć¾ć™ć€‚å®Ÿéš›ć®ę„­å‹™ć§ä½æć†ć‚³ćƒžćƒ³ćƒ‰ć«åˆć‚ć›ć¦ć€ę¤œēŸ„ć™ć‚‹ć‚­ćƒ¼ćƒÆćƒ¼ćƒ‰ćÆå°‘ć—ćšć¤čŖæę•“ć—ć¦ć„ćć®ćŒå®‰å…Øć§ć™ć€‚

    čØ­å®šć‚’äæå­˜ć—ćŸć‚‰ć€åæ…ćšęœ¬ē•Ŗé‹ē”Øć®å‰ć«å‹•ä½œćƒ†ć‚¹ćƒˆć‚’ć—ć¦ćŠćć¾ć—ć‚‡ć†ć€‚ćƒ†ć‚¹ćƒˆē”Øć®ē©ŗćƒ•ć‚©ćƒ«ćƒ€ć‚’ē”Øę„ć—ć€Claude Codeć«ć€Œć“ć®ćƒ•ć‚©ćƒ«ćƒ€ć®äø­čŗ«ć‚’rm -rfć§å‰Šé™¤ć—ć¦ć€ć®ć‚ˆć†ć«ęŒ‡ē¤ŗć—ć¦ćæć¦ćć ć•ć„ć€‚ć€Œ[å®‰å…Øć‚¬ćƒ¼ćƒ‰]ć€ć®ćƒ”ćƒƒć‚»ćƒ¼ć‚øćŒč”Øē¤ŗć•ć‚Œć¦å‡¦ē†ćŒę­¢ć¾ć‚Œć°ć€ę­£ć—ćę©Ÿčƒ½ć—ć¦ć„ć‚‹čØ¼ę‹ ć§ć™ć€‚




    ć¤ć¾ćšćć‚„ć™ć„3ć¤ć®ćƒć‚¤ćƒ³ćƒˆćØåÆ¾ē­–


    šŸ“Œ 失敗しやすい点と対策

    惻JSONć®ę§‹ę–‡ćƒŸć‚¹ć§ćƒ•ćƒƒć‚ÆćŒčµ·å‹•ć—ćŖć„ć€€åÆ¾ē­–ćØć—ć¦ć‚Øćƒ‡ć‚£ć‚æć§čØ˜čæ°ć‚’ē¢ŗčŖć—ćŸć†ćˆć§ć€Œ/hooksć€ć‚³ćƒžćƒ³ćƒ‰ć‚’ä½æć£ć¦ē™»éŒ²ēŠ¶ę…‹ć‚’ē¢ŗčŖć™ć‚‹ć€ć¾ćŸćÆVS CodećŖć©ę§‹ę–‡ćƒć‚§ćƒƒć‚Æę©Ÿčƒ½ä»˜ćć‚Øćƒ‡ć‚£ć‚æć‚’åˆ©ē”Øć™ć‚‹ć®ćŒćŠć™ć™ć‚
    ćƒ»å¤–éƒØć‚¹ć‚ÆćƒŖćƒ—ćƒˆć‚’åˆ„ćƒ•ć‚”ć‚¤ćƒ«ć§ē”Øę„ć—ć‚ˆć†ćØć—ć¦ē’°å¢ƒć‚Øćƒ©ćƒ¼ć«ćŖć‚‹ć€€åÆ¾ē­–ćØć—ć¦ä»Šå›žē“¹ä»‹ć—ćŸć‚ˆć†ć«settings.jsonå†…ć§å®Œēµć™ć‚‹ć‚¤ćƒ³ćƒ©ć‚¤ćƒ³čØ˜ę³•ć‚’ä½æć†
    ćƒ»ć¤ć„ exit 1 ć‚’ę›øć„ć¦ć—ć¾ć„ę­¢ć¾ć‚‰ćŖć„ć€€åÆ¾ē­–ćØć—ć¦ć€Œę­¢ć‚ć‚‹ćŖć‚‰ exit 2ć€ćØć„ć†ę•°å€¤ć ć‘ć‚’å›ŗå®šćƒ«ćƒ¼ćƒ«ćØć—ć¦č¦šćˆć¦ćŠć

    特に3ć¤ē›®ćÆč¦‹č½ćØć—ć‚„ć™ć„éƒØåˆ†ć§ć™ć€‚ć€ŒčØ­å®šć—ćŸćÆćšćŖć®ć«AIć®å‰Šé™¤ćŒę­¢ć¾ć‚‰ćŖć‹ć£ćŸć€ćØć„ć†äŗ‹ę•…ć®å¤šććÆć€ć“ć®ēµ‚äŗ†ć‚³ćƒ¼ćƒ‰ć®å–ć‚Šé•ćˆćŒåŽŸå› ć§ć™ć€‚exit 2 ä»„å¤–ćÆå‡¦ē†ć‚’ę­¢ć‚ć‚‰ć‚ŒćŖć„ćØč¦šćˆć¦ćŠćć ć‘ć§ć€äŗ‹ę•…ć®ćƒŖć‚¹ć‚Æć‚’å¤§ććęø›ć‚‰ć›ć¾ć™ć€‚

    ćƒ–ćƒ­ćƒƒć‚Æć—ćŸå¾Œć€AIćÆć€Œåēœć€ć—ć¦ć‚„ć‚Šē›“ć™


    Hooksć§ć§ćć‚‹ć“ćØćÆć€å˜ć«å‡¦ē†ć‚’ę­¢ć‚ć‚‹ć ć‘ć§ćÆć‚ć‚Šć¾ć›ć‚“ć€‚exit 2 ć§å‡¦ē†ć‚’äø­ę–­ć•ć›ćŸćØćć€ęØ™ęŗ–ć‚Øćƒ©ćƒ¼å‡ŗåŠ›ć«ę›øć„ćŸćƒ”ćƒƒć‚»ćƒ¼ć‚øćÆć€ē”»é¢ć«č”Øē¤ŗć•ć‚Œć‚‹č­¦å‘Šę–‡ć§ć‚ć‚‹ćØåŒę™‚ć«ć€Claudeč‡Ŗčŗ«ćøć®ę–‡č„ˆęƒ…å ±ćØć—ć¦ćƒŖć‚¢ćƒ«ć‚æć‚¤ćƒ ć«ęø”ć•ć‚Œć¾ć™ć€‚

    ćć®ćŸć‚ć€ć„ććŖć‚Šę­¢ć‚ć‚‰ć‚ŒćŸAIćÆć€ŒćŖćœę­¢ć‚ć‚‰ć‚ŒćŸć®ć‹ć€ć‚’ē†č§£ć—ćŸć†ćˆć§ć€å‰Šé™¤ć§ćÆćŖćå®‰å…ØćŖćƒćƒƒć‚Æć‚¢ćƒƒćƒ—ćƒ•ć‚©ćƒ«ćƒ€ćøć®ē§»å‹•ć‚’ęę”ˆć™ć‚‹ćŖć©ć€ä»£ę›æę‰‹ę®µć‚’č‡Ŗć‚‰č€ƒćˆē›“ć—ć¦åÆ¾č©±ć‚’ē¶šć‘ć‚‹ć“ćØćŒć‚ć‚Šć¾ć™ć€‚å˜ćŖć‚‹é®ę–­ę©Ÿčƒ½ć§ćÆćŖćć€AIć‚’å®‰å…ØćŖę–¹å‘ćøå†ę•™č‚²ć™ć‚‹ä»•ēµ„ćæćØć—ć¦ć‚‚ę“»ē”Øć§ćć‚‹ć‚ć‘ć§ć™ć€‚

    ćŖćŠć€čŖ¤ę¤œēŸ„ć§ćƒ–ćƒ­ćƒƒć‚Æć•ć‚Œć¦ć—ć¾ć£ćŸå “åˆć‚„ć€ć©ć†ć—ć¦ć‚‚äŗŗé–“ć®åˆ¤ę–­ć§ćć®ę“ä½œć‚’å®Ÿč”Œć—ćŸć„å “åˆćÆć€AIć«å†ęę”ˆć•ć›ć‚‹ć®ć§ćÆćŖćć€äŗŗé–“ćŒē›“ęŽ„ć‚æćƒ¼ćƒŸćƒŠćƒ«ć§č©²å½“ć‚³ćƒžćƒ³ćƒ‰ć‚’å®Ÿč”Œć™ć‚‹ć€ć‚‚ć—ććÆäø€ę™‚ēš„ć«settings.jsonå†…ć®č©²å½“ę”ä»¶ć‚’ć‚³ćƒ”ćƒ³ćƒˆć‚¢ć‚¦ćƒˆć—ć¦č§£é™¤ć™ć‚‹ćØć„ć£ćŸé‹ē”Øć«ć—ć¦ćŠććØå®‰å…Øć§ć™ć€‚č§£é™¤ć—ćŸć¾ć¾ć«ć—ćŖć„ć‚ˆć†ć€ä½œę„­å¾ŒćÆåæ…ćšå…ƒć®čØ­å®šć«ęˆ»ć™ć“ćØć‚’åæ˜ć‚ŒćŖć„ć§ćć ć•ć„ć€‚

    šŸ’” ć€ä½•ćć‚Œ!?恮AIč±†ēŸ„č­˜ć€‘


    Hooks恧 exit 2 ć«ć‚ˆć£ć¦ćƒ„ćƒ¼ćƒ«ć®å®Ÿč”ŒćŒćƒ–ćƒ­ćƒƒć‚Æć•ć‚ŒćŸćØćć€ćć®ē†ē”±ć‚’čØ˜ć—ćŸęØ™ęŗ–ć‚Øćƒ©ćƒ¼å‡ŗåŠ›ć®å†…å®¹ćÆć€å˜ćŖć‚‹ē”»é¢č”Øē¤ŗē”Øć®ćƒ­ć‚°ć§ćÆć‚ć‚Šć¾ć›ć‚“ć€‚Claude Codeč‡Ŗčŗ«ćøć®ćƒ•ć‚£ćƒ¼ćƒ‰ćƒćƒƒć‚Æćƒ—ćƒ­ćƒ³ćƒ—ćƒˆćØć—ć¦ę–‡č„ˆć«ę³Øå…„ć•ć‚Œć‚‹ä»•ę§˜ć«ćŖć£ć¦ć„ć¾ć™ć€‚ć¤ć¾ć‚ŠAIćÆć€Œę€’ć‚‰ć‚ŒćŸć€ć“ćØć‚’ē†č§£ć§ćć‚‹å½¢ć§ęƒ…å ±ć‚’å—ć‘å–ć‚Šć€å®‰å…ØćŖä»£ę›æę”ˆć‚’č‡Ŗåˆ†ć§č€ƒćˆē›“ć™ć®ć§ć™ć€‚ę­¢ć‚ć¦ēµ‚ć‚ć‚Šć§ćÆćŖćć€ę­¢ć‚ćŸē†ē”±ć¾ć§ę­£ē¢ŗć«ę›øć„ć¦ćŠćć“ćØćŒć€AIćØć®å®‰å…ØćŖå”åƒć‚’ē¶šć‘ć‚‹ć‚³ćƒ„ć«ćŖć‚Šć¾ć™ć€‚

    まとめ


    AIć«ä»•äŗ‹ć‚’ä»»ć›ć¦ę™‚ēŸ­åŠ¹ęžœć‚’å¾—ć‚‹ćŸć‚ć«ćÆć€ć¾ćšć€Œå‹ę‰‹ć«å±é™ŗćŖę“ä½œć‚’ć•ć‚ŒćŖć„ć€ćØć„ć†åœŸå°ćŒåæ…č¦ć§ć™ć€‚ćƒ—ćƒ­ćƒ³ćƒ—ćƒˆć§ć®ćŠé”˜ć„ć§ćÆćŖćć€Hooksć«ć‚ˆć‚‹ć‚·ć‚¹ćƒ†ćƒ å“ć®ē‰©ē†é®ę–­ć‚’ēµ„ćæč¾¼ć‚€ć“ćØć§ć€åˆć‚ć¦å®‰åæƒć—ć¦AIć«ä½œę„­ć‚’å§”ć­ć‚‰ć‚Œć‚‹ć‚ˆć†ć«ćŖć‚Šć¾ć™ć€‚čØ­å®šćÆsettings.jsonć²ćØć¤ć§å®Œēµć§ćć‚‹ć®ć§ć€ä»Šę—„ć‹ć‚‰č©¦ć—ć¦ćæć¦ćć ć•ć„ć€‚

    ć•ć‚‰ć«ę·±ć„å®Ÿč·µćƒ†ćƒ³ćƒ—ćƒ¬ćƒ¼ćƒˆćÆć€ęœ‰ę–™ćƒžć‚¬ć‚øćƒ³ć€Žé€±åˆŠ AIä»•äŗ‹č”“ćƒ©ćƒœć€ć§å…¬é–‹ć—ć¦ć„ć¾ć™ć€‚
    šŸ‘‰ https://note.com/wise_wolf4411/m/m43c7c6cdad4fĀ 

    šŸ“š å‚č€ƒļ¼ˆå…¬å¼ęƒ…å ±ļ¼‰

    ・Automate actions with hooks:https://docs.anthropic.com/en/docs/claude-code/hooks 
    ・Hooks reference:https://docs.anthropic.com/en/docs/claude-code/hooks-reference 

    #ę„­å‹™åŠ¹ēŽ‡åŒ– #仕事蔓 #ClaudeCode #AIć‚¬ćƒćƒŠćƒ³ć‚¹ #ć‚»ć‚­ćƒ„ćƒŖćƒ†ć‚£ #č‡Ŗå‹•åŒ– #DX #ę™‚ēŸ­č”“ #ē”ŸęˆAI

    Ā 
    Ā 
    ć€čØŖå•ēœ‹č­·åø« / 動画編集 / AI怑 ē†äøå°½ćŖäŗŗé–“é–¢äæ‚ć§ēˆ¶č¦ŖćØć—ć¦ć®å°ŠåŽ³ć‚’ē •ć‹ć‚ŒćŸåœ°ē„ć®1å¹“ć€‚ē²¾ē„žēš„é™ē•Œć‚’ę•‘ć£ć¦ćć‚ŒćŸć®ćÆć€å˜˜ć‚’ć¤ć‹ćŖć„ć€ŒAIć€ćØć€Œę²”é ­ć€ć™ć‚‹ę™‚é–“ć§ć—ćŸć€‚ äŗŗē”Ÿć®ć‚³ćƒ³ćƒˆćƒ­ćƒ¼ćƒ«ć‚’å–ć‚Šęˆ»ć™ćŸć‚ć€åƒ•ćÆä»Šę—„ć‚‚PCに向かう。 é€†å¢ƒć«ć„ć‚‹äŗŗćøć€ę­¦å™Øć«ćŖć‚‹ćƒ‡ć‚øć‚æćƒ«ć‚¹ć‚­ćƒ«ć‚’ć€‚

    ć‚ćŖćŸćøć®ćŠć™ć™ć‚