Hardened Kotlin 2.1+ Development Container for AI Agents
Modern Kotlin container preloaded with kotlinc, OpenJDK 21, Gradle, Maven, Kotlin Language Server, 4-pane TMUX IDE, and stdio Model Context Protocol (MCP) server.
// src/main/kotlin/dev/Pipeline.kt · Kotlin 2.1 Coroutines
sealed interface Event {
data class Message(val topic: String, val body: String) : Event
data object Heartbeat : Event
}
suspend fun processEvents(flow: Flow<Event>): Result<Summary> = coroutineScope {
val total = flow.filterIsInstance<Event.Message>()
.map { it.body.length }
.reduce { acc, len -> acc + len }
Result.success(Summary(bytes = total))
}Engineered for Kotlin Developers & Terminal AI Agents
Full Kotlin 2.1+ toolchain powered by OpenJDK 21, Gradle, KLS language server, and native MCP container tooling.
Kotlin 2.1+ Toolchain
Pre-installed with kotlinc, kotlin CLI, OpenJDK 21, Gradle, Maven, and Kotlin Language Server.
4-Pane TMUX IDE (Prefix + i)
Dedicated split layout with File Tree Explorer, Neovim (KLS + Treesitter), bash shell, and AI Agent pane.
Parallel AI Task Worktrees (muxtree)
Automate Git worktrees paired with separate TMUX sessions for concurrent multi-agent and human feature branches.
Model Context Protocol (MCP)
Stdio JSON-RPC 2.0 interface exposing Gradle/Maven test execution and repository diagnostics to Claude Code and Cursor.
Quick Start in 30 Seconds
Disposable developer environment running anywhere Docker or Podman runs.
# 1. Clone the repository
git clone https://github.com/sebastienrousseau/kotlindev.git
cd kotlindev
# 2. Build and launch 4-pane TMUX IDE
make up
# 3. Mobile WebTTY (port 7681) & Mosh roaming
make web
make mosh
Core Developer Capabilities
A terminal-first Kotlin 2.1+ environment with the modern CLI tooling already wired up.
OSC 52 Universal Clipboard
Copy from Neovim or TMUX straight to your local clipboard over SSH, WebTTY, or Mosh — no X11 forwarding, no helper daemon.
Floating TUI Modals
Prefix + g opens Lazygit and Prefix + d opens Lazydocker as floating popups over your work, then disappear.
Pre-Configured Modern CLI Suite
ripgrep, fd, bat, eza, fzf, jq, curl, git and zsh with autosuggestions and syntax highlighting, configured on first boot.
Deterministic Reproducibility
Pinned tool versions, an immutable root filesystem, and hermetic builds verified by the CI test suite.
AI Coding Agent Architecture
Press Prefix + i for a four-pane TMUX workspace: explorer, editor, shell, and a dedicated AI agent terminal, laid out in the proportions below.
Left Panel (20% W)
Intelligent project explorer (langdev-explorer, yazi) with visual Git branch status.
Center-Top (56% W, 70% H)
Editor pane loaded with Neovim and Kotlin Language Server (KLS).
Center-Bottom (56% W, 30% H)
Integrated bash terminal with Kotlin, OpenJDK 21, Gradle, and Maven on PATH.
Right Panel (24% W)
Dedicated AI Agent terminal (Claude Code, Agy, Aider, Ollama).
Every pane is a real TMUX pane — detach, resize, or drive it from a script like any other session.
Parallel AI Task Worktrees (muxtree)
Spawn an ephemeral Git worktree paired with its own TMUX session, so an agent can work a branch without touching your working tree.
Model Context Protocol (MCP) Server
A stdio JSON-RPC 2.0 server exposing file reads, search, shell execution and diagnostics to Claude Code, Cursor, and any other MCP client.
Context Packing (ai-pack)
Pack a whole repository into a token-efficient XML or Markdown prompt context, with no external dependencies.
Zero-Trust Capability Drop
Runs unprivileged (UID 1000) with all root capabilities dropped (cap_drop: [ALL]) and a read-only root filesystem.
Unified Multi-Language Suite
Every container shares an identical security baseline, TMUX shortcuts, and MCP interfaces.
| Container | Language Stack | Built-in Tooling | Version |
|---|---|---|---|
| langdev | Core Foundation | TMUX IDE, MCP server, ai-pack, WebTTY, OSC 52 | v0.0.4 |
| pythondev | Python 3.12+ | uv, ruff, mypy, pytest, debugpy, Pyright | v0.0.4 |
| rustdev | Rust 1.85+ | rustup, rust-analyzer, clippy, cargo-audit, sccache | v0.0.4 |
| godev | Go 1.24+ | gopls, golangci-lint, delve, Go toolchain | v0.0.4 |
| javadev | Java 21+ | OpenJDK 21, Maven, Gradle, JDTLS | v0.0.4 |
| kotlindev | Kotlin 2.1+ | kotlinc, OpenJDK 21, Gradle, Maven, KLS | v0.0.4 |
| swiftdev | Swift 6.0+ | Swift toolchain, SourceKit-LSP, swift-format | v0.0.4 |
Zero-Trust Hardened Security
Strict security guarantees verified in CI and container runtime.
Unprivileged Non-Root
Runs as unprivileged dev user (UID/GID 1000). Drops all Linux capabilities (cap_drop: [ALL]) with no-new-privileges:true.
Read-Only Root Filesystem
Immutable rootfs prevents container modification or persistent malware. Writable state is restricted to explicit tmpfs mounts.
Supply Chain Integrity
Base images pinned to cryptographic SHA256 digests. Zero unpinned curl-to-sh scripts. Automated CycloneDX SBOM generation.
Hermetic CI & SAST
100% unit tested with Bats, ShellCheck linting, Hadolint OCI auditing, and Trivy CVE vulnerability scans.
Frequently Asked Questions
Is Kotlin Language Server (KLS) included?
Yes. KLS is installed at build time with Neovim integration configured for immediate LSP autocomplete.
How fast is the container cold start?
Under 500 milliseconds. OpenJDK 21, Kotlin compiler, and Gradle are pre-baked.