Sign inSign up

theaiinc/simasis-device:0.1.0

Manifest digest

sha256:a0efe2369d984b7e9f9ce5e3e981a0125b1cde660a13e0380ed0dd8884504e84

Last pushed

23 days by stevetrantheaiinc

Type

Sandbox Kit

Manifest digest

sha256:a0efe2369d984b7e9f9ce5e3e981a0125b1cde660a13e0380ed0dd8884504e84

yaml
schemaVersion: "2"
kind: sandbox
name: simasis-device
version: 0.1.0
displayName: Simasis device (headless)
description: 'Claude Code plus a headless Simasis device runner: the Claude Code jobs your Simasis account queues for this device (run_on_device) run here and come back as draft pull requests.'
sourceURL: https://app.simasis.com
extends: claude
args:
    repos:
        default: ""
        description: GitHub repos this device may work in, as clone URLs separated by commas
    simasis_url:
        default: https://app.simasis.com
        description: The Simasis deployment to take jobs from
        pattern: ^https://[A-Za-z0-9.-]+(:[0-9]+)?$
agentInstructions:
    content: |
        ## Simasis device

        This sandbox is linked to a Simasis account as a device. A background
        runner (~/simasis-device/device-runner.mjs, log in ~/.simasis/runner.log) takes
        the Claude Code jobs that account queues for it, runs each in a fresh git
        worktree under ~/.simasis/worktrees, and opens a draft pull request.

        - First start: `cat ~/.simasis/LINK.txt` shows the code to approve at
          app.simasis.com. `node --use-env-proxy --use-system-ca ~/simasis-device/device-runner.mjs status` shows the
          link state and the repos.
        - Repos live in ~/repos (from the kit's `repos` argument). Don't commit
          to or push from them directly; the runner works in worktrees.
permissions:
    network:
        allow:
            - app.simasis.com
            - github.com
            - api.github.com
            - codeload.github.com
            - objects.githubusercontent.com
            - raw.githubusercontent.com
credentials:
    - service: github
      description: Clone the repos, push job branches and open draft pull requests
      apiKey:
        name: GH_TOKEN
        proxyManaged: true
        inject:
            - domain: github.com
              header: ""
              format: '%s'
              username: x-access-token
            - domain: api.github.com
              header: Authorization
              format: Bearer %s
environment:
    variables:
        SIMASIS_APPROVAL: auto
        SIMASIS_REPOS: ${{ kit.args.repos }}
        SIMASIS_URL: ${{ kit.args.simasis_url }}
setup:
    startup:
        - command:
            - sh
            - -c
            - mkdir -p /home/agent/.simasis && exec node --use-env-proxy --use-system-ca /home/agent/simasis-device/device-runner.mjs >> /home/agent/.simasis/runner.log 2>&1
          background: true
          description: Simasis device runner (log in ~/.simasis/runner.log)