# Introducing engrams: an open source software factory

> engrams is an open source platform for running Claude Code, Codex, or your own agent in your cloud.

_By Nikhil Unni · Published 2026-09-24 · Tags: engrams, software-factories, ai-agents, coding-agents, sdlc, open-source_
Source: https://builders.cortex.io/blog/introducing-engrams/

---

Today we're open sourcing [`engrams`](https://github.com/cortexapps/engrams), an open-source platform for running coding agents in your own cloud to automate parts of your SDLC.

![A task in the engrams dashboard: asked to draw a PNG of a pelican riding a bicycle, the agent shares the finished image in the transcript while a shell on the right pane shows the source it wrote inside the VM](../../assets/blog/engrams-launch/session-while-it-runs.png)

We [previously wrote](../../tags/engrams/) about some of the technical underpinnings of that work, and we're excited to finally share what we've built with the world!

If you want to dive right in, you can get started with our [docs](https://engramsfactory.com/docs/), but I'm excited to share how we've been using it for the last few months:

## Internal Usage

Internally, Cortex engineers use `engrams` every day to offload Claude Code work to the cloud -- either through the UI or through a Slack mention -- but we found automations were where cloud agents really shine.

Because `engrams` supports OpenRouter, we can carefully pick which model makes sense for each workload, to fully optimize cost.

Here are some of the automations running in our engineering org today:

### Dependency upgrades and CVE fixes

On a schedule, an agent scans for outdated dependencies and open CVEs. It opens each upgrade, runs the tests, and fixes whatever breaks. Every change gets its own pull request, and the PR review automation reviews it before a human does.

It also knows when to escalate to a human! When an upgrade has a question only a person can answer, such as a runtime jump the test suite doesn't fully cover, the agent flags it for a human instead of pushing it through.

### Memory hot spots

Daily, an agent queries Datadog profiles for the largest allocation frames in production. It opens a task on the service that owns the code and rewrites the hot path. The pull request includes the before and after numbers, so the reviewer can see the payoff.

![The engrams Slack app posting an allocation sweep: fresh production profiles, and two optimization pull requests ready for a human to review and merge](../../assets/blog/engrams-launch/usecase-memory-hotspots.png)

### Bug triage

For every new error detected at runtime, the agent reproduces and diagnoses the error, then either pushes a fix or files an issue with the root cause. If the same error fires again, it joins the run already in flight, so work is deduped.

Sometimes with error tracking, they turn out to be just noise (maybe from degenerate Chrome Extension interactions). In that case the agent says so and explains why, rather than opening a PR for the sake of it.

![A Datadog error filed as a Linear issue in Slack, followed by engrams reporting that no change was needed and why, plus a separate lead for a human](../../assets/blog/engrams-launch/usecase-bug-triage.png)

### End to end software delivery

With this we're experimenting with `engrams` truly being autonomous: we give it a Linear project to control and a Slack channel for communication with the org, and can it take a project end-to-end on its own.

One long running agent watches a Linear project and owns its Slack channel. It picks up issues, opens pull requests, answers questions in the thread, and posts a daily status update. If someone replies in the thread that a PR is failing CI, the same agent diagnoses the failure, pushes a fix, and reports back when the build is green.

For working on individual tickets, it spawns sub-agents that run in their own microVMs to do the work.

![An engrams daily status update for a migration project in Slack; an engineer replies that a PR is failing CI, and the agent pushes a fix and confirms the build is green](../../assets/blog/engrams-launch/usecase-project-owner.png)

## Get started

You can run the whole stack on one machine. From a clone of the repo:

```bash
just bootstrap          # writes a local master key (once)
just pull-kernel        # fetches the guest kernel for your machine (once)
just dev                # starts everything
just bake-demo-enable   # builds and enables a demo image
```

Open the dashboard at `http://localhost:5173`, add a model key in Settings, and start your first task. The [quickstart](https://github.com/cortexapps/engrams#quick-start) has the details.

When you're ready for a shared deployment, follow the [GCP](https://github.com/cortexapps/engrams/blob/main/docs/deploy-gcp.md) or [AWS](https://github.com/cortexapps/engrams/blob/main/docs/deploy-aws.md) guide.

Production runs on Intel nodes with nested virtualization: C3 on GKE, m8i or `*.metal` on EKS. For local development, an Apple Silicon Mac runs sessions under Apple's Virtualization framework, and any Linux machine with `/dev/kvm` runs them under Firecracker. You bring the model key (Anthropic or OpenAI), or point a harness at a router like OpenRouter.

engrams is 0.x, and APIs will change as we go. We'd love your help shaping it: star the repo, open an issue, or send a PR.
