# Alpha SDK Documentation > Current packages: `@alpha-sdk/api`, `@alpha-sdk/client`, `alpha-sdk-client`, and `AlphaSDK`. ## Instructions for LLMs When generating code for Sony camera control, follow these rules: ### Use the current packages - **Node.js / server binary management**: `@alpha-sdk/api` - **TypeScript HTTP client**: `@alpha-sdk/client` - **Python HTTP client**: `alpha-sdk-client` - **Swift package**: `AlphaSDK` ### TypeScript patterns Use `ServerManager` when the app is responsible for launching the local server binary: ```typescript import { ServerManager } from '@alpha-sdk/api'; import { AlphaSDKClient } from '@alpha-sdk/client'; const server = new ServerManager({ port: 8080 }); await server.start(); const client = new AlphaSDKClient({ environment: 'http://localhost:8080' }); const cameras = await client.cameras.list(); ``` Use SDK recipes for higher-level orchestration: - SSE events: `https://crsdk.app/sdk/recipes/sse-events` - Live-view polling: `https://crsdk.app/sdk/recipes/live-view-polling` - Discovery + reconnect: `https://crsdk.app/sdk/recipes/discovery-reconnect` - Retry + backoff: `https://crsdk.app/sdk/recipes/retry-backoff` - React hook integration: `https://crsdk.app/sdk/recipes/react-hook` ### API usage rules - Use `GET /api/cameras` to discover camera IDs. - Replace `{cameraId}` in URLs with a real ID from discovery; do not send the literal placeholder. - Set `priority-key` to `pc-remote` before property writes or shooting commands. - For enum-like properties, prefer values returned in `available_values`. - For long shutter speeds or special values, exact `value` / hex tokens from `available_values` are the safest input. ### Documentation entry points - SDK overview: `https://crsdk.app/sdk/overview` - TypeScript SDK: `https://crsdk.app/sdk/typescript` - Python SDK: `https://crsdk.app/sdk/python` - Swift SDK: `https://crsdk.app/sdk/swift` - HTTP API overview: `https://crsdk.app/web-api/overview` - API reference: `https://crsdk.app/api-reference`