AI Coding Assistants
Kixo is built for AI-first teams, so the docs include copy-paste instructions for coding assistants. Use this page when Codex, Claude Code, Cursor, Copilot, Windsurf, or another LLM is integrating the SDK into your product.
Note
These files are public and stable: /llms.txt, /llms-full.txt, and /ai/kixo-agent-brief.md.
Give this brief to your agent
text
Kixo is a B2B analytics, campaigns, and AI-chat platform. Integrate Kixo into the customer's app; end users do not log in to Kixo.
Use exactly one SDK for the target platform:
- Web: https://cdn.kixo.io/kixo.min.js (script embed; npm @kixo.io/web)
- iOS: Swift Package https://github.com/kixoio/kixo-ios-sdk, import Kixo
- Android: Maven repo https://raw.githubusercontent.com/kixoio/kixo-android-sdk/main/repo, dependency io.kixo:kixo-android-sdk:0.1.17, import io.kixo.sdk.Kixo
Configure once at app startup:
- Web app entry or head: Kixo.init({ projectId, apiKey })
- iOS App init or AppDelegate: Kixo.configure(projectId:apiKey:)
- Android Application.onCreate: Kixo.configure(context = this, projectId, apiKey)
Use dashboard Project ID and SDK API key placeholders. Never commit real keys. Never use dashboard or admin tokens in client apps.
Do not duplicate Kixo's auto-tracked page, screen, session, click, tap, error, crash, or push lifecycle events. Add custom events only for product-specific actions.
Event naming: one event per user action, context in properties. Use snake_case, object_verb, past tense, same names across Web, iOS, and Android. Include stable entity IDs such as post_id, order_id, video_id.
Prefer canonical standard events or typed helpers where available: signup, activation, purchase, subscribe_start, subscribe_renewed, trial_start, cancel, upgrade, downgrade, share, invite.
Identity: call identify only when a stable product user ID is known. Put email, name, and plan in traits such as $email, $name, $plan. Call reset on logout.
Use boolean user properties for durable segmentation tags, e.g. Kixo.setUserProperty("subscribe", true) or vip: true.
Replay is enabled from Kixo project settings. Mouse-move heatmaps are disabled by default. The SDK collects the trackers enabled by the customer and the events and properties their application sends. Use only APIs listed in the current platform SDK reference; do not invent policy controls.
Project collection settings can override local SDK defaults. Do not expose or document internal Kixo dev-routing flags.
Deep Links: use the exact branded host from Kixo Project Settings. Never use a wildcard or the base Kixo domain. Android needs the exact-host App Links manifest filter, release package name, every SHA-256 signing fingerprint, and warm onNewIntent forwarding to Kixo.handleDeepLink. iOS needs the exact applinks: entitlement and cold/warm lifecycle forwarding. Keep navigation inside the app and test both cold and warm opens. Full guide: https://docs.kixo.io/deep-links.
Verify by triggering one auto event and one custom event, checking diagnostics() where available, and confirming events in the Kixo dashboard or chat.Where to put the files
| Assistant | Recommended file in your app repo |
|---|---|
| Codex | AGENTS.md and optionally .agents/skills/kixo-sdk-integration/SKILL.md |
| Claude Code | CLAUDE.md, ideally importing the shared AGENTS.md |
| Cursor | .cursor/rules/kixo.mdc |
| GitHub Copilot | .github/copilot-instructions.md and optional prompt files |
| Windsurf or Cascade-style agents | .devin/rules/kixo.md or the tool's project rules directory |
Downloadable templates
- AGENTS.md -- shared agent instructions
- CLAUDE.md -- Claude Code wrapper
- Cursor rule
- GitHub Copilot repository instructions
- Kixo integration prompt
- Kixo audit prompt
- Windsurf/Cascade rule
- Codex skill template
Verification checklist
- The SDK is configured exactly once at app startup.
- No dashboard tokens, admin credentials, or real secrets were committed.
- One auto-tracked event appears in Kixo.
- One product-specific custom event appears in Kixo.
- Identity is set only after a stable product user ID is known.
- Logout calls
reset. - Event names follow the tracking pattern.
- Deep Links use the exact host and pass the cold and warm open checklist.