feat: add Bun, Python, Ruby, and Go to devcontainer features#67
feat: add Bun, Python, Ruby, and Go to devcontainer features#67
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Co-authored-by: marcelocra <2532492+marcelocra@users.noreply.github.com>
|
@copilot Review this PR and tell me whether it is still up to date and relevant or not. |
Reviewed against the current Up to date: The diff applies cleanly. None of the four features (bun, python, ruby, go) have landed on Still relevant: The original motivation (multi-language dev container) holds — Minor things worth considering before merging (not blockers):
If you'd like, I can push a follow-up commit bumping Go to |
Greptile SummaryThis PR expands the DevMagic devcontainer from a TypeScript/Node.js-only setup to a multi-language environment by enabling Bun, Python 3.12, Ruby 3.4, and Go 1.23 as devcontainer features, and removes the now-redundant commented-out stubs for the three official-namespace features. The JSONC structure is valid and all official-namespace features pin explicit versions; only Bun uses Confidence Score: 4/5Safe to merge; only a non-critical version-pinning inconsistency for Bun. Only a single P2 finding (unpinned Bun version) with no logic errors, security issues, or JSON validity problems. P2-only ceiling is 4/5. .devcontainer/devcontainer.json — pin the Bun version before merging if reproducible builds matter. Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A["Base Image\ntypescript-node:24-bookworm"] --> B[devcontainer build]
B --> C["common-utils:2\n(zsh default shell)"]
B --> D["git-lfs:1\n(autoPull: false)"]
B --> E["git:1"]
B --> F["github-cli:1"]
B --> G["bun:1 ⚠️ latest\n(rails namespace)"]
B --> H["python:1\nv3.12"]
B --> I["ruby:1\nv3.4"]
B --> J["go:1\nv1.23"]
B --> K["postCreateCommand\ncurl devmagic.run/setup | bash"]
Reviews (1): Last reviewed commit: "feat: add Bun, Python, Ruby, and Go feat..." | Re-trigger Greptile |
| "ghcr.io/rails/devcontainer/features/bun:1": { | ||
| "version": "latest" | ||
| }, |
There was a problem hiding this comment.
Bun version is unpinned (
"latest")
Unlike the other three features in this PR (Python 3.12, Ruby 3.4, Go 1.23), Bun uses "version": "latest", which is non-deterministic. Two developers rebuilding the container at different times could get different Bun versions, leading to inconsistent toolchain behaviour. Pin a specific version for reproducibility.
| "ghcr.io/rails/devcontainer/features/bun:1": { | |
| "version": "latest" | |
| }, | |
| "ghcr.io/rails/devcontainer/features/bun:1": { | |
| "version": "1.2.3" | |
| }, |
There was a problem hiding this comment.
Pull request overview
Expands the DevMagic dev container configuration to support additional runtimes beyond Node.js/TypeScript by enabling Bun, Python, Ruby, and Go via Dev Container features.
Changes:
- Added Bun, Python, Ruby, and Go features (with specified versions) to
.devcontainer/devcontainer.json. - Removed redundant commented-out stubs for Python/Ruby/Go features.
| // Bun JavaScript runtime (borrowing from the Rails devcontainer repository). | ||
| "ghcr.io/rails/devcontainer/features/bun:1": { | ||
| "version": "latest" |
|
|
||
| // Bun JavaScript runtime (borrowing from the Rails devcontainer repository). | ||
| "ghcr.io/rails/devcontainer/features/bun:1": { | ||
| "version": "latest" |
Expands DevMagic's dev container from a Node.js/TypeScript-only environment to a multi-language setup by enabling four additional runtime features.
Changes
.devcontainer/devcontainer.jsonghcr.io/rails/devcontainer/features/bun:1(latest)ghcr.io/devcontainers/features/python:1(3.12)ghcr.io/devcontainers/features/ruby:1(3.4)ghcr.io/devcontainers/features/go:1(1.23)Original prompt
This pull request was created from Copilot chat.
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.