एक codebase अंदर। दो handbooks बाहर — एक आपकी टीम पढ़ती है, एक से आपका agent रास्ता निकालता है।
आपका coding agent किसी symbol को grep करता है, जो सात जगहें मायने रखती हैं उनमें से तीन ढूँढता है, और आधा-अधूरा बदलाव ship कर देता है। यह reasoning की विफलता नहीं, routing की विफलता है। Handbooks उसे नक़्शा थमा देता है।
# पूरी pipeline, offline, बिना API key, ~30 सेकंड
pnpm install && pnpm build
pnpm demoसाथ में आया sample project, साथ में आया mock LLM। ख़र्च हुए tokens: शून्य।
सात commands, एक loop
टील रंग के steps deterministic हैं — न LLM, न network, CI में जितनी बार चाहें मुफ़्त चलाइए। एम्बर रंग के steps आपके endpoint से बात करते हैं, और जो सीखते हैं उसे cache कर लेते हैं।
- 1
analyzeबिना LLMहर file को typed call graph में parse करता है।
- 2
generateLLMCards, stages, prose, और cross-stage state।
- 3
renderबिना LLMMarkdown, HTML, agent index, llms.txt।
- 4
skillबिना LLMआपके coding agent के लिए इसे package करता है।
- 5
planLLMएक बदलाव को byte-exact edits में बदल देता है।
- 6
applyबिना LLMसब-या-कुछ-नहीं patch, rollback के साथ।
- 7
resyncLLMHandbooks को आगे बढ़ाता है। कोई rebuild नहीं।
- हर phase कैसे काम करता है →
आप जो पढ़ते हैं उस पर भरोसा क्यों कर सकते हैं
Facts parser से आते हैं
tree-sitter call graph बनाता है: functions, resolved edges, बाउंड्री कॉल, और वे calls जो resolve नहीं हो सकीं — वे quarantine में जाती हैं, उनके बारे में कभी अंदाज़ा नहीं लगाया जाता। यह layer कभी LLM को नहीं छूती, इसलिए हर run में एक जैसी रहती है।
Prose ऊपर की परत है, और यह कहती भी है
कोई file किसलिए है और कोई subsystem आपस में कैसे जुड़ा है, यह LLM लिखता है — हमेशा graph से बँधा हुआ। जहाँ वह विफल होता है, वहाँ भी structure ship होता है, बस description ख़ाली रहती है। गढ़े हुए वाक्य से छूटा हुआ वाक्य बेहतर है।
Routing के लिए बना है, पढ़ने के लिए नहीं
Output इस सवाल का जवाब देता है — “इस बदलाव को किन files, functions और state को छूना पड़ेगा?” — उन बिखरे और ग़ैर-ज़ाहिर हिस्सों समेत जो text search से छूट जाते हैं। इसके बाद planner हर address पर असली source पढ़ता है।
Apply करना जान-बूझकर उबाऊ है
Anchor का match byte-exact और अनोखा होना ज़रूरी है। कुछ भी लिखे जाने से पहले सब कुछ verify हो जाता है। छुई गई हर file का backup, patch से पहले के hash के साथ बनता है — ताकि rollback साबित कर सके कि वह क्या बहाल कर रहा है।
यह incremental ढंग से current रहता है
Resync पुराने graph का नए से diff करता है और सिर्फ़ वही regenerate करता है जो वाक़ई बदला। तीन files छुइए, तीन files की क़ीमत चुकाइए। Documentation सड़ना बंद कर देता है, क्योंकि उसे update करना महँगा रहा ही नहीं।
और यह अपनी सीमाएँ भी बता देता है
Config-driven analyzer से पढ़ी गई भाषाओं का overview में नाम लिया जाता है, ताकि “best-effort call relations” को कभी “exact” न पढ़ लिया जाए।
Analysis fidelity →एक run। छह shipping formats।
Generation ही महँगा हिस्सा है, और वह एक ही बार होता है। नीचे का सब कुछ deterministic re-render है, जिसे आप हर commit पर चला सकते हैं।
Markdown handbook
overview · index · हर stage का एक page · state-register table
Multi-page HTML site
sticky TOC, breadcrumbs, theme toggle — file:// पर भी चलती है
एक self-contained page
एक अकेली .html, जिसे email करें या ticket में attach कर दें
Agent locator index
duty · entry concepts · state · exemplars · co-change hints
llms.txt + llms-full.txt
llms.txt convention, और साथ में पूरी handbook flattened
Agent SKILL package
SKILL.md + references/ + हर file का एक content hash
उस मुफ़्त command से शुरुआत कीजिए
handbook analyze को कभी API key की ज़रूरत नहीं पड़ती। इसे अपनी repo पर चलाइए, files और functions की गिनती देखिए, और तय कीजिए कि बाक़ी हिस्सा एक token ख़र्च करने लायक़ है या नहीं।