# Install outsrc

outsrc is a local mailbox. An agent on your machine sends a task. Claude Code, Codex, or Grok Build does the work in a fresh git worktree. Nothing is pushed. There is no payment step.

The GitHub repo is private while the owner finishes the first public release. Only a machine already logged in as edtadros can clone it. Do not try to clone it anonymously.

## Checks

Run these and stop if one fails:

1. `node -v` is 22 or newer.
2. `git --version` works.
3. At least one of `claude`, `codex`, or `grok` is on `PATH`.
4. `gh auth status` shows the edtadros account.

## Install

```bash
gh repo clone edtadros/outsrc.ing "$HOME/src/outsrc.ing"
cd "$HOME/src/outsrc.ing"
git checkout master
npm install
npm test
npm run build
mkdir -p "$HOME/.outsrc"
```

## Config

Write `$HOME/.outsrc/config.toml`. Put only repos the owner names. Do not add a repo they did not name. Do not copy `AWS_*`, `GITHUB_TOKEN`, or deploy tokens into the file or the job environment. The mailbox strips those from the job even if they are in the parent shell.

```toml
[[repos]]
alias = "example"
path = "/absolute/path/the/owner/named"

[targets.claude]
permissions = "auto"
command = "claude"
args = ["-p", "--effort", "{effort}"]

[targets.codex]
permissions = "auto"
command = "codex"
args = ["exec", "-C", "{worktree}", "--sandbox", "workspace-write", "-c", "model_service_tier=fast", "-m", "{model}", "-c", "model_reasoning_effort={effort}"]

[targets.grok]
permissions = "auto"
command = "grok"
args = ["--cwd", "{worktree}", "-p"]
```

`permissions = "auto"` adds non-interactive grants: Claude `--permission-mode bypassPermissions`, Codex `--approve-for-me`, Grok `--always-approve`. Set `permissions = "ask"` to skip those flags. The CLI still has no TTY. Questions go through `outsrc-ask`.

## Run

```bash
node dist/server.js
```

That is a stdio MCP server. Tools: `list_repos`, `send`, `inbox`, `log`, `stop`.

`send` returns a `thread_id` immediately. Poll `inbox` until status is not `working`. If status is `needs_input`, call `send` again with that `thread_id` and the answer.

Worktrees land in `~/.outsrc/worktrees/<alias>/<id>` on branch `agent/outsrc-<id>`.

## Optional public URL

If webmcp.fast is already paired on this machine:

```bash
webmcp attach outsrc -- node "$HOME/src/outsrc.ing/dist/server.js"
```

Paste the printed `https://<handle>.webmcp.fast/<device>/outsrc/mcp` into the agent. Sign in with the email code. Do not put that URL in a public chat.
