clenv – Claude Code प्रोफ़ाइल मैनेजर
(github.com/Imchaemin)Claude Code को जितना ज़्यादा इस्तेमाल किया, उतना ही महसूस हुआ कि skills, MCP वगैरह जैसी settings को मैनेज करना लगातार कठिन होता जा रहा है। पहले मुझे लगता था कि बस वे skills और MCP settings, जो सभी development environments पर समान रूप से लागू हों, user level पर रख देना काफी होगा। लेकिन धीरे-धीरे मुझे लगा कि कंपनी में FE डेवलपर के रूप में और side project में full-stack डेवलपर के रूप में मेरी settings आपस में मिलती-जुलती जा रही हैं.
हर repository के लिए project settings हर बार अलग से करनी पड़ती थीं, marketplace और plugin-आधारित चीज़ों में उपयोग करना है या नहीं उसके अनुसार settings करनी पड़ती थीं, और experimental settings आज़माकर फिर हटाने की प्रक्रिया भी काफ़ी झंझट भरी थी..
सिर्फ़ असुविधा से आगे बढ़कर, Agent के साथ development करते हुए मुझे यह भी लग रहा है कि एक डेवलपर के रूप में मेरी personas भी लगातार बढ़ रही हैं।
मुझे लगता है कि मेरे द्वारा निभाई जा सकने वाली भूमिकाएँ जितनी विविध होंगी, personas का विविध होना उतना ही स्वाभाविक है, और मुझे लगा कि मुझे एक ऐसी प्रणाली चाहिए जो इन personas को स्पष्ट रूप से अलग और isolated रख सके।
nvm या pyenv की तरह, क्या Claude Code environment को भी profiles के बीच switch नहीं किया जा सकता?
यही विचार clenv बना।
मुख्य implementation: symbolic link
~/.claude को एक वास्तविक directory की जगह symbolic link बनाया जाता है, और यह link जिस target की ओर इशारा करता है उसे बदल दिया जाता है। Claude Code ~/.claude को वैसे ही पढ़ता है, लेकिन वास्तविकता में वह बिल्कुल अलग directory होती है। हर profile directory को git repository के रूप में initialize किया जाता है ताकि बदलावों का इतिहास मैनेज किया जा सके।
क्योंकि यह Claude Code environment खुद मैनेज करने वाला tool है, इसलिए इसका Claude Code से पूरी तरह स्वतंत्र रूप से काम करना ज़रूरी था, और मुझे लगा कि इसे brew के ज़रिए install और manage करना अच्छा रहेगा।
GitHub: https://github.com/Imchaemin/clenv
implementation process का विस्तृत विवरण (trial and error सहित): https://blog.chaemin.im/clenv
2 टिप्पणियां
मुझे भी इसकी ज़रूरत महसूस हो रही थी और मैं इस पर काम कर रहा था, धन्यवाद।
ओह, धन्यवाद!!