ArrayKit

Hooks Builder

Event hooks banaiye aur un matchers ko pakadiye jo kabhi chalte hi nahi.

Hooks Builder

Event hooks banaiye aur un matchers ko pakadiye jo kabhi chalte hi nahi.

Hook commands aksar internal scripts aur paths batate hain. Sab kuchh browser mein banta hai aur kahin nahi bheja jaata.

Dekhiye wo tools kya chala sakte hain

Hooks Builder ke baare mein

Hooks session ke tay bindu par shell commands chalate hain: file likhe jaane ke baad, kisi tool ke chalne se pehle, baari khatam hone par. Ye configuration ka iklauta hissa hai jo har baar poochhe bina code chalata hai, isliye iski chupchaap hone wali failures pakadna saarthak hai. Jis matcher mein maujood hi na hone wale tool ka naam hai, wo kabhi nahi chalta aur shikayat bhi nahi karta. Jo command koi argument dhoondhta hai use khaali string milti hai, kyunki event standard input par JSON ke roop mein aati hai, arguments ke roop mein nahi. Aur jo hone wala hai use sach mein rok paane ki kshamta kuchh hi events mein hai. Ye builder teenon baatein sambhaalta hai aur batata hai ki kaun-si events rok sakti hain aur kaun-si sirf dekhti hain.

Features

  • Har event, aur wo kis par chalti hai
  • Matchers asli tool names se milaye jaate hain, case samet
  • Jis event ka koi tool nahi us par matcher laga ho to warning
  • Command aise arguments dhoondhe jo use milenge hi nahi, to warning
  • Kaun-si events kaarywahi rok sakti hain aur kaise
  • Aam matchers ek click mein
  • Kai hooks event aur matcher ke hisaab se sahi dhang se grouped
  • Bina nigrani chalne se pehle vinashkari command dikhata hai

Hooks Builder kaise use karein

  1. Jis event par dakhal dena hai wo chuniye
  2. Event kisi tool se judi ho to matcher jodiye
  3. Standard input se payload padhne wala command likhiye
  4. Warnings padhiye aur output settings.json mein jodiye

Example

Input

prettier --write "$1"

Output

Warning: $1 will be empty — a hook is not given arguments

Event pipe se JSON ke roop mein aati hai; use jq se padhiye.

Common errors aur troubleshooting

  • Hook kabhi chalta hi nahi. — Aam taur par matcher. Tool names capital se shuru hote hain aur case-sensitive hain — Write, write nahi — aur na maujood naam chupchaap kisi se nahi milta.
  • Command chalta hai par input nahi milta. — Hook ka input standard input par JSON ke roop mein aata hai. Argument ki ummeed karne ke bajaye jq -r '.tool_input.file_path' jaisi cheez se padhiye.
  • Mera hook tool ko rok nahi paata. — Ye kuchh hi events kar sakti hain, aur sirf status 2 se bahar nikalkar. Baaki sab "chalte raho" maana jaata hai, aur PostToolUse jaisi events waise bhi baad mein chalti hain.
  • Session mere hook par atak jaata hai. — Timeout tay kijiye. Jo hook kisi cheez ka intezaar karta hai — network call, koi lock — wo utni der poore session ko roke rakhta hai.

Aksar pooche jaane wale sawaal

Formatter ke liye kaun-si event lein?
Likhne wale tools par matcher ke saath PostToolUse, taaki wo tab chale jab file maujood ho. Likhne se pehle format karne ko kuchh hota hi nahi.
Hook ko event kaise milti hai?
Standard input par JSON ke roop mein: tool ka naam, uska input aur aaspaas ka context. Command-line argument ke roop mein kuchh nahi diya jaata, isiliye $1 ke ird-gird likhe command ko kuchh nahi milta.
Kya hook kisi tool ko chalne se rok sakta hai?
Uske chalne se pehle, haan: status 2 se bahar nikalna rok deta hai. Kaun-si events ye karne deti hain, ye chunte hi dikh jaata hai, kyunki baad mein chalne wali event se rokne ki koshish aam bhi hai aur uljhane wali bhi.
Kya hooks bina poochhe chalte hain?
Haan — yahi unka maqsad hai aur yahi wajah ki koi bhi hook jodne se pehle use dhyan se padhna chahiye. Files mitane wala hook yahaan dikhaya jaata hai, par aam niyam yahi hai ki is file ki har cheez bina nigrani chalti hai.
Kya ek event par kai hooks ho sakte hain?
Haan. Jinki event aur matcher ek hain wo output mein ek saath grouped hote hain — configuration file yahi aakaar chahti hai.

Related tools

AI aur agents ke aur tools

AI aur agents ke sabhi tools dekhein · Saare tools