Optimal devcontainer configuration for Inferno-OS cognitive kernel development. Use when setting up Inferno-OS development environments, configuring Limbo IDE toolchains, deploying distributed Inferno VM clusters, building OpenCog-Inferno kernel modules, or creating devcontainer.json for Inferno/Limbo projects. Provides Dockerfile, docker-compose, CLI tools, and cluster management. Transformed from opencog-inferno-kernel via function-creator.
Provision a complete Inferno-OS development environment inside a devcontainer with a Limbo IDE, distributed VM cluster support, and CLI tools for the OpenCog-Inferno cognitive kernel.
Copy templates into your project:
cp -r /home/ubuntu/skills/inferno-devcontainer/templates/.devcontainer /path/to/project/
cp /home/ubuntu/skills/inferno-devcontainer/templates/docker-compose.cluster.yml /path/to/project/
cp /home/ubuntu/skills/inferno-devcontainer/templates/.editorconfig /path/to/project/
Open in VS Code with the Dev Containers extension, or run:
devcontainer up --workspace-folder /path/to/project
inside the container:
inferno-cluster start
| Component | Description |
|---|---|
| Inferno-OS | Full build from inferno-os/inferno-os (emu, limbo, mk, Acme) |
| Limbo IDE | VS Code with Limbo file associations + Acme inside emu |
| Cluster CLI | inferno-cluster for start/stop/status/deploy/connect |
| Build CLI | limbo-build for compile/run/check/clean |
| Cluster Monitor | Flask dashboard on port 9090 |
| Docker-in-Docker | Nested containers for multi-node clusters |
| 9P/Styx Networking | Pre-configured ports 6666-6668 for distributed namespaces |
The devcontainer.json is structured around five key areas:
Multi-stage Dockerfile derived from the official inferno-os/inferno-os Dockerfile:
Build arguments control cluster size and GUI support:
"build": {
"args": {
"INFERNO_ROOT": "/usr/inferno",
"CLUSTER_NODES": "3",
"ENABLE_GUI": "true"
}
}
Pre-installed features for a complete development environment:
common-utils — Zsh, Oh My Zsh, non-root userdocker-in-docker — Docker Compose v2 for cluster deploymentgit, github-cli — Version controlpython — Cognitive kernel scripts, cluster monitornode — Tooling supportFile associations map Limbo extensions (.b, .m) and Inferno build files (mkfile, mkconfig). Extensions include C/C++ tools, Makefile tools, Docker, Git Graph, and error lens.
| Port | Service |
|---|---|
| 6666-6668 | 9P/Styx listeners (one per cluster node) |
| 8080 | Inferno web interface |
| 9090 | Cluster monitor dashboard |
Manage the distributed Inferno VM cluster:
inferno-cluster start [--nodes N] # Start cluster (default: 3 nodes)
inferno-cluster stop # Stop all nodes
inferno-cluster status # Show node status table
inferno-cluster connect <node-id> # Connect to a node via 9P
inferno-cluster deploy <file.dis> # Deploy Dis module to all nodes
inferno-cluster logs [node-id] # Tail logs
Compile and run Limbo programs:
limbo-build compile src/hello.b # Compile to .dis
limbo-build run src/hello.b # Compile and run in emu
limbo-build check src/hello.b # Type-check only
limbo-build clean # Remove .dis and .sbl files
The cluster uses Docker Compose with three service types:
| Service | Role | Scaling |
|---|---|---|
inferno-registry | Coordinator, name registry | 1 (fixed) |
inferno-node | Worker, cognitive processing | N (scalable) |
inferno-monitor | Web dashboard | 1 (fixed) |
Scale workers:
docker compose -f docker-compose.cluster.yml --scale inferno-node=10 up -d
For cluster topologies and 9P networking patterns, read references/distributed_vm_patterns.md.
The devcontainer supports multiple IDE workflows:
| IDE | Launch | Best For |
|---|---|---|
| VS Code | Automatic via devcontainer | Modern editing, extensions, tasks |
| Acme | emu -c1 "wm/wm; acme" | Native Inferno mouse-driven IDE |
| Vim | vim file.b | Terminal-based editing |
For detailed IDE setup, keybindings, and compiler flags, read references/limbo_ide_guide.md.
Modify devcontainer.json build args, ports, and features to match your needs.
For the full customization reference, read references/devcontainer_customization.md.
Validate your devcontainer configuration:
python3 /home/ubuntu/skills/inferno-devcontainer/scripts/validate_devcontainer.py /path/to/project
scripts/
cluster_monitor.py — Flask-based cluster dashboard (port 9090)validate_devcontainer.py — Validate devcontainer configurationreferences/
distributed_vm_patterns.md — Cluster topologies, 9P networking, scaling strategieslimbo_ide_guide.md — Acme, VS Code, compiler flags, debuggingdevcontainer_customization.md — All devcontainer.json fields and optionstemplates/
.devcontainer/ — Complete devcontainer configuration (Dockerfile, devcontainer.json, scripts, Limbo syntax)docker-compose.cluster.yml — Multi-node cluster deploymentsrc/cogkernel.b — Sample cognitive kernel Limbo modulemkfile — Inferno build file template.editorconfig — Editor formatting rules| Skill | Composition |
|---|---|
| opencog-inferno-kernel | Source skill — kernel C code runs inside this devcontainer |
| function-creator | This skill was generated via function-creator transformation |
| skill-creator | Used for packaging and validation |
| gh253 | GitHub repository patterns for the manuscog project |