Skip to content

dicodeYou describe it. AI builds, ships, and fixes it.

A task kernel with AI at every stage. Single binary, zero infrastructure, everything versioned in git. Open source, free forever.

How it works โ€‹

You describe โ”€โ”€โ†’ AI generates โ”€โ”€โ†’ Git commits โ”€โ”€โ†’ dicode reconciles โ”€โ”€โ†’ Task runs
  1. Describe what you want to automate โ€” in the web UI, CLI, or via an AI agent
  2. AI writes the code โ€” generates task.yaml + task.ts, validates it, commits to git
  3. GitOps reconciliation โ€” dicode watches your repo and auto-registers tasks within seconds
  4. Monitor & iterate โ€” live logs, run history, task chaining, all from the dashboard

Quick example โ€‹

A cron task that checks GitHub PRs every weekday morning:

yaml
apiVersion: dicode/v1
kind: Task
name: GitHub PR Digest
runtime: deno
trigger:
  cron: "0 9 * * 1-5"
permissions:
  env:
    - GITHUB_TOKEN
    - SLACK_WEBHOOK_URL
typescript
const token = Deno.env.get("GITHUB_TOKEN")!;
const repo = await params.get("repo") ?? "my-org/my-repo";

const res = await fetch(`https://api.github.com/repos/${repo}/pulls?state=open`, {
  headers: { Authorization: `Bearer ${token}` },
});
const prs = await res.json();

const lastCount = (await kv.get("pr_count") as number) ?? 0;
if (prs.length !== lastCount) {
  await fetch(Deno.env.get("SLACK_WEBHOOK_URL")!, {
    method: "POST",
    headers: { "Content-Type": "application/json" },
    body: JSON.stringify({ text: `๐Ÿ“‹ ${prs.length} open PRs in ${repo}` }),
  });
  await kv.set("pr_count", prs.length);
}

return { prCount: prs.length };

Architecture โ€‹

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  dicoded (daemon)                                           โ”‚
โ”‚                                                             โ”‚
โ”‚  Reconciler โ”€โ”€โ†’ Registry โ”€โ”€โ†’ Trigger Engine                 โ”‚
โ”‚                                     โ”‚                       โ”‚
โ”‚  AI Generation    Web Dashboard    Runtimes                 โ”‚
โ”‚                   + REST API       Deno ยท Python            โ”‚
โ”‚                   + MCP Server     Docker ยท Podman           โ”‚
โ”‚                                     โ”‚                       โ”‚
โ”‚  Relay Client โ”€โ”€โ†’ WSS tunnel       SQLite                   โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
  โ–ฒ unix socket
  โ”‚
  dicode (CLI) โ”€โ”€ run ยท list ยท logs ยท status ยท secrets

Two binaries: dicoded (daemon โ€” runs everything) and dicode (CLI โ€” auto-starts daemon, talks over Unix socket).

No infrastructure required. SQLite for storage, fsnotify for file watching, embedded web UI. One binary, zero dependencies.

What's in the docs โ€‹

SectionWhat you'll learn
Getting StartedInstall, create your first task, configure dicode.yaml
Taskstask.yaml format, all fields, Docker config
RuntimesDeno, Python, Docker, Podman โ€” setup and features
TriggersCron, webhook (with HTML UIs), manual, chain, daemon
SDK Globalsparams, kv, input, output, dicode, mcp โ€” Deno & Python
SecretsEncrypted store, provider chain, CLI management
Sources & TaskSetsGit sources, local sources, TaskSet composition, dev mode
Task SharingCommunity registry, overrides, multi-machine deployment
Hot Reload100ms local reload, git webhook sync, dev mode
Webhook Relay & OAuthNAT traversal, ECDSA identity, zero-setup OAuth
AI AgentBuilt-in AI chat, MCP server, skills, BYO provider
Throwaway UIsWebhook visualizers, polls, approval gates, dashboards
ExamplesCron task, webhook form, Docker container

Open source โ€‹

dicode is AGPL-3.0 licensed and free to self-host โ€” no feature gates, no trial limits. The full engine (reconciler, runtimes, scheduler, secrets, relay, MCP) is yours to run forever. The copyleft license ensures the code stays open.

View on GitHub ยท Landing Page