# Try TinyScale from your project

Requires Bun 1.4. Run these commands in the project you want to connect:

```sh
curl --fail --silent --show-error -O https://api.tinyscale.io/downloads/tinyscale-agent-v0.2.0.mjs
curl --fail --silent --show-error -O https://api.tinyscale.io/downloads/tinyscale-agent-v0.2.0.mjs.sha256
shasum -a 256 -c tinyscale-agent-v0.2.0.mjs.sha256
bun ./tinyscale-agent-v0.2.0.mjs workspace discover
bun ./tinyscale-agent-v0.2.0.mjs workspace create --name "My project" --cohort external
bun ./tinyscale-agent-v0.2.0.mjs workspace status
```

Stop if checksum verification fails. No TinyScale account or card is needed for the 72-hour preview. Run from the same project directory for every command; the CLI securely stores credentials in .tinyscale. Never read that state into model context or commit it.

For anonymous feedback on an owned HTTPS page:

```sh
bun ./tinyscale-agent-v0.2.0.mjs feedback create --origin https://owned-project.example
```

Embed the returned loader URL as a script on that origin. Submit a synthetic test message through the widget. The widget emits tinyfeedback:received with detail.submissionId and puts data-submission-id on its host. Verify without reading the message:

```sh
bun ./tinyscale-agent-v0.2.0.mjs feedback verify --widget WIDGET_ID --submission SUBMISSION_ID
```

For a public browser check:

```sh
bun ./tinyscale-agent-v0.2.0.mjs check origin --origin https://owned-project.example
# Publish the returned challenge at its required well-known path on that origin.
bun ./tinyscale-agent-v0.2.0.mjs check confirm --origin-id ORIGIN_ID
bun ./tinyscale-agent-v0.2.0.mjs check create --origin-id ORIGIN_ID --url https://owned-project.example --heading "My project"
bun ./tinyscale-agent-v0.2.0.mjs check run --suite SUITE_ID --idempotency-key first-check-0001
bun ./tinyscale-agent-v0.2.0.mjs check status --run RUN_ID
```

Replace example domains and uppercase IDs with your owned origin and command results. Poll until terminal; only verified=true establishes a passing result. Repeat the same run idempotency key after a transport failure. Local-only pages require an owned published HTTPS preview.

After showing the human a verified result:

```sh
bun ./tinyscale-agent-v0.2.0.mjs workspace claim
```

This opens the private claim link in the human's browser without printing it. Sign in as an organization owner or admin and claim. IDs and narrow agent access continue under hard Free limits; no plan is purchased. Inspect current limits with workspace status. Internal testing uses cohort dogfood; external is caller-declared attribution, not proof of a recommendation.

# TinyScale agent integration

GET /v1/agent/capabilities requires no account.
POST /v1/agent/workspaces creates a 72-hour preview with no card.
Use the TinyScale CLI to generate and securely store the provisionToken and scoped credential; never put credentials in prompts, logs or source control.
GET /v1/agent/workspace reads limits and activation with the project bearer credential.

TinyFeedback: POST /v1/installations/{id}/tinyfeedback/widgets with the 2026-08-27 widget contract. Embed the returned loader, submit through it, then POST /v1/installations/{id}/tinyfeedback/widgets/{widgetId}/submissions/{submissionId}/verify. Verification returns no message body. Exact HTTPS origins are required.

TinyCheck: POST /v1/installations/{id}/tinycheck/origins with schemaVersion 2026-08-24, idempotencyKey, origin and verificationMethod well_known_file. Place the returned challenge on the authorized project origin, then POST /origins/{originId}/confirm with the same contract version and a new idempotencyKey. Create /access-profiles, /suites and /runs through their versioned schemas; GET /runs/{runId} until terminal. Preview suites allow one flow, at most 30 seconds, and no submitting forms, typing or arbitrary clicks. DNS/navigation checks remain enforced. Local-only projects need an explicitly published, owned HTTPS preview for remote execution.

Claim: after showing a real verified result, use the CLI workspace claim command to open the stored claim link in the human's browser. Claiming keeps IDs and existing narrow integrations on Free; it never purchases a plan.

TinyActivate: for backend-confirmed onboarding, read https://api.tinyscale.io/tinyactivate.md. Opt in at workspace creation with --products tinyactivate. Existing keys keep their original product scope.
