feat(devcont): #365 mise task runner for dev#366
Conversation
Introduce mise as a shared task layer (restore/build/test/run/watch) so VS Code, terminal-based editors, and CI all use the same commands against Redux.slnx. The devcontainer now uses the official devcontainers/dotnet image and a post-create script installs mise, trusts the repo config, and warms the NuGet cache automatically. Publish port 27000 so the API is reachable from the host without relying on VS Code's port forwarding, enabling terminal-only editors like neovim to work with the container via the devcontainer CLI. Update Readme and CONTRIBUTING to document the dev container as the recommended setup path, reducing onboarding friction and keeping local environments consistent with CI.
|
|
| # so C#, Python, and JS repos share the same commands. | ||
| # | ||
| # There is intentionally NO [tools] section: the .NET 10 runtime is provided by the | ||
| # devcontainer base image, not mise. mise is the task layer only. See CLAUDE.md |
There was a problem hiding this comment.
your claude is showing...
wrigjl
left a comment
There was a problem hiding this comment.
I haven't actually run this, but I did read it.
| description = "Run the API on http://localhost:27000 (Development + Swagger)" | ||
| # Bind via ASPNETCORE_URLS, NOT `--urls`: `dotnet run` treats `--urls` as an unknown | ||
| # run option and exits before the app starts. 0.0.0.0 so the published port is reachable. | ||
| env = { ASPNETCORE_URLS = "http://0.0.0.0:27000" } |
There was a problem hiding this comment.
This is probably fine in a container, but we need to fix the use of 0.0.0.0 outside of containers so that folks aren't opening up dev stuff on their LAN.
There was a problem hiding this comment.
Yeah this is all meant for container usage
| "image": "mcr.microsoft.com/dotnet/sdk:10.0", | ||
| "features": { | ||
| "ghcr.io/devcontainers/features/common-utils:2": { | ||
| "username": "vscode", |
There was a problem hiding this comment.
I hate running stuff as root, even in a container, which is why this was in there.
There was a problem hiding this comment.
I am agnostic on this, we can switch it back.
| "extensions": ["ms-dotnettools.csharp"] | ||
| } | ||
| }, | ||
| "postStartCommand": "if [ \"$(stat -c %U /workspaces/Redux)\" != \"vscode\" ]; then sudo chown -R vscode:vscode /workspaces/Redux; fi", |
There was a problem hiding this comment.
And this was in there because of line 6.
|
I don't know that mise actually buys us anything on this single repo. CI, command line, and vscode were using the same command line (dotnet {watch|run|build|test)). I'm meh whatever on this one. |
Introduce mise as a shared task layer (restore/build/test/run/watch) so VS Code, terminal-based editors, and CI all use the same commands against Redux.slnx. The devcontainer now uses the official devcontainers/dotnet image and a post-create script installs mise, trusts the repo config, and warms the NuGet cache automatically.
Publish port 27000 so the API is reachable from the host without relying on VS Code's port forwarding, enabling terminal-only editors like neovim to work with the container via the devcontainer CLI.
Update Readme and CONTRIBUTING to document the dev container as the recommended setup path, reducing onboarding friction and keeping local environments consistent with CI.