Skip to content

ross-corp/uncworks

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

820 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

👴 UNCWORKS

NOT PRODUCTION READY!!

Kubernetes-native runtime for AI coding agents. Submit a prompt + git repo; the platform spins up an isolated workspace pod, runs the agent, and streams results back over ConnectRPC.

The core abstraction is the AgentRun CRD. Everything else — scheduling, LLM routing, approval gates, PR creation — is built around it.

Quick start

Grab the uncworks CLI from GitHub Releases, then:

uncworks setup        # picks a local kube context, installs the Helm chart
uncworks open         # port-forward + open the web UI

Cluster requirements: any local Kubernetes (Docker Desktop, OrbStack, k3d, kind). 2 CPU / 2 GiB is the floor; 4/4 is the recommendation.

See docs/getting-started.md for the full path including remote clusters and the TUI.

Screenshots

Runs list — one row per AgentRun, filterable by stage, mode, and approval gate.

Runs list

Logs — live stream of the agent's actions: prompts, tool calls, file reads, and bash output.

Logs tab

Files — workspace tree inside the agent pod, scoped to /workspace.

File explorer

Shell — attach to the running pod for ad-hoc inspection.

Shell tab

Traces — span timeline for the workflow, agent thoughts, and tool invocations.

Traces tab

How it works

graph LR
    User(("User"))
    Cloud["OpenRouter / cloud LLMs"]

    subgraph K8s["Kubernetes cluster"]
        direction TB
        subgraph CP["Control plane"]
            Web["Web UI"]
            API["ConnectRPC API"]
            Ctrl["Controller"]
            TW["Temporal worker"]
        end
        subgraph Deps["Deps"]
            Temporal["Temporal"]
            LiteLLM["LiteLLM"]
            Ollama["Ollama"]
            Soft["Soft-Serve"]
        end
        subgraph DP["Agent pod (1 per run)"]
            Init["init: hydrate"]
            Agent["agent (holds workspace)"]
            Sidecar["sidecar: pi-coding-agent"]
        end
        PVC[("/workspace PVC")]
    end

    User --> Web --> API --> Temporal --> TW
    Ctrl --> API
    TW -->|creates| DP
    Sidecar --> Agent
    Agent --> LiteLLM --> Ollama
    LiteLLM --> Cloud
    PVC -.- Init
    PVC -.- Agent
    PVC -.- Sidecar
Loading

A run is one Temporal workflow driving one pod. The sidecar fronts pi-coding-agent; the agent reads and writes inside /workspace. Approval gates (LLM judge, human approval) run inside the workflow before a run is marked Succeededhybrid (judge + human) is the default.

Pipeline

Spec-driven mode runs three stages with feedback:

sequenceDiagram
    actor U as User
    participant W as Workflow
    participant M as Manage agent
    participant I as Implement agent
    U->>W: prompt + repo
    W->>M: PLAN — write OpenSpec change
    W->>I: EXECUTE — write code against spec
    W->>M: VERIFY — task gate + spec validate + LLM judge
    alt verify fails
        W->>I: retry with failure report
    end
    W->>U: PR opened (autoPush+autoPR)
Loading

Single mode skips Plan/Verify — agent runs once against the prompt.

Components

Where What
cmd/{apiserver,controller,worker,uncworks} Control plane + CLI
cmd/sidecar, cmd/hydration Pod-side binaries
internal/server ConnectRPC + REST handlers
internal/temporal Workflow, activities, approval gates, LLM judge
internal/controller AgentRun and Project reconcilers
extensions/aot-determinism.ts pi extension loaded into every agent run
web/ React dashboard
proto/, gen/ Service definitions and generated code
deploy/helm/aot/ Helm chart

Development

devbox shell           # tooling
task install
task cluster:setup     # one-time: Colima + k3s + Helm install
task dev:deploy        # rebuild images into k8s.io and rollout
task dev:web           # Vite dev server
task test              # Go + web + extension
task proto:gen         # regenerate after .proto changes

task --list is the rest of the surface. See CONTRIBUTING.md.

Documentation

License

Apache License 2.0 — see LICENSE. Contributions are welcome under the same terms; see CONTRIBUTING.md.

About

agentic orchestration platform

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors