
Show HN: Designing package namespacing for a new language (Coi)Hey HN, I'm building Coi, a component-based language that compiles to WASM, JS, CSS and HTML with O(1) reactivity (no virtual DOM).I just shipped a built-in package manager, but the interesting part wasn't the implementation, it was all the ecosystem design questions I'd never thought about as a user of package managers.The problem I kept circling: how do you handle naming? Global names like auth or json seem fine until someone squats them. First-come-first-served creates perverse incentives. Reputation systems are easy to game early on. I went back and forth for longer than I'd like to admit.I went through a few approaches:Blocklist common names: reserve things like auth, json, http so people are forced into more specific names. Feels clean in theory, but who decides the list? And it doesn't really scale, someone will always find the next generic name you didn't think to block.Go's approach: just use GitHub URLs directly as the package identifier. No registry needed, no naming wars. I
