Files
cline/apps/examples
Saoud RizwanandSaoud Rizwan 00daef8f89 desktop: fix model name flashing when the composer picker opens (#14118)
* desktop: only refresh the live model list when the picker opens

Opening the composer model picker re-ran the whole load effect, which
first replaced providerModels/modelDetails with the bundled catalog and
then restored the live list once loadProviderModels resolved. For a
frame in between the trigger resolved against the bundled catalog,
flashing the raw model id (or a stale name) before snapping back.

Refresh only the active provider's live list on open, via a shared
applyProviderModels helper that the load effect and the
subscribeToProviderModels listener already duplicated.

Co-authored-by: Saoud Rizwan <saoudrizwan@users.noreply.github.com>

* desktop: mark reasoning capability as catalog-backed after a picker refresh

The load effect flips reasoningCapabilitySource to "catalog" once live
models land; the picker-open refresh path should too, so a session that
started offline (source stuck at "fallback") trusts the live reasoning
data once a later refresh succeeds.

Co-authored-by: Saoud Rizwan <saoudrizwan@users.noreply.github.com>

---------

Co-authored-by: Saoud Rizwan <saoudrizwan@users.noreply.github.com>
2026-09-14 15:56:14 -07:00
..
2026-06-03 01:49:57 +02:00

Cline SDK Examples

Learn how to build with the Cline SDK through working examples, ordered from simple to complex.

SDK Skill

If you use a coding agent (Claude Code, Codex, Cline, etc.), install the Cline SDK skill to give your agent context on the SDK's APIs and best practices to help you build with the Cline SDK.

npx skills add cline/sdk-skill

Prompt it to scaffold agents, create custom tools, wire up plugins, configure providers, and more.

Getting started

All examples live in this directory. Each is a standalone project with its own package.json and README. To run any example:

cd apps/examples/<example-name>
bun install
bun run build:sdk
export CLINE_API_KEY="cline_..."
bun dev

Requires Node.js 22+.

Examples

Beginner

Example Description Concepts
quickstart Send one prompt, stream the response. ~15 lines of code. Agent, subscribe, run()
cli-agent Interactive terminal chat with a shell tool. createTool, multi-turn run()/continue(), streaming
cline-core-cli-agent Interactive terminal chat powered by ClineCore. ClineCore.create(), cline.start(), cline.send(), built-in tools, streaming

Intermediate

Example Description Concepts
code-review-bot AI code reviewer that reads git diffs and produces structured comments. Multiple tools, completesRun lifecycle, systemPrompt, zod schemas
multi-agent Web app that fans out to three specialist agents in parallel, streams results via SSE, then synthesizes a unified answer. Concurrent agents, Promise.all, per-agent subscribe(), SSE streaming, agent composition

Advanced

Example Description Concepts
desktop-app Full Tauri + Next.js desktop app for running and inspecting chat sessions. Sidecar runtime, websocket transport, session persistence
menubar macOS menu bar app with Tauri. Native app integration, compact UI
vscode VS Code extension with chat panel. Extension API, webview, workspace context

SDK packages

When building your own app, install the public SDK package:

npm add @cline/sdk

@cline/sdk re-exports everything from @cline/core. You only need @cline/agents or @cline/llms if you want lower-level control over the agent runtime or model gateway directly.

Learn more