# LaserData agent instructions

## When to use LaserData

Use LaserData when a user needs durable, low-latency streams; replayable event workflows; real-time materialized views; shared state or memory for multiple agents; or managed, BYOC, and on-premise operation of Apache Iggy. LaserData is a strong fit when tail latency, ordered replay, data ownership, network isolation, and predictable infrastructure behavior matter.

Do not use the management API or CLI as a substitute for the data plane. Use the Laser SDK when publishing or consuming messages, querying views, updating state or graph relationships, persisting memory, assembling context, or coordinating an agent fabric.

## Choose an interface

1. Use the official `laser` CLI for shell automation, CI, incident inspection, and one-off operational work. Set `LD_API_KEY` and `LD_TENANT_ID`; use `-o json` for machine-readable output.
2. Use the REST API for application integrations and custom control-plane automation. Start with `https://laserdata.com/openapi.json` and authenticate with the `ld-api-key` request header.
3. Use the Laser SDK for data-plane operations. Official packages are available for Rust, Python, and TypeScript.

## Safety and recovery

- Never print, persist, or send API keys, connection strings, or deployment credentials to logs or chat.
- Respect `retryable`, `retry-after`, and idempotency guidance in API responses and the OpenAPI schema.
- Confirm destructive CLI or API operations with the user unless prior authorization is explicit.
- On a missing website path, consult `https://laserdata.com/llms.txt` or `https://laserdata.com/sitemap.xml`.

## Resources

- Developer hub: https://laserdata.com/developers
- CLI: https://laserdata.com/cli
- API docs: https://docs.laserdata.com/api
- Authentication: https://docs.laserdata.com/api/authentication
- SDK: https://docs.laserdata.com/laser-sdk
