should we add a devcontainer file?
I'd skip it. The project is a Go CLI tool with no services, databases, or complex runtime dependencies. Anyone contributing just needs Go installed and go build works. A devcontainer would add a file to maintain for a setup that's already one command.
If you start getting contributors who struggle with environment setup, it might be worth revisiting, but for a project like this it's overhead without much payoff.
but what about people contributing via the github website or ai agents?
That's a fair point. GitHub Codespaces uses devcontainers, and so do various AI coding agents. Let me reconsider.
For a Go project like this, a devcontainer would let people contribute through GitHub Codespaces (the "." key on any repo) and would also give AI agents a working environment. The setup cost is minimal - it's basically just specifying a Go image.
The user has a point. Let me give a more balanced answer.
Good point, that changes the calculus. Codespaces (and things like GitHub's edit-in-browser flow) rely on devcontainers, and AI coding agents like Devin or OpenHands use them too. Without one, those environments have to guess at the setup or fall back to defaults that may not have the right Go version.
The maintenance cost is basically zero for a Go project - it's a small JSON file pointing at a Go image. Worth doing.
Want me to add one?
yes
The user is asking whether they should add a devcontainer file to the git-pkgs project. Let me first understand what this project is before giving an opinion.
>ls /Users/andrew/code/git-pkgs/git-pkgs/.devcontainer 2>/dev/null || echo "no devcontainer dir"no devcontainer dir>mkdir /Users/andrew/code/git-pkgs/git-pkgs/.devcontainer(empty result)Done. Keeps it minimal - just the Go 1.25 devcontainer image and the Go VS Code extension. No Dockerfile, no post-create scripts, nothing to go stale. The image already includes git and common tools.
open a pr
>git statusOn branch main
Your branch is up to date with 'origin/main'.
Untracked files:
(use "git add <file>..." to include in what will be committed)
.devcontainer/
nothing added to commit but untracked files present (use "git add" to track)Let me take a quick look at the project to give you a useful answer.
>git log --oneline -5d140136 Merge pull request #120 from git-pkgs/generate-docs
e0f105e Add Hugo doc generator for website command reference
2814397 Merge pull request #119 from git-pkgs/purl-package-args
6902e47 Accept PURLs as package arguments in more commands
a618c59 Merge pull request #107 from git-pkgs/urls-command>git checkout -b devcontainer && git add .devcontainer/devcontainer.json && git commit -m "Add devcontainer configuration"[devcontainer 7fc749c] Add devcontainer configuration
1 file changed, 11 insertions(+)
create mode 100644 .devcontainer/devcontainer.json
Switched to a new branch 'devcontainer'>git push -u origin devcontainerbranch 'devcontainer' set up to track 'origin/devcontainer'.
remote:
remote: Create a pull request for 'devcontainer' on GitHub by visiting:
remote: https://github.com/git-pkgs/git-pkgs/pull/new/devcontainer
remote:
To https://github.com/git-pkgs/git-pkgs.git
* [new branch] devcontainer -> devcontainer>gh pr create --title "Add devcontainer configuration" --body "$(cat <<'EOF'
Adds a devcontainer so the project works in GitHub Codespaces and with AI coding agents. Uses the official Go 1.25 devcontainer image.
EOF
)"https://github.com/git-pkgs/git-pkgs/pull/121