Now open source

Build apps together —
you, your team, and AI

devchitchat is a self-hosted platform that puts AI coding agents inside your team's chat, your CI/CD pipeline, and your Git workflow. Everyone works in the same room. Nobody waits on a ticket.

You
Team
devchitchat chat · ops · CI/CD
AI Agent
Git

Teams under delivery pressure don't need another project management tool. They need a shared room where work is visible, AI is a first-class collaborator, and shipping is the default.

Everything in one platform

Five integrated pieces that make multi-player AI development feel natural.

💬

Self-hosted team chat

Real-time messaging with WebSocket streaming, video/audio/screen-share, file uploads, and push notifications. Runs on your hardware — no SaaS dependency, no data leaving your network.

WebSocketVideo & AudioVAPID pushSQLite
🤖

In-cluster AI agents

Claude Code runs as a Kubernetes pod with direct filesystem and Git access. Send it a message in chat, watch it commit code, open PRs, and stream responses back — all without leaving your workflow.

Claude CodeGit-nativePersistent workspacePlaywright
🗂️

Mesh issues

Track work directly on the mesh network. Issues live alongside your code and CI events — no separate tracker, no context switching. Your agent can read and create issues as part of any task.

P2P nativeAgent-readable
⚡

GitOps CI/CD

Two-tier GitOps controllers — one for infrastructure, one for apps — poll your Git repos every 30 seconds and apply changes. No webhooks. No secrets in pipelines. No SSH keys.

k3sBuildKit mTLSIn-cluster registry
🌐

P2P mesh network

All nodes — host, CI runner, controllers, agent — connect over a decentralized mesh. Git repos are served peer-to-peer at port 7979. Invite once, persist forever in PVCs.

P2P GitSSE CI eventsSelf-signed TLS
🔧

ChatOps bot framework

Canonical command IDs, declarative schemas, confirmation flows for side-effecting operations, ordered async middleware, and audit records. Build bots that are safe by default — CLI adapter included.

Command-firstPermission checksAudit records
🏗️

Bun-native web framework

index97 brings file-based routing, server-side templates, static site generation, built-in CSP, and HMR dev mode to Bun. Composable — run your website and chat on the same port. Published to npm.

BunFile-based routingSSGnpm package

How it works

From a Mac mini boot to a deployed app — everything automated.

01

Boot the VM

A LaunchDaemon starts Lima (QEMU, Ubuntu 24.04) at system boot — no login required. k3s comes up automatically. One command provisions the whole cluster.

infra cluster setup
02

Bootstrap GitOps

Build and push the CI runner and GitOps controller images, deploy the in-cluster registry, run the mesh invite/join dance, and push the GitOps repo into the mesh network.

infra cluster bootstrap
03

Push code, watch it ship

The mesh-gitops-controller polls your platform repo every 30 seconds. The apps-controller polls your app repo. Commit a manifest change and it's live within half a minute — no webhooks, no external CI service.

git push origin main
# → applied in <30s
04

Chat with your agent

The Claude Code agent pod runs in your cluster with persistent workspace storage and full Git access over the mesh. Send it a task in chat, get code back. Your team sees everything in the same thread.

@agent refactor the auth module
         and open a PR

Secure by design, not by policy

  • ✓
    Push scoping in CI — each pipeline can only push images whose name matches its repo. Enforced by a session-gated registry proxy, not trust.
  • ✓
    BuildKit mTLS — arbitrary code inside the CI pod cannot connect to BuildKit without the client certificate generated at pod startup.
  • ✓
    Two-tier RBAC — the GitOps controller has ClusterRole access; the apps controller is scoped to its namespace only.
  • ✓
    No SSH keys — Git access goes through the P2P mesh authenticated by pubkey exchange, not stored credentials.
  • ✓
    Pod Security policies — baseline enforcement on default namespace, restricted for infrastructure workloads.
🔒
Defense in depth

The stack

Boring technology choices. Interesting architecture.

Runtime
Bun + TypeScript
Database
SQLite (WAL mode)
Orchestration
k3s on Lima / QEMU
CI builds
BuildKit + mTLS
Registry
registry:2 in-cluster
Git transport
P2P mesh (port 7979)
Ingress
Cloudflare Tunnel
AI agent
Claude Code (Anthropic)
Chat protocol
WebSocket over HTTPS
AV streaming
WebRTC
Deployment model
GitOps (polling, no webhooks)
Hardware
Mac mini (self-hosted)

Built for builders

👨‍💻

Small teams in delivery mode

You don't need another Jira board. You need a room where work is visible, AI can pull its weight, and shipping is the default activity.

🏠

Self-hosted infrastructure owners

You have a Mac mini and you'd rather run your own stack than pay per seat for SaaS tools you don't fully control.

🔬

AI-native developers

You want AI agents as first-class team members — not a chat widget bolted onto your editor, but a collaborator with real Git access and persistent context.

📦

Bun ecosystem builders

The chat, ChatOps, and web framework packages are published to npm. Build on top of them, extend them, or run them standalone.

Ready to build together?

Everything you need to run a self-hosted, AI-native dev platform on your own hardware.