> Built-in Tactus modules for classification, extraction, generation, and more.

Canonical: https://tactus.anth.us/stdlib/

::band{size="hero" eyebrow="Standard Library"}
# Built-in Modules for Common Tasks

Tactus includes a standard library of reusable modules for classification, extraction, generation, and more. Each module is written in Tactus itself with comprehensive BDD specifications.

::band{tone="muted"}
## Available Modules

The standard library provides high-quality, tested implementations for common AI workflow tasks. Each module follows the same patterns and can be extended for custom use cases.

:::card-grid{columns=3 label="Standard library modules"}
:::card{title="Deepgram Utilities"}
The `tactus.deepgram` module provides helpers for working with Deepgram JSON transcripts. It can flatten transcripts into text, expose structured segments, and extract quotes with timestamps.

*11 specs · 0 classes*

[View module →](/stdlib/deepgram/)
:::

:::card{title="Generate Module"}
The `tactus.generate` module provides flexible text generation built on DSPy's modular architecture.

*4 specs · 2 classes*

[View module →](/stdlib/generate/)
:::

:::card{title="Retriever Modules"}
Tactus exposes Biblicus-backed retrievers as Lua modules so you can select a retriever explicitly at the top of your `.tac` file.

*5 classes*

[View module →](/stdlib/retrievers/)
:::

:::card{title="Web Research"}
`tactus.web` provides reusable web research primitives for agents and host applications. The active first provider is OpenAI Responses `web_search`.

*3 specs · 0 classes*

[View module →](/stdlib/web/)
:::
:::

::band
## Design Philosophy

### Written in Tactus

The stdlib is dogfooding - it's written in Tactus itself. This ensures the language is expressive enough for real-world use and surfaces any pain points.

### BDD Specifications

Every module has comprehensive Gherkin specifications that serve as tests, documentation, and contract. If the specs pass, the module works correctly.

### Extensible Classes

All modules use a class hierarchy. Extend BaseClassifier, BaseExtractor, or BaseGenerator to create your own implementations with the same interface.

::band{columns="cta"}
## Want to contribute?

The standard library is open source. Improve existing modules or add new ones.

::button{href="https://github.com/AnthusAI/Tactus/tree/main/tactus/stdlib" label="View on GitHub" size="lg"}
