freshcrate
Skin:/
Home > Frameworks > kelos

kelos

Kelos - The Kubernetes-native framework for orchestrating autonomous AI coding agents.

Why this rank:Strong adoptionRecent releaseHealthy release cadence

Description

Kelos - The Kubernetes-native framework for orchestrating autonomous AI coding agents.

README

Kelos

Orchestrate autonomous AI coding agents on Kubernetes.

CI Release GitHub StarsGo Version License

Quick Start ยท Kelos Skill ยท Kelos Developing Kelos ยท Examples ยท Integration ยท Reference ยท YAML Manifests

Kelos lets you define your development workflow as Kubernetes resources and run it continuously. Declare what triggers agents, what they do, and how they hand off โ€” Kelos handles the rest.

Kelos develops Kelos through TaskSpawners running 24/7: triaging issues, planning implementations, fixing bugs, responding to PR feedback, reviewing code, squashing commits, updating agent images, testing DX, brainstorming improvements, and tuning their own prompts and configs. See the full pipeline below.

Supports Claude Code, OpenAI Codex, Google Gemini, OpenCode, Cursor, and custom agent images.

How It Works

Kelos orchestrates the flow from external events to autonomous execution:

kelos-resources

You define what needs to be done, and Kelos handles the "how" โ€” from cloning the right repo and injecting credentials to running the agent and capturing its outputs (branch names, commit SHAs, PR URLs, and token usage).

Core Primitives

Kelos is built on four resources:

  1. Tasks โ€” Ephemeral units of work that wrap an AI agent run.
  2. Workspaces โ€” Persistent or ephemeral environments (git repos) where agents operate.
  3. AgentConfigs โ€” Reusable bundles of agent instructions (AGENTS.md, CLAUDE.md), plugins (skills and agents), and MCP servers.
  4. TaskSpawners โ€” Orchestration engines that react to external triggers (GitHub, Cron) to automatically manage agent lifecycles.

Kelos Developing Kelos

Kelos develops itself. TaskSpawners run 24/7, each handling a different part of the development lifecycle โ€” fully autonomous.

See the self-development/ README for the full pipeline: manifests, triggers, models, and setup instructions.

Why Kelos?

AI coding agents are evolving from interactive CLI tools into autonomous background workers โ€” managed like infrastructure, not invoked like commands. Kelos provides the framework to manage this transition at scale.

  • Workflow as YAML โ€” Define your development workflow declaratively: what triggers agents, what they do, and how they hand off. Version-control it, review it in PRs, and GitOps it like any other infrastructure.
  • Orchestration, not just execution โ€” Don't just run an agent; manage its entire lifecycle. Chain tasks with dependsOn and pass results (branch names, PR URLs, token usage) between pipeline stages. Use TaskSpawner to build event-driven workers that react to GitHub issues, PRs, or schedules.
  • Host-isolated autonomy โ€” Each task runs in an isolated, ephemeral Pod with a freshly cloned git workspace. Agents have no access to your host machine โ€” use scoped tokens and branch protection to control repository access.
  • Standardized interface โ€” Plug in any agent (Claude, Codex, Gemini, OpenCode, Cursor, or your own) using a simple container interface. Kelos handles credential injection, workspace management, and Kubernetes plumbing.
  • Scalable parallelism โ€” Fan out agents across multiple repositories. Kubernetes handles scheduling, resource management, and queueing โ€” scale is limited by your cluster capacity and API provider quotas.
  • Observable & CI-native โ€” Every agent run is a first-class Kubernetes resource with deterministic outputs (branch names, PR URLs, commit SHAs, token usage) captured into status. Monitor via kubectl, manage via the kelos CLI or declarative YAML (GitOps-ready), and integrate with ArgoCD or GitHub Actions.

Quick Start

Get running in 5 minutes (most of the time is gathering credentials).

Prerequisites

  • Kubernetes cluster (1.28+)
Don't have a cluster? Create one locally with kind
  1. Install kind (requires Docker)
  2. Create a cluster:
    kind create cluster

This creates a single-node cluster and configures your kubeconfig automatically.

1. Install the CLI

Install using the script:

curl -fsSL https://raw.githubusercontent.com/kelos-dev/kelos/main/hack/install.sh | bash

Or using Homebrew:

brew tap kelos-dev/tap
brew install kelos
Alternative: install from source
go install github.com/kelos-dev/kelos/cmd/kelos@latest

2. Install Kelos

kelos install

This installs the Kelos controller and CRDs into the kelos-system namespace.

For chart-native customization, pass Helm values to kelos install:

kelos install -f values.yaml
kelos install --set webhookServer.sources.github.enabled=true

kelos install manages CRDs separately, so crds.install must be omitted or set to false. For the full values schema and advanced examples, see the Helm chart README.

Verify the installation:

kubectl get pods -n kelos-system
kubectl get crds | grep kelos.dev

Helm Install

Kelos also publishes a Helm chart as an OCI artifact in GHCR.

To install Kelos with Helm:

helm upgrade --install kelos oci://ghcr.io/kelos-dev/charts/kelos \
  -n kelos-system \
  --create-namespace \
  --version <version>

This installs the controller and, by default, the Kelos CRDs.

For CRD migration, adopting existing CRDs into Helm ownership, and advanced chart usage, see the Helm chart README.

3. Initialize Your Config

kelos init

Edit ~/.kelos/config.yaml:

oauthToken: <your-oauth-token>
workspace:
  repo: https://github.com/your-org/your-repo.git
  ref: main
  token: <github-token>  # optional, for private repos and pushing changes
How to get your credentials

Claude OAuth token (recommended for Claude Code): Run claude setup-token locally and follow the prompts. This generates a long-lived token (valid for ~1 year). Copy the token from ~/.claude/credentials.json.

Anthropic API key (alternative for Claude Code): Create one at console.anthropic.com. Set apiKey instead of oauthToken in your config.

Codex OAuth credentials (for OpenAI Codex): Run codex auth login locally, then reference the auth file in your config:

oauthToken: "@~/.codex/auth.json"
type: codex

Or set apiKey with an OpenAI API key instead.

GitHub token (for pushing branches and creating PRs): Create a Personal Access Token with repo scope (and workflow if your repo uses GitHub Actions).

GitHub App (recommended for production/org use): For organizations, GitHub Apps are preferred over PATs โ€” they offer fine-grained permissions, higher rate limits, and don't depend on a specific user account. Use githubApp instead of token in your workspace config:

workspace:
  repo: https://github.com/your-org/repo.git
  ref: main
  githubApp:
    appID: "12345"
    installationID: "67890"
    privateKeyPath: ~/.config/my-app.private-key.pem

See the Workspace reference for details.

Warning: Without a workspace, the agent runs in an ephemeral pod โ€” any files it creates are lost when the pod terminates. Always set up a workspace to get persistent results.

4. Run Your First Task

$ kelos run -p "Add a hello world program in Python"
task/task-r8x2q created

$ kelos logs task-r8x2q -f

The task name (e.g. task-r8x2q) is auto-generated. Use --name to set a custom name, or -w to watch task status after creation. To stream agent logs, run kelos logs <task-name> -f.

You can also read the prompt from a file with --prompt-file, or pipe it from stdin:

$ kelos run --prompt-file prompt.txt
$ echo "Fix the flaky test" | kelos run --prompt-file -

The agent clones your repo, makes changes, and can push a branch or open a PR.

Tip: If something goes wrong, check the controller logs with kubectl logs deployment/kelos-controller-manager -n kelos-system.

Using kubectl and YAML instead of the CLI

Create a Workspace resource to define a git repository:

apiVersion: kelos.dev/v1alpha1
kind: Workspace
metadata:
  name: my-workspace
spec:
  repo: https://github.com/your-org/your-repo.git
  ref: main

Then reference it from a Task:

apiVersion: kelos.dev/v1alpha1
kind: Task
metadata:
  name: hello-world
spec:
  type: claude-code
  prompt: "Create a hello world program in Python"
  credentials:
    type: oauth
    secretRef:
      name: claude-oauth-token
  workspaceRef:
    name: my-workspace
kubectl apply -f workspace.yaml
kubectl apply -f task.yaml
kubectl get tasks -w
Using an API key instead of OAuth

Set apiKey instead of oauthToken in ~/.kelos/config.yaml:

apiKey: <your-api-key>

Or pass --secret to kelos run with a pre-created secret (api-key is the default credential type), or set spec.credentials.type: api-key in YAML.

Kelos Skill

The Kelos skill teaches AI coding agents how to author and operate Kelos resources. Install it via skills.sh:

npx skills add kelos-dev/kelos

Then ask your agent:

Using the /kelos skill, set up a TaskSpawner that watches GitHub issues
labeled "bug" and auto-creates Tasks to fix them.

The agent will generate the correct manifests, apply them, and troubleshoot any issues on your behalf.

Examples

Auto-fix GitHub issues with TaskSpawner

Create a TaskSpawner to automatically turn GitHub issues into agent tasks:

apiVersion: kelos.dev/v1alpha1
kind: TaskSpawner
metadata:
  name: fix-bugs
spec:
  when:
    githubIssues:
      labels: [bug]
      state: open
      pollInterval: 5m
  taskTemplate:
    type: claude-code
    workspaceRef:
      name: my-workspace
    credentials:
      type: oauth
      secretRef:
        name: claude-oauth-token
    promptTemplate: "Fix: {{.Title}}\n{{.Body}}"
kubectl apply -f taskspawner.yaml

TaskSpawner polls for new issues matching your filters and creates a Task for each one.

Chain tasks into pipelines

Use dependsOn to chain tasks into pipelines. A task in Waiting phase stays paused until all its dependencies succeed:

kelos run -p "Scaffold a new user service" --name scaffold --branch feature/user-service
kelos run -p "Write tests for the user service" --depends-on scaffold --branch feature/user-service

Tasks sharing the same branch are serialized automatically โ€” only one runs at a time.

YAML equivalent
apiVersion: kelos.dev/v1alpha1
kind: Task
metadata:
  name: scaffold
spec:
  type: claude-code
  prompt: "Scaffold a new user service with CRUD endpoints"
  credentials:
    type: oauth
    secretRef:
      name: claude-oauth-token
  workspaceRef:
    name: my-workspace
  branch: feature/user-service
---
apiVersion: kelos.dev/v1alpha1
kind: Task
metadata:
  name: write-tests
spec:
  type: claude-code
  prompt: "Write comprehensive tests for the user service"
  credentials:
    type: oauth
    secretRef:
      name: claude-oauth-token
  workspaceRef:
    name: my-workspace
  branch: feature/user-service
  dependsOn: [scaffold]

Downstream tasks can reference upstream results in their prompt using {{.Deps}}:

apiVersion: kelos.dev/v1alpha1
kind: Task
metadata:
  name: open-pr
spec:
  type: claude-code
  prompt: |
    Open a PR for branch {{index .Deps "write-tests" "Results" "branch"}}.
  credentials:
    type: oauth
    secretRef:
      name: claude-oauth-token
  workspaceRef:
    name: my-workspace
  branch: feature/user-service
  dependsOn: [write-tests]

The .Deps map is keyed by dependency Task name. Each entry has Results (key-value map with branch, commit, pr, etc.) and Outputs (raw output lines). See examples/07-task-pipeline for a full three-stage pipeline.

Create PRs automatically

Add a token to your workspace config:

workspace:
  repo: https://github.com/your-org/repo.git
  ref: main
  token: <your-github-token>
kelos run -p "Fix the bug described in issue #42 and open a PR with the fix"

The gh CLI and GITHUB_TOKEN are available inside the agent container, so the agent can push branches and create PRs autonomously.

Inject agent instructions and MCP servers

Use AgentConfig to bundle project-wide instructions, plugins, and MCP servers:

apiVersion: kelos.dev/v1alpha1
kind: AgentConfig
metadata:
  name: my-config
spec:
  agentsMD: |
    # Project Rules
    Follow TDD. Always write tests first.
  mcpServers:
    - name: github
      type: http
      url: https://api.githubcopilot.com/mcp/
      headers:
        Authorization: "Bearer <token>"
kelos run -p "Fix the bug" --agent-config my-config
  • agentsMD is written to ~/.claude/CLAUDE.md (user-level, additive with the repo's own instructions).
  • plugins are mounted as plugin directories and passed via --plugin-dir.
  • mcpServers are written to the agent's native MCP configuration. Supports stdio, http, and sse transport types.

See the full AgentConfig spec for plugins, skills, and agents configuration.

Browse all ready-to-apply YAML manifests in the examples/ directory.

Integration

Kelos integrates with external systems in two ways:

TaskSpawner โ€” Kelos natively watches external sources and automatically creates Tasks. Supports GitHub Issues, GitHub Pull Requests, GitHub Webhooks, Jira, and Cron schedules. No glue code needed.

spec:
  when:
    githubIssues:
      labels: [bug]
      state: open

Direct Task creation โ€” Create Task resources from your own workflows for full control. Any system that can run kubectl apply or call the Kubernetes API can trigger agent runs โ€” GitHub Actions, CI/CD pipelines, scripts, Slack bots, or custom automation.

kelos run -p "Fix the flaky test in ci_test.go" --workspace my-workspace

See the Integration guide for examples of both approaches, including GitHub Actions workflows, Jira setup, and programmatic Task creation.

Orchestration Patterns

  • Autonomous Self-Development โ€” Build a feedback loop where agents pick up issues, write code, self-review, and fix CI flakes until the task is complete. See the self-development pipeline.
  • Event-Driven Bug Fixing โ€” Automatically spawn agents to investigate and fix bugs as soon as they are labeled in GitHub. See Auto-fix GitHub issues.
  • Fleet-Wide Refactoring โ€” Orchestrate a "fan-out" where dozens of agents apply the same refactoring pattern across a fleet of microservices in parallel.
  • Hands-Free CI/CD โ€” Embed agents as first-class steps in your deployment pipelines to generate documentation or perform automated migrations.
  • AI Worker Pools โ€” Maintain a pool of specialized agents (e.g., "The Security Fixer") that developers can trigger via simple Kubernetes resources.

Reference

Resource Key Fields Full Spec
Task type, prompt, credentials, workspaceRef, dependsOn, branch Reference
Workspace repo, ref, secretRef (PAT or GitHub App), files Reference
AgentConfig agentsMD, plugins, mcpServers Reference
TaskSpawner when, taskTemplate, pollInterval, maxConcurrency Reference
CLI Reference
Command Description
kelos install Install Kelos CRDs and controller into the cluster
kelos uninstall Uninstall Kelos from the cluster
kelos init Initialize ~/.kelos/config.yaml
kelos run Create and run a new Task
kelos get <resource> [name] List resources or view a specific resource (tasks, taskspawners, workspaces)
kelos delete <resource> <name> Delete a resource
kelos logs <task-name> [-f] View or stream logs from a task
kelos suspend taskspawner <name> Pause a TaskSpawner
kelos resume taskspawner <name> Resume a paused TaskSpawner

See full CLI reference for all flags and options.

Security Considerations

Kelos runs agents in isolated, ephemeral Pods with no access to your host machine, SSH keys, or other processes. The risk surface is limited to what the injected credentials allow.

What agents CAN do: Push branches, create PRs, and call the GitHub API using the injected GITHUB_TOKEN.

What agents CANNOT do: Access your host, read other pods, reach other repositories, or access any credentials beyond what you explicitly inject.

Best practices:

  • Scope your GitHub tokens. Use fine-grained Personal Access Tokens restricted to specific repositories instead of broad repo-scoped classic tokens.
  • Enable branch protection. Require PR reviews before merging to main. Agents can push branches and open PRs, but protected branches prevent direct pushes to your default branch.
  • Use maxConcurrency and maxTotalTasks. Limit how many tasks a TaskSpawner can create to prevent runaway agent activity.
  • Use podOverrides.activeDeadlineSeconds. Set a timeout to prevent tasks from running indefinitely.
  • Audit via Kubernetes. Every agent run is a first-class Kubernetes resource โ€” use kubectl get tasks and cluster audit logs to track what was created and by whom.

About --dangerously-skip-permissions: Claude Code uses this flag for non-interactive operation. Despite the name, the actual risk is minimal โ€” agents run inside ephemeral containers with no host access. The flag simply disables interactive approval prompts, which is necessary for autonomous execution.

Kelos uses standard Kubernetes RBAC โ€” use namespace isolation to separate teams. Each TaskSpawner automatically creates a scoped ServiceAccount and RoleBinding.

Cost and Limits

Running AI agents costs real money. Here's how to stay in control:

Model costs vary significantly. Opus is the most capable but most expensive model. Use spec.model (or model in config) to choose cheaper models like Sonnet for routine tasks and reserve Opus for complex work. Check the API pricing page for current rates.

Use maxConcurrency to cap spend. Without it, a TaskSpawner can create unlimited concurrent tasks. If 100 issues match your filter on first poll, that's 100 simultaneous agent runs. Always set a limit:

spec:
  maxConcurrency: 3      # max 3 tasks running at once
  maxTotalTasks: 50       # stop after 50 total tasks

Use podOverrides.activeDeadlineSeconds to limit runtime. Set a timeout per task to prevent agents from running indefinitely:

spec:
  podOverrides:
    activeDeadlineSeconds: 3600  # kill after 1 hour

Or via the CLI:

kelos run -p "Fix the bug" --timeout 30m

Use suspend for emergencies. If costs are spiraling, pause a spawner immediately:

kelos suspend taskspawner my-spawner
# ... investigate ...
kelos resume taskspawner my-spawner

Rate limits. API providers enforce concurrency and token limits. If a task hits a rate limit mid-execution, it will likely fail. Use maxConcurrency to stay within your provider's limits.

FAQ

What agents does Kelos support?

Kelos supports Claude Code, OpenAI Codex, Google Gemini, OpenCode, and Cursor out of the box. You can also bring your own agent image using the container interface.

Can I use Kelos without Kubernetes?

No. Kelos is built on Kubernetes Custom Resources and requires a Kubernetes cluster. For local development, use kind (kind create cluster) to create a single-node cluster on your machine.

Is it safe to give agents repo access?

Agents run in isolated, ephemeral Pods with no host access. Their capabilities are limited to what you inject โ€” typically a scoped GitHub token. Use fine-grained PATs, branch protection, and maxConcurrency to control the blast radius. See Security Considerations.

How much does it cost to run?

Costs depend on the model and task complexity. Check the API pricing page for current rates. Use maxConcurrency, timeouts, and model selection to stay in budget. See Cost and Limits.

Uninstall

kelos uninstall

Development

Build, test, and iterate with make:

make update             # generate code, CRDs, fmt, tidy
make verify             # generate + vet + tidy-diff check
make test               # unit tests
make test-integration   # integration tests (envtest)
make test-e2e           # e2e tests (requires cluster)
make build              # build binary
make image              # build docker image

Contributing

  1. Fork the repo and create a feature branch.
  2. Make your changes and run make verify to ensure everything passes.
  3. Open a pull request with a clear description of the change.

For significant changes, please open an issue first to discuss the approach.

We welcome contributions of all kinds โ€” see good first issues for places to start.

License

Apache License 2.0

Release History

VersionChangesUrgencyDate
v0.37.0## API Changes - feat(api): adds support for using sidecar containers on taskSpawners using podOverrides (#1108, @knechtionscoding) ## Features - Update opencode image from 1.15.10 to 1.15.13 (#1225, @app/kelos-bot) - Update cursor image from 2026.05.20-2b5dd59 to 2026.05.28-a70ca7c (#1211, @app/kelos-bot) - Update codex image from 0.133.0 to 0.135.0 (#1220, @app/kelos-bot) - Update gemini image from 0.43.0 to 0.44.1 (#1224, @app/kelos-bot) - Update claude-code image from 2.1.156 High5/31/2026
v0.36.0## API Changes - feat: add contextSources to TaskTemplate for declarative cross-system context enrichment. Sources are fetched before task creation and exposed as .Context.NAME template variables. Initial support for HTTP(S) endpoints with Secret-backed headers, JSONPath response filtering, and configurable failure policy. (#1024, @knechtionscoding) ## Features - Update codex image from 0.132.0 to 0.133.0 (#1191, @app/kelos-bot) - Update gemini image from 0.42.0 to 0.43.0 (#1192, @app/High5/23/2026
v0.34.0## Features - Agent images now include $HOME/.local/bin on PATH, so tools installed by Workspace.spec.setupCommand (e.g. via pip install --user) can be invoked by name from the agent process. The agent image interface contract documents this requirement for custom images. (#1153, @app/kelos-bot) - Update opencode image from 1.14.46 to 1.15.3 (#1121, @app/kelos-bot) - Update claude-code image from 2.1.138 to 2.1.143 (#1124, @app/kelos-bot) - Update gemini image from 0.41.2 to 0.42.0 (#1130,High5/20/2026
v0.33.0## Features - Update opencode image from 1.14.30 to 1.14.46 (#1087, @app/kelos-bot) - Update claude-code image from 2.1.126 to 2.1.138 (#1102, @app/kelos-bot) - Update cursor image from 2026.04.30-4edb302 to 2026.05.09-0afadcc (#1088, @app/kelos-bot) - Update codex image from 0.128.0 to 0.130.0 (#1115, @app/kelos-bot) - Update gemini image from 0.40.1 to 0.41.2 (#1104, @app/kelos-bot) - Extend `Task.spec.podOverrides` with `tolerations`, `affinity`, and `imagePullSecrets` so agent pods cHigh5/11/2026
v0.32.0## API Changes - Add GitHub Checks API reporting for TaskSpawners. Setting `reporting.checks` on a `githubPullRequests` or `githubWebhook` (with PR events) source creates GitHub Check Runs that reflect task status, enabling branch protection rules and merge queue integration. An optional `checks.name` field overrides the default check name. (#1016, @knechtionscoding) - TaskSpawner GitHubWebhook filters now support a `commentOn` field (`Issue` or `PullRequest`) that scopes `issue_comment` eveHigh5/1/2026
v0.31.0## Features - Update opencode image from 1.14.27 to 1.14.28 (#1031) - Update claude-code image from 2.1.119 to 2.1.121 (#1030) - Add webhookServer.sources.<source>.service.type Helm value to configure the Service type (ClusterIP, LoadBalancer, or NodePort) for each webhook source independently. (#1022) - Update codex image from 0.121.0 to 0.125.0 (#1013) - Update opencode image from 1.4.6 to 1.14.27 (#1005) - Update gemini image from 0.38.1 to 0.39.1 (#1009) - Update cursor image from 2High4/28/2026
v0.30.0## API Changes - Add filePatterns filtering to githubPullRequests and githubWebhook sources with remove-then-match semantics: files matching exclude patterns are removed first, then the item passes when at least one remaining file matches an include pattern. (#891) - feat: Add generic webhook source type for TaskSpawner that accepts arbitrary HTTP POST payloads and maps JSON fields to task template variables via JSONPath expressions, enabling integration with any webhook-capable system witHigh4/16/2026
v0.29.0## API Changes - Add `--values`/`-f`, `--set`, `--set-string`, and `--set-file` flags to `kelos install` for customizing the embedded Helm chart, enabling arbitrary value overrides without dedicated CLI flags. (#955) - Add podOverrides.labels field to Task and TaskSpawner for specifying custom labels on Jobs and Pods. (#938) ## Features - Update cursor image from 2026.03.30-a5d3e17 to 2026.04.08-a41fba1 (#934) - Update gemini image from 0.36.0 to 0.37.1 (#933) - Update opencode iHigh4/11/2026
v0.28.0## API Changes - Add Linear webhook support for TaskSpawners. Configure `when.linearWebhook` with resource types and filters to automatically spawn tasks from Linear events (issues, comments, projects). Supports filtering by action (create/update/remove), workflow state, labels, and exclude labels. (#866) - Add `excludeAuthors` field to `githubWebhook`, `githubIssues`, and `githubPullRequests` TaskSpawner sources to filter out events and work items from specific GitHub usernames. (#880) High4/5/2026
v0.27.0## Features - Add --ghproxy-cache-ttl flag to configure the cache TTL for workspace ghproxy instances via the controller, Helm chart, and kelos install CLI. (#871) Medium4/1/2026
v0.26.0## API Changes - Add GitHub webhook support for TaskSpawners with new `githubWebhook` source type. TaskSpawners can now be triggered by GitHub webhook events (issues, PRs, comments) with configurable filtering. Includes webhook server deployment, signature validation, and Helm chart templates with ingress support. (#851) ## Features - Update claude-code image from 2.1.87 to 2.1.88 (#854) - Update opencode image from 1.3.4 to 1.3.9 (#847) - Update cursor image from 2026.03.25-933d5a6Medium3/31/2026
v0.25.0## API Changes - You can now configure a TaskTemplate with `labels` and `annotations` expressions which will be available on the Task (#810) ## Features - Add ghproxy caching server to reduce duplicate GitHub API requests across TaskSpawner pods. Deployed automatically as part of the Helm chart. Configure allowed upstream hosts via ghproxy.allowedUpstreams Helm value. (#838) - Update opencode image from 1.3.2 to 1.3.4 (#812) - Update gemini image from 0.35.0 to 0.35.3 (#800) - UpdaMedium3/29/2026
v0.24.0## API Changes - Add `none` credential type (`credentials.type: none`) that disables built-in credential injection. Users supply provider-specific credentials via `podOverrides.env` and can set `podOverrides.serviceAccountName` for workload identity (IRSA, GKE Workload Identity, Azure Workload Identity). This enables AWS Bedrock, Google Vertex AI, and other providers without provider-specific CRD fields. (#785) ## Features - Update gemini image from 0.34.0 to 0.35.0 (#790) - Update opeMedium3/26/2026
v0.23.0## Features - Update gemini image from 0.33.2 to 0.34.0 (#732) - Update claude-code image from 2.1.77 to 2.1.81 (#744) - Update cursor image from 2026.03.11-6dfa30c to 2026.03.20-44cb435 (#745) - Update codex image from 0.115.0 to 0.116.0 (#750) - The Kelos skill can now be installed via skills.sh: `npx skills add kelos-dev/kelos` (#762) - Added `kelos install --token-refresher-resource-requests` and `--token-refresher-resource-limits` so GitHub App token refresher sidecars can be configMedium3/23/2026
v0.22.0## API Changes - Add per-source `pollInterval` field to `githubIssues`, `githubPullRequests`, and `jira` sources, allowing each source to override the root-level `spec.pollInterval`. The root-level field is deprecated. (#719) - TaskSpawner `githubIssues` and `githubPullRequests` now support `commentPolicy`, including optional GitHub user, team, and minimum-permission restrictions for comment-based workflow control. Legacy `triggerComment` and `excludeComments` remain supported for migration,Low3/17/2026
v0.21.0## Features - Add ETag-based HTTP caching to TaskSpawner to reduce GitHub API rate limit consumption (#682) Low3/15/2026
v0.20.0## API Changes - Add opt-in GitHub status reporting to TaskSpawner via `reporting.enabled` on `gitHubIssues` and `gitHubPullRequests` sources. When enabled, the spawner posts lifecycle comments to originating issues and pull requests when tasks are accepted, succeed, or fail. (#653) - Add `upstreamRepo` field to Task and TaskSpawner APIs. When set (or automatically derived from `githubIssues.repo` / `githubPullRequests.repo`), the `KELOS_UPSTREAM_REPO` environment variable is injected into aLow3/13/2026
v0.19.0## API Changes - Add `githubPullRequests` source type for TaskSpawners, enabling PR-driven workflows with filtering by review state, labels, draft status, and comment-based trigger/exclude. (#597) ## Features - AgentConfig MCP servers now support `headersFrom.secretRef` and `envFrom.secretRef` to source header and environment values from Kubernetes Secrets. (#588) ## Bug Fixes - Review comments on pull requests are now evaluated against TriggerComment and ExcludeComments filters iLow3/10/2026
v0.18.0## API Changes - Added Cursor CLI as a first-class agent type. Users can now create Tasks with `type: cursor` to run Cursor-based coding agents. (#557) ## Bug Fixes - Fixed `kelos logs` so it resolves the current live task pod, clears stale task pod references, and returns a clear message when a task no longer has a live pod. (#587) - Fix worker pods preferring stale gh CLI auth over injected workspace token by setting GH_CONFIG_DIR to a clean directory on the workspace volume and cleaLow3/8/2026
v0.16.0## API Changes - Add support for skills.sh packages in AgentConfig via `spec.skills[]` field and `--skills-sh` CLI flag (#523) ## Features - Jobs now automatically retry once on pod disruptions (node scale-down, preemption) via PodFailurePolicy. Application crashes still fail the Job immediately. (#525) - Added categorized release notes generated from PR descriptions, grouped by kind/* labels (#521) Low3/3/2026
v0.15.0## Highlights * Add anonymous telemetry heartbeat with PostHog by @kelos-bot[bot] in https://github.com/kelos-dev/kelos/pull/485 * Delete custom resources before controller during uninstall by @kelos-bot[bot] in https://github.com/kelos-dev/kelos/pull/494 ## What's Changed * Remove PR creation instructions from kelos-self-update TaskSpawner by @kelos-bot[bot] in https://github.com/kelos-dev/kelos/pull/469 * Document GitHub App authentication for Workspaces by @kelos-bot[bot] in https://giLow3/2/2026
v0.14.0## Highlights * Use Kubernetes CronJob for cron-based TaskSpawners by @axon-agent[bot] in https://github.com/kelos-dev/kelos/pull/449 * Migrate container registry from Docker Hub to GHCR by @gjkim42 in https://github.com/kelos-dev/kelos/pull/463 * Support immediate re-triggering of completed tasks via TriggerComment by @axon-agent[bot] in https://github.com/kelos-dev/kelos/pull/452 ## What's Changed * Update demo links in README.md by @gjkim42 in https://github.com/kelos-dev/kelos/pull/45Low2/27/2026
v0.13.0## ANNOUNCEMENT - axon-core/axon is renamed to kelos-dev/kelos ## What's Changed * Restart controller deployment in local-run.sh by @gjkim42 in https://github.com/kelos-dev/kelos/pull/412 * Add task pipeline example and document dependency result passing by @axon-agent[bot] in https://github.com/kelos-dev/kelos/pull/419 * Fix inaccurate Opus cost estimates in README by @axon-agent[bot] in https://github.com/kelos-dev/kelos/pull/423 * Update Gemini CLI version from 0.29.0 to 0.29.6 by @axLow2/27/2026
v0.12.0## Highlights * Support Jira as external source for TaskSpawner by @axon-agent[bot] in https://github.com/axon-core/axon/pull/368 * feat(workspace): Add optional remotes field to Workspace CRD by @aslakknutsen in https://github.com/axon-core/axon/pull/405 * feat(taskspawner): Support GitHub fork workflow for issue polling by @gjkim42 in https://github.com/axon-core/axon/pull/411 ## What's Changed * Install axon CLI to ~/.local/bin by default (no sudo required) by @axon-agent[bot] in httpsLow2/22/2026
v0.11.0## Highlights * Add codex OAuth credential support and parameterized e2e tests by @gjkim42 in https://github.com/axon-core/axon/pull/374 ## What's Changed * Harden self-development workflow configs by @axon-agent[bot] in https://github.com/axon-core/axon/pull/353 * Restructure README for better first-impression conversion by @gjkim42 in https://github.com/axon-core/axon/pull/356 * Add --version and --image-pull-policy flags to axon install by @gjkim42 in https://github.com/axon-core/axoLow2/18/2026
v0.10.0## Highlights * Add task dependencies with dependsOn field by @gjkim42 in https://github.com/axon-core/axon/pull/324 * Add structured Results field to TaskStatus by @gjkim42 in https://github.com/axon-core/axon/pull/327 * Add branch field for branch management by @gjkim42 in https://github.com/axon-core/axon/pull/336 * Extract commit, base-branch, and usage outputs from tasks by @gjkim42 in https://github.com/axon-core/axon/pull/339 * Support MCP servers in AgentConfig by @axon-agent[bot] iLow2/15/2026
v0.9.0## What's Changed * Add e2e framework with per-test namespace isolation by @axon-agent[bot] in https://github.com/axon-core/axon/pull/308 * docs: add table of contents to README.md by @gjkim42 in https://github.com/axon-core/axon/pull/321 * Add explicit push and PR update steps to worker prompt by @gjkim42 in https://github.com/axon-core/axon/pull/317 * Add AgentConfig support to OpenCode entrypoint by @axon-agent[bot] in https://github.com/axon-core/axon/pull/319 * Add /squash-commits slasLow2/14/2026
v0.8.0## Highlights * Add podOverrides to TaskSpec and TaskTemplate by @gjkim42 in https://github.com/axon-core/axon/pull/258 * Add AgentConfig CRD for agent configuration bundling by @gjkim42 in https://github.com/axon-core/axon/pull/284 * Add opencode agent type support by @gjkim42 in https://github.com/axon-core/axon/pull/191 ## What's Changed * docs: sync self-development README schedules by @gjkim42 in https://github.com/axon-core/axon/pull/262 * Persist git credential helper for agent coLow2/13/2026
v0.7.0## What's Changed * Add AGENTS.md and link CLAUDE.md by @gjkim42 in https://github.com/axon-core/axon/pull/180 * Add --dry-run flag for run, create, and install commands by @gjkim42 in https://github.com/axon-core/axon/pull/188 * Add actor labels to differentiate actors by @gjkim42 in https://github.com/axon-core/axon/pull/190 * Prompt user before overriding existing config and credentials by @gjkim42 in https://github.com/axon-core/axon/pull/177 * docs: Add comprehensive README for self-deLow2/11/2026
v0.6.0## Axon is now open source ๐ŸŽ‰ Starting with this release, Axon is licensed under Apache License 2.0, replacing the previous Business Source License (BSL 1.1). We believe infrastructure tooling for running AI agents should be open and auditable โ€” especially when it runs inside your Kubernetes cluster. Open-sourcing Axon means you can inspect, modify, and redistribute the code with confidence. ## What's Changed * Add axon-fake-user cron TaskSpawner by @gjkim42 in https://github.com/axon-Low2/9/2026
v0.5.0* [BREAKING CHANGE] Move workspaceRef from GitHubIssues to TaskTemplate level by @gjkim42 in https://github.com/axon-core/axon/pull/142 ## What's Changed * Check CI on merge_group by @gjkim42 in https://github.com/axon-core/axon/pull/120 * Add cron source to TaskSpawner by @gjkim42 in https://github.com/axon-core/axon/pull/118 * claude-code: Setup golang in the image by @gjkim42 in https://github.com/axon-core/axon/pull/113 * Add kind label management to label workflow by @gjkim42 in htLow2/8/2026
v0.4.0## What's Changed * Move module path from gjkim42/axon to axon-core/axon by @gjkim42 in https://github.com/axon-core/axon/pull/112 * Fix integration test and update image registry by @gjkim42 in https://github.com/axon-core/axon/pull/114 * Revise Additional Use Grant in LICENSE by @gjkim42 in https://github.com/axon-core/axon/pull/116 **Full Changelog**: https://github.com/axon-core/axon/commits/v0.4.0Low2/8/2026

Dependencies & License Audit

Loading dependencies...

Similar Packages

MeowKitProduction ready. AI Agent Workflow System for Claude Codev2.10.2
outputThe open-source TypeScript framework for building AI workflows and agents. Designed for Claude Code describe what you want, Claude builds it, with all the best practices already in place.main@2026-06-05
taktTAKT: TAKT Agent Koordination Topology - AI Agent Workflow Orchestrationmain@2026-06-03
meerkatMeerkat - A modular, high-performance agent harness built in Rust.v0.6.34
h5iNext-Gen AI-Aware Gitv0.1.6

More in Frameworks

langchainThe agent engineering platform
deer-flowAn open-source long-horizon SuperAgent harness that researches, codes, and creates. With the help of sandboxes, memories, tools, skill, subagents and message gateway, it handles different levels of ta
tqdmFast, Extensible Progress Meter
simBuild, deploy, and orchestrate AI agents. Sim is the central intelligence layer for your AI workforce.