Development Process
How Claude Code, LXC containers, skills, GitHub, and DocHub work together as the OmelasAI development platform
The Big Picture
Every OmelasAI developer has their own LXC container on Contabo Singapore with a persistent Claude Code session running 24/7 in tmux. All containers share the same skills, project map, and standards.
💻
Developer Laptop
SSH / mosh / web terminal
→
📦
LXC Container
Claude Code in tmux (24/7)
→
📁
GitHub
OmelasAI org (private)
→
🌐
Production
DO, OVH, Hostinger
Developer connects to their container → Works with Claude Code → Pushes to GitHub → Deploys to production
Container Inventory
| Container |
Developer |
SSH |
Access |
Color |
| chasclaude |
Chas (primary) |
ssh chasclaude |
SSH Mosh Web |
Cyan |
| infoclaude |
Chas (secondary) |
ssh infoclaude |
SSH Mosh Web |
Green |
| seanclaude |
Sean |
ssh seanclaude |
SSH Mosh Web |
Yellow |
| jazclaude |
Jaz |
ssh jazclaude |
SSH Mosh Web |
Magenta |
| managerclaude |
Shared |
ssh managerclaude |
SSH Mosh Web |
White |
All containers: Ubuntu 24.04, Node.js 22, Docker, Claude Code, tmux 3.4, mosh, gh CLI
Daily Workflow
1
Connect — SSH, mosh, or web terminal into your container. Claude Code is already running in tmux.
↓
2
/start-session — Loads CLAUDE.md, HANDOVER.md, pulls latest from GitHub. Identifies project from projects.yaml.
↓
3
Work — Edit code, run tests, iterate with Claude. Use /commit to checkpoint along the way.
↓
4
/push — Push commits to the OmelasAI GitHub repo.
↓
5
/deploy — Deploy to production (reads CLAUDE.md for instructions, requires confirmation).
↓
6
/end-session — Commits, pushes, writes HANDOVER.md for next session. Claude stays running.
18 Claude Code Skills
Every container has the same 18 skills installed in ~/.claude/commands/. Source: OmelasAI/claude-skills repo.
/start-session
Load project context
/end-session
Pause & write handover
/push
Push with safety checks
/pull
Pull with conflict detection
/branch
Branch management
/status
Quick project state
/deploy
Deploy to production
/incident
Log ops incident
/context
Pull DocHub context
/sync-docs
Sync repo to DocHub
/dochub-add
Add to DocHub
/dochub-report
Coverage report
/deploy-dochub
Deploy DocHub
/onboard-repo
Add repo to org
/new-project
Set up new project
Standard Project Files
Every OmelasAI project MUST have these files:
| File |
Purpose |
Updated By |
| CLAUDE.md |
Architecture, rules, deployment — read FIRST before any work |
Human + Claude |
| HANDOVER.md |
Last session state — what was done, what's next |
/end-session |
| CHANGELOG.md |
Significant changes log |
Human + Claude |
| OPS-LOG.md |
Operational incidents — append-only, never delete |
/incident |
| projects.yaml |
Master project map (in ClaudeSkills repo) |
Human + Claude |
Skill Propagation
When skills or the project map change, updates are pushed from the host to all containers:
1
GitHub — Changes committed to OmelasAI/claude-skills repo
↓
2
Host clones — propagate-from-host.sh pulls latest to /tmp/claude-propagate
↓
3
SCP to containers — Skills, CLAUDE-BASE.md, projects.yaml, network-config.md copied to each container
↓
4
Claude Net notify — Message sent to all instances: "Skills updated. Run /sync to verify."
Three Documentation Tiers
Tier 1 Visual Overviews
Self-contained HTML pages with flow diagrams and architecture visuals. For humans browsing. Route: /overview/
Tier 2 Structured Markdown
Detailed markdown docs with sidebar and TOC. For developers reading. Route: /docs/
Tier 3 API & JSON
JSON manifests and raw markdown. For Claude CLI integration (/context). Route: /api/
GitHub Organization
| Item |
Value |
| Organization |
OmelasAI (all private repos) |
| Repositories |
19 repos (as of 2026-03-12) |
| Members |
seanomelasai (admin), omleas65 (Chas), jazAtOmelas (Jaz) |
| CLI |
gh authenticated on all containers via HTTPS |
| Git rules |
Never force push, never skip hooks, always new commits, imperative mood |