Jvsl.Env.Agents.Code Server
Description
A code-server dev container for agent work: the Claude Code CLI sandboxed by default with ai-jail, opt-in ai-memory, the GitHub CLI, a nested rootless Docker daemon, and selectable tech stacks. Vendored into a monorepo as a git submodule at .code-server/
Installation
This entry records only its repository, not the path inside it, so there is no
exact command to give. Open the source below and copy the folder into
~/.claude/skills/, or the file into ~/.claude/agents/.
README
jvsl.env.agents.code-server
Reusable template for a [code-server](https://github.com/coder/code-server)-based dev container, meant to be added to a monorepo as a git submodule at `.code-server/`. It ships code-server itself, the Claude Code CLI, `ai-jail`, and a nested rootless Docker daemon already set up, plus a selectable set of tech stacks.
It is **not** an application — there's no product code here, only the tooling that builds and launches the dev environment.
Adding this to a monorepo
git submodule add https://github.com/TheHefty/jvsl.env.agents.code-server.git .code-server
The one piece of state that lives outside the submodule, at the consuming repo's own root, is `.code-server.stack.json` — the per-project stack selection, written by `setup` (see "Manifest" in [`docs/overview/setup.md`](docs/overview/setup.md) for why it can't live inside the submodule itself). See [`jvsl.monorepo.agents.template`](https://github.com/TheHefty/jvsl.monorepo.agents.template) for a reference consumer.
Quick start
.code-server/init
Checks the host — Linux desktop or WSL, and on WSL that WSLg is actually running — names anything missing and offers to install it, builds the image, builds the launcher, and leaves you a `dev`:
.code-server/dev
which rebuilds the launcher when its source has changed and opens the environment.
`cargo` is the one thing `init` will not install: a packaged Rust is usually too old for the Tauri crates and says so only as a compile error inside a dependency, so it points you at `rustup` instead.
Working on the template itself
git config core.hooksPath .githooks
Runs the fast half of CI before every push — shell syntax, the package table, the settings merge, the title bar, the launcher's tests — and refuses a push straight to `main`. The image builds stay in CI, where they cannot be skipped.
The same thing by hand
Prerequisites on the host: `jq`, `whiptail`, `docker` (for `set
Related Skills
Docker
---
DevOps Kubernetes
---
DevOps AWS Skills
AWS development with CDK best practices, cost optimization MCP servers, and serverless/event-driven architectu
DevOps Composio Split
Manage Split feature flags and experiments
DevOps **claude-code-router**
(25.3k ⭐) - Use Claude Code as the foundation for coding infrastructure, allowing you to decide how to interac
DevOps CLAUDE.md CI/CD Wiki
Community patterns for CLAUDE.md configuration in CI/CD pipelines.
DevOps