Carina

docs

Display documentation embedded in the Carina binary. This allows AI agents and users to access version-accurate documentation without web search or external files.

Usage

carina docs [OPTIONS] [NAME]

Flags

--list

List all available embedded documents with their names and titles.

carina docs --list

--search <QUERY>

Search all embedded documents for a keyword (case-insensitive). Results show the document name, line number, and matching line.

carina docs --search provider

Arguments

[NAME]

Show a specific document by name. Use --list to see available names.

carina docs reference/dsl/syntax

If no name or flags are given, the README is displayed.

Available Documents

Documents are organized by category:

CategoryDocuments
Getting Startedgetting-started/installation, getting-started/quick-start, getting-started/core-concepts
Guidesguides/writing-resources, guides/using-modules, guides/state-management, guides/functions, guides/for-if-expressions, guides/lsp-setup
DSL Referencereference/dsl/syntax, reference/dsl/types-and-values, reference/dsl/expressions, reference/dsl/modules, reference/dsl/built-in-functions
CLI Referencereference/cli/validate, reference/cli/plan, reference/cli/apply, reference/cli/state, reference/cli/module-info, reference/cli/docs

Examples

Display the README:

carina docs

List all documents:

carina docs --list

Read the DSL syntax reference:

carina docs reference/dsl/syntax

Search for module-related content:

carina docs --search module

Design

All documents are embedded into the binary at compile time using Rust’s include_str!() macro. This ensures:

  • Documentation always matches the installed binary version
  • No network access or external files required
  • AI agents get accurate information instead of stale web search results or training data