You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Native module catalog: Starship / Oh My Posh coverage audit and prioritized ports #364
Turn the broad #305 Native module ecosystem into a finite, evidence-backed catalog-coverage pass. Do not chase a fictional 600-module parity target or duplicate external providers.
Current baseline
On release/v0.18.0, src/context/modules.ts declares 10 built-in module IDs and seven src/context/packs/builtin/*.json packs contribute 25 module definitions (35 native/pack entries total at that ref). This is not a measurement of every fact, provider feature or optional external configuration. Recount after upstream changes.
Starship and Oh My Posh have wider catalogs; count and map meaningful functions, not aliases or formatting-only entries. Both are already supported as external prompt providers in NMSh.
Scope
Build a matrix: upstream module/segment → NMSh native/core capability, bundled pack, generic-toolchain coverage, external provider only, missing, intentionally excluded. Cite upstream official docs and exact NMSh implementation. Note provider/config differences and false equivalences.
Prioritize real gaps: additional language/runtime families (Ruby, PHP, Swift, Kotlin, Dart/Flutter, Lua, Zig, .NET, Elixir, etc.); build/package tools (Gradle/Maven/CMake/Bazel); Conda/Pixi/Nix and additional environments; useful VCS cases including Jujutsu. Choose based on use cases and safe local evidence.
Native capabilities must remain demand-driven, bounded, cached, private and non-executable by default. Adding a first-party capability requires source/permission review, hostile-workspace fixtures, and clear provenance. Never run repo-provided binaries or scripts merely to populate a prompt.
Keep native module UX focused: /modules and existing surfaces, conditional visibility, compact fallback, accurate unavailable/unknown states.
Evaluate upstream format/theme import as a separate feature under #304, not an automatic conversion of arbitrary templating or shell hooks.
Acceptance
Publish dated, sourced coverage matrix and identify what NMSh actually supports today.
Rank high-value, distinct additions in small coherent slices; defer lower-value duplications explicitly.
Add/extend capabilities with dedicated tests and documentation only after review of sources and safety; no arbitrary code execution.
Progress in v0.20.0: .NET, Swift, Zig, Deno, Elixir, Dart and Flutter runtimes (plus Ruby and PHP), one build module (Bazel, Gradle, Maven, CMake, Meson, Make) and Mercurial/Jujutsu state shipped (#370, #372–#374). The coverage matrix this issue asks for is not done, so it stays open.
v0.21: #417 adds Bun (.bun-version, package.json packageManager/engines, install location), Nix shell (IN_NIX_SHELL) and container (marker files, Codespaces/dev container variables), with hostile-workspace tests; nothing is run. The coverage matrix has a dated v0.21 review: Kotlin/Scala, Lua and Haskell stay candidates, with reasons.
Activity
Pins and recipes: keep commands and queue sequences deliberately; pla…
raiseCatError commentedon Oct 18, 2026
Progress in v0.20.0: .NET, Swift, Zig, Deno, Elixir, Dart and Flutter runtimes (plus Ruby and PHP), one
buildmodule (Bazel, Gradle, Maven, CMake, Meson, Make) and Mercurial/Jujutsu state shipped (#370, #372–#374). The coverage matrix this issue asks for is not done, so it stays open.raiseCatError commentedon Oct 18, 2026
v0.21: #417 adds Bun (
.bun-version,package.jsonpackageManager/engines, install location), Nix shell (IN_NIX_SHELL) and container (marker files, Codespaces/dev container variables), with hostile-workspace tests; nothing is run. The coverage matrix has a dated v0.21 review: Kotlin/Scala, Lua and Haskell stay candidates, with reasons.Merge pull request #417 from raiseCatError/feature/v021-modules