hardcodedUi.autoAppPublicMarketingDevelopersPageJsxTextAgentsSkillsTools813c489d
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
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.
One repo, one config, one command. The whole path, top to bottom.
One line installs the CLI. singulacomp init scaffolds singulacomp.yaml and .singulacomp/, wired to your coding agent.
hardcodedUi.autoAppPublicMarketingDevelopersPageJsxAttrBodyAnAgentd3ac5ad4
---
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.
singulacomp.yaml holds secrets, sandbox images, triggers, connectors, and channels. Versioned from the first commit.
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
hardcodedUi.autoAppPublicMarketingDevelopersPageJsxAttrBodySingulaCompShipef9c33ee
hardcodedUi.autoAppPublicMarketingDevelopersPageJsxAttrBodyEverySession6d5c7d97
hardcodedUi.autoAppPublicMarketingDevelopersPageJsxAttrBodySessionsRund6d02c3d
hardcodedUi.autoAppPublicMarketingDevelopersPageJsxTextScaffoldShipRunb35564e3
$ singulacomp initScaffold singulacomp.yaml + .singulacomp/
$ singulacomp shipCommit, push, link & go live
$ singulacomp validateType-check your manifest
$ singulacomp sessionsSpawn & manage sandbox sessions
$ singulacomp chatTalk to a session's agent
$ singulacomp filesBrowse the repo, diffs & branches
$ singulacomp triggersCron & webhook automations
$ singulacomp channelsConnect Slack & chat surfaces
$ singulacomp connectorsWire up 3,000+ tools
$ singulacomp secretsManage encrypted secrets
$ singulacomp envPull / push as dotenv
$ singulacomp crOpen, review & merge change requests
$ singulacomp accessInvite, grant & revoke access
$ singulacomp self-hostRun your own SingulaComp cloud
$ singulacomp hosts useSwitch cloud ↔ local
$ singulacomp providersBring your own model keys
hardcodedUi.autoAppPublicMarketingDevelopersPageJsxTextEverySessionRuns6dd000d3
hardcodedUi.autoAppPublicMarketingDevelopersPageJsxTextSingulaCompConnectorsPut612736c1
+ 3,000 more via Pipedream
hardcodedUi.autoAppPublicMarketingDevelopersPageJsxTextBecauseEverythingIsd6715079
Agents, skills, tools, connectors and schedules live in the repo. Edit in your IDE, in the web UI, or let an agent edit them.
Describe a change and an agent ships it — referencing what already exists, reusing patterns, opening a PR you review.
Non-devs publish skills as markdown; SingulaComp handles the branch, PR and merge behind the scenes. Versioned, reviewable, auditable.
When a token expires or a service blips, SingulaComp refreshes it or asks you to reconnect in plain language — never a cryptic error.
Type checks, lint, docs validation and dedup run before anything merges, so a fast-moving, agent-written codebase stays coherent.
The UI is a reference, not a requirement. Anything you can do in a menu, you can do with a message.