One singulacomp.yaml. One Git repo.
Your entire AI workforce, as code.

hardcodedUi.autoAppPublicMarketingDevelopersPageJsxTextAgentsSkillsTools813c489d

$ curl -fsSL https://singulacomp.ai/install | bash
Read the docs
the repo is the product
acme-ops/
singulacomp.yaml
.singulacomp/
opencode/
agents/
support-triage.md
skills/
ticket-triage/
tools/
web_search.ts
Dockerfile
singulacomp.yamldeclare it once
singulacomp_version: 2

project:
  name: acme-ops

sandbox:
  image: .singulacomp/Dockerfile

agents:
  support-triage:
    connectors: [slack, linear]
    skills: [ticket-triage, singulacomp-memory]

triggers:
  - type: cron
    schedule: "0 8 * * *"
    agent: support-triage
singulacomp
$
The thesis

The coding-agent loop, for real work

Describe intent, an agent edits files, you review the diff. SingulaComp runs that same loop for support, ops, and research.

Agents are sandboxes

Every agent runs in its own disposable cloud VM, on its own git branch. Spin up thousands in parallel — nothing is shared between runs.

Work is code

Agents, skills, triggers, connectors and policies are plain files in one repo. Diff them, review them in a change request, roll them back.

You own the stack

Open source. Self-host the exact same stack, bring your own runtime and model keys. No black box, no lock-in.

The loop

From curl to production

One repo, one config, one command. The whole path, top to bottom.

01

Install & scaffold

One line installs the CLI. singulacomp init scaffolds singulacomp.yaml and .singulacomp/, wired to your coding agent.

$ curl -fsSL https://singulacomp.ai/install | bash
init
singulacomp init
singulacomp.yaml
.singulacomp/opencode/
02

Build it locally, like code

hardcodedUi.autoAppPublicMarketingDevelopersPageJsxAttrBodyAnAgentd3ac5ad4

support.md
---
description: Acme's support agent. Resolves tickets end to end.
mode: primary
model: anthropic/claude-opus-4-8
tools:
  lookup_order: true
---

You are Acme's support agent. Resolve customer tickets
end to end, with full product and order context.

Issue refunds under $500 on your own. Anything higher
goes to a human for approval.
03

Declare the project in one manifest

singulacomp.yaml holds secrets, sandbox images, triggers, connectors, and channels. Versioned from the first commit.

singulacomp.yaml
singulacomp_version: 2

project:
  name: acme

# the OpenCode runtime config dir
opencode:
  config_dir: .singulacomp/opencode

# a trigger runs itself, on a schedule
triggers:
  - slug: daily-digest
    type: cron
    agent: research
    cron: "0 0 9 * * 1-5"
    prompt: Summarize yesterday across Slack & Linear

# connect a tool's API as agent tools
connectors:
  - slug: stripe
    provider: http
    base_url: https://api.stripe.com

# answer where your team works
channels:
  - platform: slack
    agent: support
04

Ship it

hardcodedUi.autoAppPublicMarketingDevelopersPageJsxAttrBodySingulaCompShipef9c33ee

singulacomp ship
singulacomp ship
committed & pushed tomain
secrets synced · sandbox built
live — triggers & channels running
05

It runs as a fleet of sandboxes

hardcodedUi.autoAppPublicMarketingDevelopersPageJsxAttrBodyEverySession6d5c7d97

main ──────●────────●────────●────▶
├─ session 1f3a sandbox ─╮
├─ session 9b22 sandbox ─┤ change
├─ session 4e07 sandbox ─┤ requests
└─ … ×1000 sandboxes ─╯
review → merge → main
06

Bring your own runtime & model

hardcodedUi.autoAppPublicMarketingDevelopersPageJsxAttrBodySessionsRund6d02c3d

$ singulacomp providers login anthropic
using your own key(byo)
# or point at any runtime / model
$ singulacomp providers set --model opus-4.8
$ singulacomp providers set --model gpt-5
One CLI

The whole lifecycle, one CLI

hardcodedUi.autoAppPublicMarketingDevelopersPageJsxTextScaffoldShipRunb35564e3

Scaffold & ship

$ singulacomp init

Scaffold singulacomp.yaml + .singulacomp/

$ singulacomp ship

Commit, push, link & go live

$ singulacomp validate

Type-check your manifest

Run & talk

$ singulacomp sessions

Spawn & manage sandbox sessions

$ singulacomp chat

Talk to a session's agent

$ singulacomp files

Browse the repo, diffs & branches

Automate

$ singulacomp triggers

Cron & webhook automations

$ singulacomp channels

Connect Slack & chat surfaces

Connect

$ singulacomp connectors

Wire up 3,000+ tools

$ singulacomp secrets

Manage encrypted secrets

$ singulacomp env

Pull / push as dotenv

Review

$ singulacomp cr

Open, review & merge change requests

$ singulacomp access

Invite, grant & revoke access

Operate

$ singulacomp self-host

Run your own SingulaComp cloud

$ singulacomp hosts use

Switch cloud ↔ local

$ singulacomp providers

Bring your own model keys

Full CLI reference
Scale

1 session = 1 sandbox = 1 branch

hardcodedUi.autoAppPublicMarketingDevelopersPageJsxTextEverySessionRuns6dd000d3

  • Anything worth keeping comes back as a change request — and merges into main
  • Main is always the source of truth: every agent action is auditable Git history
  • It’s all Git under the hood — branch, diff, review, merge
  • The same SingulaComp CLI runs inside every sandbox — so running locally and in the cloud is identical
  • Isolated compute per session; one runaway agent can’t touch another
git log --graph
* c7e2 CR #84 merged (main)
|\
| * s_7f2a triage 14 tickets
| * s_3c1d build board deck
| * s_9a04 draft outreach
|/
* a1f3 baseline (main)
… millions of branches, one source of truth
Connectors

Every tool, behind one interface

hardcodedUi.autoAppPublicMarketingDevelopersPageJsxTextSingulaCompConnectorsPut612736c1

  • 3,000+ one-click apps via Pipedream — OAuth handled for you
  • Or bring any MCP, OpenAPI, GraphQL or HTTP endpoint — same interface
  • Credentials live server-side and never reach the sandbox
  • Agents hold one scoped SingulaComp token; connect once, shared org-wide, self-healing
connectors · request path
AppMCPOpenAPIGraphQLHTTP
sandboxagent runtime
only a scoped token leaves the box
SINGULACOMP_TOKEN
SingulaComp Connectorconnect proxy · gateway
SlackSlack
GitHubGitHub
SalesforceSalesforce
NotionNotion
StripeStripe
LinearLinear

+ 3,000 more via Pipedream

It's all code

A platform that improves itself

hardcodedUi.autoAppPublicMarketingDevelopersPageJsxTextBecauseEverythingIsd6715079

Everything is files

Agents, skills, tools, connectors and schedules live in the repo. Edit in your IDE, in the web UI, or let an agent edit them.

Agents edit themselves

Describe a change and an agent ships it — referencing what already exists, reusing patterns, opening a PR you review.

Skills, git-backed and invisible

Non-devs publish skills as markdown; SingulaComp handles the branch, PR and merge behind the scenes. Versioned, reviewable, auditable.

Self-healing connections

When a token expires or a service blips, SingulaComp refreshes it or asks you to reconnect in plain language — never a cryptic error.

Quality gates built in

Type checks, lint, docs validation and dedup run before anything merges, so a fast-moving, agent-written codebase stays coherent.

Every feature is a conversation

The UI is a reference, not a requirement. Anything you can do in a menu, you can do with a message.

Run your whole company from one repo you own.

Start with one job and grow from there.

Get started