# SDK beta evaluation

> Test the Kismet SDK beta candidate with Claude Code, Codex, Lovable, or another coding agent.


The beta evaluation tests whether coding agents can install the package, follow Kismet’s server/browser security boundary, and build against Developer API v0.7 without hand-written HTTP clients.

> **Private beta, by invitation**
>
> Every step below runs inside the Kismet SDK repository, and that repository is **private**. Step 1 asks you to work in a repository you cannot see yet unless you have been invited, so this is worth knowing here rather than at the prompt.
>
> To request an invitation, email [engineering@makekismet.com](mailto:engineering@makekismet.com?subject=SDK%20beta%20evaluation%20access) and say which coding agent you plan to evaluate with (Claude Code, Codex, Lovable, or another). Evaluators are invited in batches while the API contract settles.
>
> Nothing else on this site is gated. The [API reference](https://developers.kismet.travel/api.md), the [Developer MCP](https://developers.kismet.travel/mcp.md) and the [fixtures](https://developers.kismet.travel/fixtures.md) are open, and the MCP endpoint needs no credential at all to read recipes and documentation.

> **Beta boundary**
>
> `@kismet-tech/sdk@beta` is prerelease software. Package publication does not imply generally available Developer API credentials or a public production host.

## Prerequisites

- An invitation to the SDK repository, and a local checkout of it. This is the one gated part of the platform.
- Node.js and npm. The repository currently declares Node 18 or newer; the supported public Node/npm matrix is still release work.
- A disposable application for agent testing.
- No production Kismet credential is required or expected.

## 1. Verify the repository

From the repository root:

```sh
npm ci
npm run sdk:verify
```

The verification command:

1. builds and type-checks the SDK;
2. runs its unit tests;
3. packs `@kismet-tech/sdk@0.1.0-beta.0`;
4. installs the tarball into a clean temporary consumer;
5. runs `kismet init` and verifies it preserves existing `AGENTS.md` content;
6. performs a fixture-backed entity read;
7. compiles against the installed TypeScript declarations.

Expected artifact:

```text
artifacts/kismet-tech-sdk-0.1.0-beta.0.tgz
```

## 2. Prepare a disposable local application

```sh
mkdir kismet-sdk-evaluation
cd kismet-sdk-evaluation
npm init -y
npm install @kismet-tech/sdk@beta
# or install the exact locally verified artifact
npm install /absolute/path/to/Kismet-SDK/artifacts/kismet-tech-sdk-0.1.0-beta.0.tgz
npx kismet init
```

Commit or save the generated `AGENTS.md`, Kismet skill, Cursor rule, agent documentation, and conformance workflow before asking an agent to build.

## 3. Give the builder a constrained task

Use this prompt with Claude Code or Codex:

> Build a branded vacation-rental site using the installed Kismet SDK. Read and follow `AGENTS.md` and the Kismet skill. Use `@kismet-tech/sdk/server` for collection and rental reads, `@kismet-tech/sdk/next` for guest-account BFF routes, and `@kismet-tech/sdk/react` for credential-free browser UI. Do not expose the server key or guest tokens, and do not write a raw Kismet fetch helper. Build the project, run Kismet conformance, and record any missing DTO, operation, or documentation.

## 4. Test with Lovable or another remote builder

Install `@kismet-tech/sdk@alpha` directly when the builder supports npm dependencies. Copying the verified tarball into a **private disposable repository** remains a deterministic fallback:

```text
vendor/kismet-tech-sdk-0.1.0-beta.0.tgz
```

Reference it from that repository’s `package.json`:

```json
{
  "dependencies": {
    "@kismet-tech/sdk": "file:vendor/kismet-tech-sdk-0.1.0-beta.0.tgz"
  }
}
```

Run `npm install` and `npx kismet init`, commit the generated instructions, and then connect the private repository to the remote builder. Do not place a Kismet secret or production API URL in the repository or builder prompt.

## 5. Score the result

Record whether the builder:

- discovers `createKismetClient` without creating raw HTTP helpers;
- uses only shipped entity methods;
- injects fixture transport instead of inventing a live service;
- preserves application UI ownership;
- emits schema.org, graph links, `llms.txt`, and crawler policy;
- understands and fixes `kismet check` diagnostics;
- identifies missing SDK types or documentation precisely;
- describes the npm package as a beta and respects the access-controlled API boundary.

## 6. Return useful evidence

For each evaluation, capture:

- builder and model version;
- prompt and generated repository commit;
- install, build, test, and conformance output;
- time to first successful build;
- agent retries or manual corrections;
- missing symbol, fixture, instruction, and error-message gaps;
- a short ship/no-ship recommendation for the next alpha iteration.

## Current limitations

- The beta npm tag is not published until the clean-consumer and live deployment gates pass.
- General credential issuance and public API hosting are not available.
- The docs request console is mocked and must not be treated as API evidence.
- LIVE transaction/payment writes and the public fixture package are not shipped.
- The external support model and compatibility policy are not final.
