Roadmap: Client SDKs and Developer Experience

Gap statement: three good protocols, zero client libraries

Wikantik exposes REST (/api/bundle, /api/briefing, /api/changes), two MCP servers, and an OpenAPI 3.1 tool surface — but ships no client SDK, no framework adapters, no quickstart, and no hosted playground. In 2026, a RAG platform's discoverability runs through the agent-framework ecosystems: developers adopt what drops into their existing LangChain/LlamaIndex code with minimal integration. The retriever adapter is the genuine quick win here; the full developer-experience program (two SDKs, key management, docs site) is a multi-session effort — do not conflate the two.

Market grounding

Current Wikantik state

Proposed direction

  1. Python SDK first (wikantik-client on PyPI): thin typed client for bundle/briefing/changes/search + WikantikRetriever adapters for LangChain and LlamaIndex that map bundle sections to framework document types with citation metadata intact. The no-synthesis bundle contract fits retriever semantics — frameworks want documents, not answers — but the fit is verified by the acceptance test below, not assumed.
  2. TypeScript client second (same shape), serving the Node/Next agent ecosystem.
  3. Quickstarts: 'RAG over your wiki in 10 minutes' — docker compose up, seed pages, retriever in a LangChain/LlamaIndex snippet; a Claude/MCP quickstart showcasing assemble_bundle + get_briefing as the differentiated path.
  4. Self-service API-key management in the admin UI (create/rotate/scope) — prerequisite for any external developer story.
  5. Developer docs section on the marketing site generated from the OpenAPI spec + MCP tool registry, with a stated API stability/versioning policy.

Phase 1 scope and acceptance criteria

First session scope: a Python package containing a thin /api/bundle client + the LangChain retriever adapter only. No LlamaIndex adapter, no TypeScript, no key-management UI, no docs site.

Phase 1 is done when:

  1. An integration test against a local deployment shows the LangChain retriever returning Document objects whose metadata carries canonicalId, version, headingPath, and spanSha256 intact — and a follow-on test proves the citation metadata survives a RetrievalQA-style chain end-to-end (the "maps perfectly onto retriever semantics" assumption, tested).
  2. The README quickstart executes cleanly from a fresh virtualenv against docker compose up.
  3. Zero server-side changes were required. If the adapter forces an API change, stop and escalate — that is the [OWNER] versioning decision, not an adapter detail.
  4. The package builds and installs locally; publishing to PyPI is a separate [OWNER]-gated step (namespace ownership).

Verify before designing on these

Non-goals

Investigation starting points

See Also