Launch HN: Haystack (YC S24) – अनंत कैनवस पर कोड को विज़ुअलाइज़ और एडिट करने की तकनीक
(github.com/haystackeditor)- Haystack Editor एक ऐसा product है जो code editor की सरलता और canvas UI को मिलाकर code को एक नज़र में समझना आसान बनाता है, और इसे इस repository में community के साथ विकसित किया जा रहा है
- repository में code और issues के अलावा roadmap भी सार्वजनिक है, और source code PolyForm Strict License 1.0.0 के तहत उपलब्ध है
- product distribution, repository base पर कुछ खास customizations जोड़कर बनाई गई है, और अलग terms of service के तहत उपलब्ध है
- features के उदाहरणों में Canvas Workspaces, Explorer View, Keyboard Navigation, Generate Function शामिल हैं, और यह व्यापक code editing, navigation, समझने में सहायता, हल्की debugging, extension model, और मौजूदा tools के साथ हल्के integration को शामिल करता है
- Haystack हर हफ्ते नए features और bug fixes के साथ update होता है, और Windows, macOS, Linux के लिए download किया जा सकता है
Haystack Editor repository की भूमिका
- यह repository वह जगह है जहाँ Haystack Software community के साथ मिलकर Haystack Editor product विकसित करता है
- code और issue work के अलावा roadmap भी सार्वजनिक है
- source code PolyForm Strict License 1.0.0 के तहत उपलब्ध है
Haystack Editor product
- Haystack Editor
Haystack Editorrepository का distribution है, जिसमें कुछ खास customizations शामिल हैं - distribution अलग terms of service के तहत release किया गया है
- product code editor की सरलता और canvas UI को मिलाकर code को एक नज़र में समझना आसान बनाता है
- support scope में ये शामिल हैं
- व्यापक code editing
- code navigation
- code समझने में सहायता
- हल्की debugging
- समृद्ध extension model
- मौजूदा tools के साथ हल्का integration
- Haystack हर हफ्ते नए features और bug fixes के साथ update होता है
- Windows, macOS, Linux के लिए download Haystack website से उपलब्ध है
Features preview
- Canvas Workspaces feature प्रदान करता है
- Explorer View feature प्रदान करता है
- Keyboard Navigation feature प्रदान करता है
- Generate Function feature प्रदान करता है
Contribution और feedback के रास्ते
- project में भाग लेने के कई तरीके हैं
- bug और feature requests submit करना
- check-in किए गए changes को verify करने में मदद करना
- source code changes review करना
- documentation review करना और typos ठीक करना या नए content जोड़ने वाले PR देना
- codebase में सीधे contribute करने के लिए How to Contribute document देखें
- source से build और run करने का तरीका
- debugging और test execution सहित development workflow
- PR submit करना
- काम करने के लिए issues ढूँढना
- feedback channels ये हैं
- Discord पर सवाल पूछना
- issue दर्ज करना
- @AkshaySubr42403 को follow कर के राय भेजना
संबंधित projects और bundled extensions
- Haystack के कई core components और extensions GitHub पर अलग repositories में हैं
- उदाहरण के लिए node debug adapter और mono debug adapter अलग-अलग repositories हैं
- एक और उदाहरण Pixi repository है
- Haystack
extensionsfolder में कई built-in extensions शामिल करता है- कई languages के लिए grammars और snippets शामिल हैं
- code completion या Go to Definition जैसी समृद्ध language support देने वाले extensions
language-featuressuffix का उपयोग करते हैं - उदाहरण के लिए
jsonextensionJSONcoloring देता है, औरjson-language-featuresextensionJSONके लिए समृद्ध language support देता है
1 टिप्पणियां
Hacker News टिप्पणियां
यह आइडिया कई दशकों से शानदार रहा है। उम्मीद है Haystack भी पहले की कई कोशिशों की तरह सफल होगा, और शुरुआती execution promising दिखता है
हालांकि कई चुनौतियां होंगी—जैसे callers/callees को समझना मुश्किल होना, या हर developer की UX preference अलग होना। मुझे हमेशा लगा है कि 2D स्क्रीन से कहीं बड़े space, जैसे VR headset वाले environment में यह और powerful हो सकता है
बहुत शानदार। मैंने कल्पना की कि किसी संगठन का पूरा codebase इसी तरह mapped हो और कई frameworks और languages के आर-पार दिखे
पता नहीं video में मुझसे छूट गया या अभी possible नहीं है, लेकिन nodes को सीधे connect करना बहुत manual काम है, इसलिए अच्छा होगा अगर कोई simple bot हो जो repository folder पर run करके visualization automate कर दे। watchlist में जोड़ लिया
मैं होता तो digital transformation कर रहे या plan कर रहे बड़े enterprise organizations या local government IT groups को target करता। क्योंकि उन्हें legacy work और new work के बीच रास्ता खोजने और meaning समझने की जरूरत होती है
अगर यह ठीक से चला, तो 1 साल के अंदर Salesforce आपसे संपर्क कर सकता है। यह उनकी vision और product suite से काफी अच्छी तरह fit होता दिखता है
उस state में यह practically usable होगा या नहीं, पता नहीं, लेकिन try करना मजेदार होगा। पूरे codebase को दिखाने वाले UML diagram जैसा, जिसमें हजारों arrows हों
तब आप किसी colleague से कह सकते हैं कि जिस file को modify करना है वह ऊपर दाईं तरफ कहीं है, और Git diff भी visually दिखेगा, इसलिए अलग-अलग जगहों पर बदले हिस्सों को zoom करके देख सकते हैं
जैसे “subscription button पर mouse से click करने के क्षण से backend तक क्या होता है” जैसे सवाल handle करना
उत्सुक हूं कि यह project Light Table से inspired था या नहीं
feature request के तौर पर चाहूंगा कि visualization 2D से आगे expand हो। सच में complex systems आमतौर पर sophisticated graphs—अच्छे शब्दों में कहें तो उलझे हुए धागों जैसी structure—होते हैं, इसलिए केवल 2D plane visualization मेरे अनुभव में काफी नहीं रहा
अच्छा होगा अगर कोई concentric sphere visualization हो, जिसमें outer layer पर boundary services और inner layer पर core/domain services हों
आपने जो 3D के करीब view की बात की, वह interesting है। इस idea पर सोचा है, लेकिन user के लिए समझने लायक तरीके से इसे सही बनाना सच में मुश्किल है। फिर भी future vision में यह definitely शामिल है
Edit: Light Table के बारे में speculation सही नहीं था, इसलिए हटाया
बड़ा side-question है, लेकिन क्या कोई representative और usable open-source infinite canvas है? मैं card game बना रहा हूं और multiplayer infinite canvas चाहिए। कोई recommendation मिले तो अच्छा होगा
अगर यह VSCode extension होता तो शायद try करता। use करके देखना चाहता हूं, लेकिन आजकल मैं Cursor में ही रहता हूं
समझना चाहता हूं कि इसे extension के रूप में क्यों नहीं बनाया जा सकता। idea सच में अच्छा है, और मैं इसे editor area के tab के अंदर perfectly imagine कर सकता हूं
तब कई Haystack tabs भी रखे जा सकते हैं, जिससे context switching बहुत आसान हो जाएगी। VSCode-based होने के बावजूद दूसरा IDE install करना थोड़ा disappointing है। फिर भी, आगे भी अच्छा काम करते रहें
Self programming language के Kansas environment की याद आती है। Sun ने 1995 में एक video बनाया था
https://www.youtube.com/watch?v=Ox5P7QyL774
इस video के बाद और भी interesting search features add हुए थे
सच में अच्छा है। बड़े codebase को देखते समय मेरी process लगभग यही होती है, लेकिन यह कहीं ज्यादा clean और organized है
आमतौर पर मैं अलग-अलग source files की तरफ इशारा करते हुए पांच-छह terminals खोलता हूं और दिमाग में map बनाने की कोशिश करता हूं। आखिरकार sense बन ही जाता है, लेकिन process कठिन होती है; ऐसा tool जबरदस्त मदद करेगा। अब बस इसे ultrawide monitor के साथ जोड़ना बाकी है
इससे दिमाग में रखने वाली चीजें कम होंगी, इसलिए मदद मिलेगी, लेकिन अभी UI में mouse dependency बहुत ज्यादा है। shortcuts बनें, और window manager dwm की तरह “tiling” हो ताकि windows का size manually adjust न करना पड़े
manual resizing के बारे में, हम viewport के अंदर tiling try कर रहे हैं। अगर आप बताएं कि किन बातों की वजह से size adjust करना पड़ता है, तो शायद हम उसे fix कर सकें
यह developers के लिए code को 2D space में फैलाकर map करने का सुविधाजनक approach लगता है। यह method of loci[1] जैसा है, जहां developer code pieces और connections को spatially finely encode करके memory मजबूत करता है और understanding भी बढ़ाता है
इसलिए मैं साहस के साथ suggest करूंगा कि unobtrusive होते हुए थोड़ी information देने वाले background pattern options add किए जाएं। मेरे पास specific pattern नहीं है, लेकिन अगर background world map हो तो user जिस location को खोजना चाहता है उसे जल्दी याद रख सकेगा और अपनी position भी जल्दी समझ सकेगा
इसी सोच के extension में, user-defined tab border colors या हर tab में अलग noise add करने की सुविधा पर भी विचार किया जा सकता है। noise zoom level और viewport center से distance के हिसाब से fade हो सकता है
https://en.wikipedia.org/wiki/Method_of_loci
subtle color differences या sound use करने का idea भी interesting है। इस पर सोचेंगे