Docs

Get your agent running in Sulcus Cloud.

What your repository needs, what to enter when you create a project, and what happens when you start a run.

Quick start

First run in five steps.

  1. Create an account

    Sign up for Sulcus Cloud with Google, GitHub or email. You get a workspace for your projects and runs.

  2. Create a project

    Enter the public HTTPS repository URL, a branch, tag or commit, the path to your Python entrypoint, the framework it uses and a dependency mode.

  3. Start a run

    Add the runtime secrets your app needs, such as your model provider’s API key, and optionally a token limit for this run.

  4. Watch Run Details

    Follow the workflow tree, model and tool activity, AI usage and issues as they arrive.

  5. Stop or inspect

    Stop the run at any time. When it ends, the outcome, activity history and resolved commit stay with the run.

Example

A normal entrypoint.

Sulcus runs your entrypoint the way python app.py would, so code under if __name__ == "__main__": executes. Invoke your graph, crew or agent the way you already do.

Put langgraph and your model provider’s package in a requirements.txt or pyproject.toml at the repository root.

app.py
# app.py: runs as-is in Sulcus Cloud, with no Sulcus imports
from typing import TypedDict
from langgraph.graph import StateGraph, START, END

class State(TypedDict):
    question: str
    answer: str

def answer(state: State) -> dict:
    return {"answer": f"You asked: {state['question']}"}

graph = StateGraph(State)
graph.add_node("answer", answer)
graph.add_edge(START, "answer")
graph.add_edge("answer", END)
app = graph.compile()

if __name__ == "__main__":
    print(app.invoke({"question": "What does Sulcus see?"}))

Requirements

What Sulcus needs from your repository.

SettingWhat’s supportedNotes
RepositoryPublic HTTPS Git URLPrivate repositories, SSH URLs and credentials in the URL aren’t supported.
ReferenceBranch, tag or commitSulcus resolves it to an exact commit and records it with the run.
EntrypointRelative path to a Python fileMust be inside the repository. It runs as __main__.
LanguagePython 3.12Other languages aren’t supported.
FrameworkLangGraph, CrewAI or OpenAI Agents SDKChoose the framework your entrypoint actually uses.
DependenciesAuto, requirements, project or noneAuto installs from pyproject.toml if present, otherwise from requirements.txt. Both are read from the repository root.
NetworkOutbound accessYour app can reach model providers and other services. Outbound access isn’t restricted to a domain allowlist.
ResourcesFixed per runThe platform sets CPU, memory and time limits. They aren’t configurable.

Secrets and limits

Set per run.

Runtime secrets

Add API keys and other secrets when you start a run. Your app reads them as environment variables. They aren’t saved with the project or the run, and known values are redacted from events and logs on a best-effort basis. Enter them again for each run.

Token limit

Optionally set a total token limit for the run. Run Details shows usage against it and warns as it approaches. Once reported usage reaches the limit, Sulcus blocks the next model call and ends the run.

The limit uses the token counts your framework reports. A request already in flight can finish and go slightly over. It isn’t a billing or spending cap.

Stopping a run

Use Stop run in Run Details to end an active run and its container.

Frameworks

What Sulcus observes in each one.

Developer Preview

Codex and Claude Code, observed locally.

The Sulcus CLI can launch Codex or Claude Code on your machine, link the device to your Sulcus Cloud account and stream privacy-reduced telemetry into your Runs view. Prompts, command output and file diffs stay local. Cloud only observes these sessions: it can’t stop them or approve or deny their actions.

The preview is early and changing. To try it, email support@sulcus.dev.

Get started

Ready for your first run?

If you get stuck, email support and we’ll help you get your repository running.

Python · public HTTPS Git repos · LangGraph, CrewAI, OpenAI Agents SDK