← ClaudeAtlas

gen-devcontainerlisted

Generate a `.devcontainer/devcontainer.json` keyed to the project's primary language so `gh codespace create` (or VS Code's "Reopen in Container") gives anyone on the team a ready-to-go env with the right runtime, GH CLI, git-lfs, and language-tier VS Code extensions pre-installed. Preview-by-default; idempotent on apply (no-op on identical bytes, diff-and-refuse on divergence unless `--force-overwrite`). TRIGGER when the user says "add a devcontainer", "set up codespaces", "scaffold devcontainer.json", "reopen in container", "configure dev environment", "containerized dev env", "make this work in codespaces", "add VS Code container", "wire up devcontainer", "/nyann:gen-devcontainer". Also trigger when a user asks "how do I run this in Codespaces" and there's no `.devcontainer/` directory yet. Do NOT trigger on "build a Docker image for production" — that's a Dockerfile concern outside devcontainer scope. Do NOT trigger on "fix my devcontainer build" — that's debugging an existing setup, not generating one (r
thettwe/nyann · ★ 5 · Code & Development · score 80
Install: claude install-skill thettwe/nyann
# gen-devcontainer Wraps `bin/gen-devcontainer.sh`. Emits a devcontainer.json; preview- by-default; idempotent on apply. ## When to trigger - User wants a Codespaces-ready repo and there's no `.devcontainer/` directory yet. - User wants to refresh an existing devcontainer.json after upgrading nyann (base image tags + extension lists shift with the `snapshot_version` comment in the file). - User wants to add forwarded ports / cpus / memory to an existing devcontainer (use `--port 3000 --cpus 4 --memory 8gb`). ## When NOT to trigger - User wants a **production Dockerfile** — that's an entirely different concern; devcontainer.json is dev-environment only. - User wants to **debug** a broken devcontainer build — open the existing file with them; this skill generates fresh, not diagnoses. - User is on a non-Codespaces, non-VS Code editor — the file still works under JetBrains' Dev Containers plugin and `devcontainer open` (CLI), but flag the broader VS Code-first defaults. ## Picking the language Read `StackDescriptor.primary_language` from `bin/detect-stack.sh`: | StackDescriptor.primary_language | --language | |---|---| | `typescript` / `javascript` | `node` | | `python` | `python` | | `go` | `go` | | `rust` | `rust` | | `dart` | `dart` | | `java` / `kotlin` | `java` | | `csharp` / `dotnet` | `dotnet` | | `php` | `php` | | `ruby` | `ruby` | | `swift` | `swift` | | `elixir` | `elixir` | | `cpp` / `c` | `cpp` | For polyglot monorepos (`workspaces[]` present