Status (2026-10-13): The SDK work is not started: there is no
wikantik-clientpackage, no LangChain or LlamaIndex adapter, no TypeScript client and no OpenAPI spec for/api/*(the/tools/*spec is still the only one). Two adjacent pieces of the developer-experience program have shipped. Self-service API keys exist: signed-in users list, generate, rotate and revoke their own keys from the API Keys section of/preferences(/api/self/apikeys, v2.0.21), alongside the admin screen at/admin/apikeys. Key scopes are rank-based (tools,mcp_read,mcp_admin), and non-administrators are limited totoolsandmcp_read, so the read-only retrieval key this brief asked for exists. And the repository'sclients/directory ships agent-side integrations: a Claude Code session-start hook and an Antigravity hook that injectGET /api/briefing?format=md, plus awiki-contextskill over the knowledge MCP tools. Corrections applied below: the administrative MCP server has 29 tools (not 26), and the/api/bundlehybrid is weighted Reciprocal Rank Fusion with operator-set weights, not a request-tunablealpha.
Wikantik exposes a robust set of REST APIs (/api/bundle, /api/briefing, /api/changes), two Model Context Protocol (MCP) servers, and an OpenAPI 3.1 tool surface. However, it currently ships absolutely no client SDK, no framework adapters, no quickstart templates, and no hosted playground. In the fast-paced ecosystem of 2026, a Retrieval-Augmented Generation (RAG) platform's discoverability and traction run almost exclusively through the major agent-framework ecosystems. Developers adopt the solutions that drop into their existing LangChain, LlamaIndex, or Semantic Kernel codebases with minimal integration effort.
The retriever adapter is the genuine quick win here. Building an adapter takes a fraction of the time compared to overhauling a platform, yet it yields immediate discoverability. However, the full developer-experience (DX) program—comprising two native SDKs, seamless key management, and a dedicated, interactive documentation site—is a substantial, multi-session effort. It is imperative not to conflate the quick win of an adapter with the long-term investment in a holistic developer ecosystem.
Investing in a first-class developer experience is not merely a technical luxury; it is a fundamental economic driver for platform adoption. When an engineering team evaluates a RAG solution, the integration overhead often dictates the purchasing decision. A platform lacking native SDKs forces developers to write boilerplate API clients, handle pagination, manage connection pooling, and implement retry logic. This friction translates to direct labor costs.
For a mid-sized enterprise, implementing a custom integration against raw REST endpoints can easily consume two weeks of senior engineering time, costing roughly $10K to $15K in fully loaded labor. Scaled across a target market of thousands of potential customers, the cumulative friction is massive. In contrast, if the platform vendor invests roughly $150K to build, document, and maintain high-quality SDKs and adapters, they can eliminate this friction entirely. Removing the $15K integration tax accelerates the sales cycle, reduces time-to-value, and dramatically lowers the barrier to entry. Companies that have prioritized DX often see their customer acquisition cost (CAC) drop significantly, enabling them to reallocate budgets that might otherwise be spent on direct sales (often running well over $2.5M annually) into further product development.
To understand the urgency of this roadmap, we must look at the current market dynamics:
Before executing the roadmap, we must acknowledge the current state of the platform:
GET /api/bundle?q=: Returns ranked, de-duplicated, and version-pinned cited sections, along with a comprehensive coverage block.GET /api/briefing: Provides highly budgeted, session-start context to prime an agent's context window./api/changes?since=: An incremental synchronization feed for cache invalidation and mirror updates./wiki/{slug}?format=md|json: Delivers raw page content./tools/* OpenAPI specification for non-MCP clients.api_keys table) for the MCP and tools surfaces. Administrators mint keys at /admin/apikeys; signed-in users manage their own keys from the API Keys section of /preferences, limited to the tools and mcp_read scopes unless they are administrators.www.wikantik.com) lacks a developer section entirely.When we build a retriever adapter for a framework like LangChain, we are bridging the gap between the framework's generalized query representation and Wikantik's specialized search architecture. Wikantik's /api/bundle endpoint retrieves candidate chunks with two rankings, a dense vector ranking and a BM25 chunk ranking (wikantik.bundle.bm25.enabled, default true), and fuses them server-side with weighted Reciprocal Rank Fusion before grouping chunks into sections.
There is no per-request alpha. The fusion weights are operator configuration (wikantik.bundle.bm25.bm25_weight 0.5, dense_weight 1.5, rrf_k 20), and the request-level retrieval parameters are q and mode (hybrid by default, or dense or lexical). A WikantikRetriever should therefore expose mode, and should treat section scores as fused rankings rather than a normalized convex combination of cosine similarity and BM25.
To systematically address the DX gap, we will execute the following phased rollout:
wikantik-client on PyPI): We will build a thin, strictly typed Python client covering the bundle, briefing, changes, and search endpoints. Crucially, this package will include WikantikRetriever adapters for LangChain and LlamaIndex. These adapters will map the rich bundle sections returned by the API into the standard document types expected by these frameworks, ensuring that citation metadata is perfectly preserved. The "no-synthesis" bundle contract is an excellent fit for retriever semantics—frameworks want raw, cited documents, not pre-synthesized answers.docker compose up command, a script to seed test pages, and a retriever snippet using LangChain or LlamaIndex. Additionally, we will provide an MCP-specific quickstart showcasing the assemble_bundle and get_briefing tools as the differentiated, agent-native path.First Session Scope: The immediate deliverable is a Python package containing a thin wrapper around the /api/bundle client, coupled exclusively with the LangChain retriever adapter. LlamaIndex support, TypeScript clients, the key-management UI, and the dedicated documentation site are explicitly out of scope for Phase 1.
Phase 1 is considered complete when the following criteria are met:
Document objects whose metadata dictionaries carry canonicalId, version, headingPath, and spanSha256 absolutely intact. A subsequent test must prove that this citation metadata survives a full RetrievalQA-style chain end-to-end. This empirically validates our assumption that the bundle format maps perfectly onto retriever semantics.docker compose up instance.[OWNER]-level versioning decision, not an implementation detail of the SDK.[OWNER]-gated step to protect the namespace ownership.We must rigorously verify our assumptions before committing them to the architectural design:
wikantik-client and wikantik namespaces on PyPI and npm before authoring the setup metadata.To maintain focus, the following items are strictly non-goals for this roadmap phase:
/api/* endpoints have complete and robust specification coverage. Currently, only the /tools/* spec exists. We will hand-write the thin client first to control the developer experience, and explore code generation only in later phases.To kickstart this initiative, the following investigations must be undertaken immediately:
[AGENT]): Before publishing any client code, we must audit which response fields of /api/bundle and /api/briefing are contractually stable versus those that are incidental implementation details. This will produce a "freeze list" that the [OWNER] must ratify as part of the formal API-stability contract (e.g., deciding between URL-based vs. Header-based versioning).[AGENT]): Investigate the mapping of Wikantik bundles to LlamaIndex's NodeWithScore constructs. This will require the same shape of citation-survival testing as the LangChain integration.[AGENT]): Analyze the requirements for read-only retrieval keys versus full administrative keys. Determine what the existing api_keys schema supports and what migrations are necessary. The [OWNER] must approve the scoping design before any external keys are issued. (The mcp_read and mcp_admin scopes now exist; see the status note.)[AGENT]): Evaluate the long-term feasibility of generating clients from OpenAPI specifications once coverage is complete, aiming to keep the maintenance burden strictly bounded for a single developer.[OWNER]): Finalize PyPI and npm namespace ownership decisions and approve the Continuous Integration (CI) publishing pipelines once they are drafted by the [AGENT].