{"id":34644816,"url":"https://github.com/kloudlite/kloudlite","last_synced_at":"2026-03-16T05:28:40.099Z","repository":{"id":221123145,"uuid":"753484918","full_name":"kloudlite/kloudlite","owner":"kloudlite","description":"RemoteLocal Environments to build distributed applications.","archived":false,"fork":false,"pushed_at":"2026-03-08T03:24:03.000Z","size":95588,"stargazers_count":160,"open_issues_count":35,"forks_count":4,"subscribers_count":1,"default_branch":"development","last_synced_at":"2026-03-08T07:53:47.049Z","etag":null,"topics":["dev-environment","remotelocal"],"latest_commit_sha":null,"homepage":"http://kloudlite.io","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kloudlite.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2024-02-06T08:06:47.000Z","updated_at":"2026-03-06T07:28:34.000Z","dependencies_parsed_at":"2025-12-15T08:06:51.662Z","dependency_job_id":null,"html_url":"https://github.com/kloudlite/kloudlite","commit_stats":null,"previous_names":["kloudlite/oss","kloudlite/kloudlite"],"tags_count":273,"template":false,"template_full_name":null,"purl":"pkg:github/kloudlite/kloudlite","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kloudlite%2Fkloudlite","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kloudlite%2Fkloudlite/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kloudlite%2Fkloudlite/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kloudlite%2Fkloudlite/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kloudlite","download_url":"https://codeload.github.com/kloudlite/kloudlite/tar.gz/refs/heads/development","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kloudlite%2Fkloudlite/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30416310,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-12T04:41:02.746Z","status":"ssl_error","status_checked_at":"2026-03-12T04:40:12.571Z","response_time":114,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dev-environment","remotelocal"],"created_at":"2025-12-24T17:37:32.954Z","updated_at":"2026-03-12T05:03:24.210Z","avatar_url":"https://github.com/kloudlite.png","language":"TypeScript","readme":"\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://kloudlite.io\"\u003e\n    \u003cimg src=\"https://github.com/kloudlite/kloudlite/assets/1580519/a31a5f78-2bde-45f1-8141-d23ee8231eb1\" style=\"height:38px\" /\u003e\n  \u003c/a\u003e\n  \u003cp\u003e\u003cstrong\u003eCloud Development Environments\u003c/strong\u003e\u003c/p\u003e\n  \u003cp\u003eTest against live services without deploying\u003c/p\u003e\n\n  \u003ca href=\"https://discord.gg/m5tYzQfcG8\"\u003e\n    \u003cimg src=\"https://img.shields.io/discord/934762910717194260?label=discord\" alt=\"Discord\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"#license\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/license/kloudlite/kloudlite\" alt=\"License\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://goreportcard.com/report/github.com/kloudlite/api\"\u003e\n    \u003cimg src=\"https://goreportcard.com/badge/github.com/kloudlite/api\" alt=\"Go Report Card\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/kloudlite/kloudlite/issues\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/issues/kloudlite/kloudlite\" alt=\"Issues\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/kloudlite/kloudlite/releases\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/v/release/kloudlite/kloudlite\" alt=\"GitHub Release\"\u003e\n  \u003c/a\u003e\n\u003c/div\u003e\n\n\u003cbr/\u003e\n\n## What is Kloudlite?\n\nKloudlite provides cloud-based development workspaces with live service connectivity. Think Telepresence meets cloud IDEs — but with per-developer environment ownership, instant environment switching, and cross-team collaboration built in.\n\nYour code runs against real services. No container builds. No deployments. No waiting.\n\n## The Inner Loop Problem\n\nThe traditional development cycle — code, build, deploy, test — takes minutes per iteration. Most of that time is spent waiting for builds and deployments, not actually validating changes.\n\nKloudlite eliminates build and deploy from your inner loop. You write code in a cloud workspace that's already connected to your services. Changes are testable immediately. The feedback loop drops from minutes to seconds.\n\n## Core Concepts\n\n**Workspace** — A container running on your work machine with your dev tools installed. Accessible via SSH, VS Code Server, or web terminal. Mounts code from the host filesystem. Multiple workspaces share system volumes for efficiency.\n\n**Environment** — An isolated namespace containing your services, databases, and configurations. You own your environments — create as many as you need for different features or experiments. Switch your workspace between them instantly.\n\n**Intercept** — Routes traffic from any service in your environment to your workspace. Debug with production-like traffic patterns. Validate fixes before pushing.\n\n**Tunnel** — WireGuard-based connection from your local machine to your work machine via `kltun`. All services become DNS-resolvable locally. Your IDE connects over this tunnel.\n\n## Architecture\n\n```\n┌──────────────────────────────────────────────────────────────────────────────┐\n│                         Kubernetes Cluster (Team)                            │\n│                                                                              │\n│  ┌────────────────────────────────────────────────────────────────────────┐  │\n│  │                          Control Plane                                 │  │\n│  │     API Server  ◄───►  Dashboard  ◄───►  Kubernetes Controllers        │  │\n│  └────────────────────────────────────────────────────────────────────────┘  │\n│                                                                              │\n│  ┌──────────────────────────┐      ┌──────────────────────────┐             │\n│  │   Work Machine (Dev A)   │      │   Work Machine (Dev B)   │    ...      │\n│  │                          │      │                          │             │\n│  │  ┌────────────────────┐  │      │  ┌────────────────────┐  │             │\n│  │  │  Namespace: dev-a  │  │      │  │  Namespace: dev-b  │  │             │\n│  │  │   ┌─────────────┐  │  │      │  │   ┌─────────────┐  │  │             │\n│  │  │   │ Workspace 1 │  │  │      │  │   │ Workspace 1 │  │  │             │\n│  │  │   │ Workspace 2 │  │  │      │  │   │ Workspace 2 │  │  │             │\n│  │  │   └─────────────┘  │  │      │  │   └─────────────┘  │  │             │\n│  │  └────────────────────┘  │      │  └────────────────────┘  │             │\n│  │                          │      │                          │             │\n│  │  ┌────────────────────┐  │      │  ┌────────────────────┐  │             │\n│  │  │ Env: dev-a-feature │  │      │  │ Env: dev-b-feature │  │             │\n│  │  │  (services, DBs)   │  │      │  │  (services, DBs)   │  │             │\n│  │  └────────────────────┘  │      │  └────────────────────┘  │             │\n│  └──────────────────────────┘      └──────────────────────────┘             │\n│                                                                              │\n│        All nodes can reach any environment — collaborate across teams        │\n└──────────────────────────────────────────────────────────────────────────────┘\n           ▲                                        ▲\n           │ WireGuard (kltun)                      │ WireGuard (kltun)\n           ▼                                        ▼\n   ┌───────────────┐                        ┌───────────────┐\n   │  Dev A Local  │                        │  Dev B Local  │\n   │   (IDE, CLI)  │                        │   (IDE, CLI)  │\n   └───────────────┘                        └───────────────┘\n```\n\n**Work Machine** — Dedicated node per developer in the cluster. Runs your workspaces and environments.\n\n**Workspaces** — Containers in your namespace. Share host volumes for code and system packages. Include:\n- Nix package management (`kl pkg add go@1.21 nodejs python3`)\n- IDE integration (SSH, VS Code Server, Web Terminal)\n- Mounted workspace folders from host\n\n**Environments** — Isolated namespaces with your services. Each developer owns their environments. Connect to any team member's environment for debugging or collaboration.\n\n## Capabilities\n\n| Feature | Description |\n|---------|-------------|\n| **Service Interception** | Route traffic from any service to your workspace for live debugging |\n| **Multi-Environment** | Own multiple environments, switch between them without rebuilds |\n| **Cross-Team Access** | Connect to any environment in the cluster for collaboration |\n| **Nix Packages** | `kl pkg add go@1.21 nodejs` — reproducible, conflict-free |\n| **Port Exposure** | Public URLs for webhooks, OAuth callbacks, external testing |\n| **MCP Server** | AI tools (Claude, Codex, OpenCode) control workspace via `kl mcp` |\n\n## Project Structure\n\n```\napi/\n├── cmd/server/                    # Control plane API server\n├── cmd/kl/                        # CLI (runs inside workspace)\n├── cmd/workmachine-node-manager/  # Host-level Nix package management\n├── internal/controllers/          # K8s controllers\n│   ├── workspace/                 # Workspace lifecycle\n│   ├── environment/               # Environment management\n│   └── serviceintercept/          # Traffic interception\n└── manifests/                     # CRDs and RBAC\n\nweb/                               # Next.js dashboard\ndevenv/                            # Local K3s development setup\n```\n\n**Stack:** Go 1.24, controller-runtime, Kubernetes CRDs, WireGuard, Nix, Next.js 15, React 19\n\n## Getting Started\n\n- **Self-host:** Deploy on AWS, GCP, or Azure — [Installation Guide](https://kloudlite.io/docs/install)\n- **Documentation:** [kloudlite.io/docs](https://kloudlite.io/docs)\n- **CLI Reference:** [kloudlite.io/docs/cli](https://kloudlite.io/docs/cli)\n- **Helm Charts:** [github.com/kloudlite/helm-charts](https://github.com/kloudlite/helm-charts)\n\n## Community\n\n- [Discord](https://discord.com/invite/m5tYzQfcG8)\n- [Twitter](https://x.com/kloudlite)\n- [GitHub Issues](https://github.com/kloudlite/kloudlite/issues)\n\nSecurity issues: **security@kloudlite.io**\n\n## License\n\n[AGPL-3.0](LICENSE)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkloudlite%2Fkloudlite","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkloudlite%2Fkloudlite","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkloudlite%2Fkloudlite/lists"}