NEW v0.0.4 Unified Release · TMUX IDE · MCP Agent · Worktrees

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.

[kotlindev] 0:ide* (4 panes) 1:bash 2:mcp
● Kotlin 2.1 Coroutine Flows (Prefix + i)
1: Explorer /work
▼ src/
▼ main/kotlin/dev/
▶ Pipeline.kt
Event.kt
▼ test/kotlin/dev/
PipelineTest.kt
build.gradle.kts
2: Neovim (LSP) src/main/kotlin/dev/Pipeline.kt
// 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))
}
3: Shell / Tests idle
$ ./gradlew test ktlintCheck
> Task :test PASSED (18 tests in 0.22s)
✓ BUILD SUCCESSFUL in 380ms · Kotlin 2.1
4: Claude Code MCP Agent
> Claude Code (MCP)
⏺ Tool: kls.typecheck()
✓ Flow type narrowing & inline verified
⏺ Tool: ktlint.format()
✓ Zero style violations detected
[kotlindev:ide*] 0:nvim* 1:gradle 2:claude "kotlindev-ide" 23:55 muxtree: main (clean) · mcp: stdio (JSON-RPC) 23:55 29-Aug-26

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.

ContainerLanguage StackBuilt-in ToolingVersion
langdevCore FoundationTMUX IDE, MCP server, ai-pack, WebTTY, OSC 52v0.0.4
pythondevPython 3.12+uv, ruff, mypy, pytest, debugpy, Pyrightv0.0.4
rustdevRust 1.85+rustup, rust-analyzer, clippy, cargo-audit, sccachev0.0.4
godevGo 1.24+gopls, golangci-lint, delve, Go toolchainv0.0.4
javadevJava 21+OpenJDK 21, Maven, Gradle, JDTLSv0.0.4
kotlindevKotlin 2.1+kotlinc, OpenJDK 21, Gradle, Maven, KLSv0.0.4
swiftdevSwift 6.0+Swift toolchain, SourceKit-LSP, swift-formatv0.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.