Skip to content

feat: optional .NET SDK install (Desktop & Server)#19

Open
brunovicenteb wants to merge 6 commits into
promovaweb:mainfrom
brunovicenteb:main
Open

feat: optional .NET SDK install (Desktop & Server)#19
brunovicenteb wants to merge 6 commits into
promovaweb:mainfrom
brunovicenteb:main

Conversation

@brunovicenteb
Copy link
Copy Markdown

Summary

This PR adds an optional .NET SDK installation path to SetupVibe Desktop and Server, controlled by CLI flags, with Linux (APT + fallback script) and macOS (dotnet-install.sh) support. It also fixes line endings for shell scripts, improves roadmap / final summary labels when .NET is requested or already present, and bumps documentation and version metadata.

What’s included

.NET installation

  • --install-dotnet — installs the .NET SDK with default channel aligned to .NET 10 (LTS).
  • --install-dotnet=8|9|10 — installs the chosen major SDK series.
  • Server: flag is compatible with existing --manager (any order).
  • Linux: Microsoft APT repo via packages-microsoft-prod when possible; fallback to official dotnet-install.sh to ~/.dotnet.
  • macOS (Desktop): SDK via dotnet-install.sh under ~/.dotnet.
  • Execution point: Desktop — end of step 5 (Languages); Server — start of step 7 (before Node / AI CLI tools).

Shell environment

  • conf/zshrc-*.zsh: if ~/.dotnet exists, sets DOTNET_ROOT and extends PATH (~/.dotnet, ~/.dotnet/tools).

Roadmap & installation summary

  • update_steps_dotnet_labels() runs before the interactive roadmap so step titles reflect .NET when:
    • --install-dotnet is passed, or
    • an existing dotnet is detected (paths such as ~/.dotnet/dotnet, /usr/bin/dotnet, /usr/share/dotnet/dotnet, plus bash -c with PATH including snap/bin — avoids fragile bash -l / missed APT installs).

Repository hygiene

  • .gitattributes: *.sh text eol=lf so Bash on Linux/macOS does not hit $'\r': command not found.
  • Shell scripts normalized to LF where needed.

Versioning & docs

  • Version bumped (current: v0.41.9 in scripts and synced docs).
  • CHANGELOG.md entries for the feature, roadmap labels, and .NET detection fix.
  • README, docs/**, AGENTS.md / CLAUDE.md / GEMINI.md updated for flags, behaviour, and version.

How to test

Desktop (local clone):

bash desktop.sh --install-dotnet
bash desktop.sh --install-dotnet=8

Server:

bash server.sh --install-dotnet
bash server.sh --manager --install-dotnet

Piped install:

curl -sSL desktop.setupvibe.dev | bash -s -- --install-dotnet

After install: dotnet --version and confirm roadmap / summary show the .NET note when applicable.

WSL / clean machine: reset distro or use a fresh VM to re-run the full flow.

Add --install-dotnet and --install-dotnet=8|9|10 to desktop.sh and server.sh (default .NET 10), APT path with dotnet-install fallback, zsh PATH for ~/.dotnet, docs and version bump to v0.41.7. Add .gitattributes (eol=lf for *.sh) and normalize shell scripts to LF.

Made-with: Cursor
Update STEPS titles via update_steps_dotnet_labels() before show_roadmap_and_wait on desktop (step 5) and server (AI CLI Tools). Bump version to v0.41.8, CHANGELOG, and docs.

Made-with: Cursor
Probe ~/.dotnet, /usr/bin/dotnet, and /usr/share/dotnet/dotnet; use bash -c with snap/bin in PATH instead of bash -l. Bump version to v0.41.9 and update CHANGELOG and docs.

Made-with: Cursor
Consolidate CHANGELOG into one v0.41.7 release; align desktop.sh, server.sh, and documentation (remove intermediate v0.41.8/v0.41.9 version strings).

Made-with: Cursor
@brunovicenteb brunovicenteb marked this pull request as draft April 18, 2026 15:49
@brunovicenteb brunovicenteb marked this pull request as ready for review April 18, 2026 15:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant