Package Ecosystem Guide
Fabricatio is organized as a monorepo with 31 Python packages and 13 Rust crates. This guide provides an overview of the ecosystem and helps you understand which packages to use for your use case.
Package Architecture
The following diagram illustrates the high-level architecture and dependencies between packages:
flowchart TD
META["fabricatio<br/>(meta-package)"]
subgraph CORE_LAYER [Core Packages]
CORE["fabricatio-core"]
CAP["Capabilities"]
MEM["Memory"]
TOOL["Tool"]
ACTIONS["Actions"]
DIFF["Diff"]
DIGEST["Digest"]
JUDGE["Judge"]
RULE["Rule"]
IMPROVE["Improve"]
subgraph AGENT [Agent Framework]
THINK["Thinking"]
QUESTION["Question"]
TEAM["Team"]
CAPABLE["Capable"]
end
end
subgraph RUST_LAYER [Rust Crates]
RUST["Rust Crates"]
end
subgraph INT_LAYER [Integration Packages]
RAG["RAG"]
MILVUS["Milvus"]
TYPST["Typst"]
LOCALE["Locale"]
NOVEL["Novel"]
CHECKPOINT["Checkpoint"]
ANKI["Anki"]
PLOT["Plot"]
WORKSPACE["Workspace"]
WEBUI["WebUI"]
end
META --> CORE_LAYER
META --> RUST_LAYER
META --> INT_LAYER
CAP --> AGENT
ACTIONS --> AGENT
RAG --> MILVUS
NOVEL --> WEBUI
NOVEL --> WORKSPACE
Package Categories
Capability Packages
These packages provide domain-specific capabilities that can be mixed into your Roles:
Note
The sphinxcontrib-mermaid package that renders these diagrams is seeking new maintainers. Consider contributing if you’re interested.
%%{init: {'themeVariables': {'fontFamily': 'monospace'}}}%%
erDiagram
Package {
string fabricatio-capabilities "Core capabilities: Extract, Propose, Rating, Task"
string fabricatio-rag "Retrieval-Augmented Generation with Milvus integration"
string fabricatio-digest "Raw requirement parsing and task list generation"
string fabricatio-tagging "Intelligent data classification and tag management"
string fabricatio-translate "Multi-language translation with batch processing"
string fabricatio-typst "Academic content generation in Typst format"
string fabricatio-tool "Dynamic tool discovery and native Python execution"
string fabricatio-plot "Publication-quality matplotlib charts from dataframes"
string fabricatio-locale "PO file-based internationalization support"
string fabricatio-thinking "Version-controlled sequential reasoning process"
string fabricatio-team "Multi-agent collaboration and role-based coordination"
string fabricatio-character "Character profile generation for narrative content"
string fabricatio-novel "End-to-end novel generation with character integration"
string fabricatio-checkpoint "Git-like workflow state versioning and rollback"
string fabricatio-milvus "Milvus vector database integration for RAG"
string fabricatio-anki "AI-powered Anki flashcard deck generation"
string fabricatio-question "Strategic questioning for planning and info gathering"
string fabricatio-yue "YuE music generation lyrics composition"
string fabricatio-diff "Intelligent diff-based code/text editing"
string fabricatio-capable "Dynamic capability assessment and validation"
string fabricatio-rule "Rule-based content validation, correction, and enforcement"
string fabricatio-judge "Evidence-based decision making and content evaluation"
string fabricatio-agent "Full AI agent framework with autonomous task fulfillment"
string fabricatio-memory "Long-term and short-term memory management for agents"
string fabricatio-actions "File system operations and output management actions"
string fabricatio-improve "Content review, correction, and refinement"
}
Integration Packages
%%{init: {'themeVariables': {'fontFamily': 'monospace'}}}%%
erDiagram
"Integration Packages" {
string fabricatio-webui "Web-based user interface"
string fabricatio-workspace "Isolated development workspace management with git"
string fabricatio-lod "Level-based context compression *(in development)*"
}
Core Packages
%%{init: {'themeVariables': {'fontFamily': 'monospace'}}}%%
erDiagram
"Core Packages" {
string fabricatio-core "Event system, Role framework, Task engine, Toolbox, File utilities, Handlebars templating, Type models"
string fabricatio-mock "Testing utilities with mock LLM roles and fixtures"
}
Rust Crates
%%{init: {'themeVariables': {'fontFamily': 'monospace'}}}%%
erDiagram
"Rust Crates" {
string fabricatio-config "Configuration loading and management"
string fabricatio-logger "Structured logging utilities"
string fabricatio-constants "Constants and shared values"
string fabricatio-stubgen "Python stub file generation"
string thryd "Router engine: routing, caching, rate limiting"
string utils "Shared utility functions (Arc/Mutex wrapper)"
string macro-utils "Procedural macro utilities (TemplateDefault derive)"
}
- Simple Chat Agent
fabricatio-core+fabricatio-capabilities- RAG Application
fabricatio-ragorfabricatio-milvus- Code Review
fabricatio-core+fabricatio-capabilities+fabricatio-diff- Content Generation
fabricatio-core+fabricatio-improve+fabricatio-digest- Multi-Agent System
fabricatio-agent+fabricatio-team- Document Processing
fabricatio-core+fabricatio-rule+fabricatio-typst- Translation
fabricatio-translate+fabricatio-locale- Academic Writing
fabricatio-typst+fabricatio-rag- Novel Writing
fabricatio-novel+fabricatio-character- Flashcard Learning
fabricatio-anki+fabricatio-capabilities
Package Dependencies Graph
%%{init: {'themeVariables': {'fontFamily': 'monospace'}}}%%
flowchart TB
M["fabricatio<br/>(meta-package)"]
subgraph Core ["|"]
C["fabricatio-core<br/>Event system, Role framework,<br/>Task engine, Toolbox"]
TH["thryd<br/>(Rust)"]
end
subgraph Capabilities
CAP["fabricatio-capabilities<br/>Extract, Propose, Rating, Task"]
end
subgraph RAG
RAG["fabricatio-rag<br/>Semantic search, Milvus integration, TEI"]
M["fabricatio-milvus<br/>Vector database integration"]
PM["pymilvus"]
end
subgraph Agent
AG["fabricatio-agent<br/>Autonomous task fulfillment"]
DIG["fabricatio-digest"]
MEM["fabricatio-memory"]
IMP["fabricatio-improve"]
RULE["fabricatio-rule"]
JUD["fabricatio-judge"]
CAP2["fabricatio-capabilities"]
DIFF["fabricatio-diff"]
THINK["fabricatio-thinking"]
Q["fabricatio-question"]
TOOL["fabricatio-tool"]
TEAM["fabricatio-team"]
CAPABLE["fabricatio-capable"]
end
subgraph Integrations
ACT["fabricatio-actions<br/>File system operations"]
WS["fabricatio-workspace<br/>Isolated dev environments"]
WEB["fabricatio-webui<br/>Web interface"]
TY["fabricatio-typst<br/>Academic content generation"]
LOC["fabricatio-locale<br/>PO file i18n"]
NL["fabricatio-novel<br/>Novel generation"]
CHAR["fabricatio-character"]
CHK["fabricatio-checkpoint<br/>Version control"]
ANKI["fabricatio-anki<br/>Flashcard generation"]
QST["fabricatio-question"]
YUE["fabricatio-yue<br/>Lyrics composition"]
TAG["fabricatio-tagging<br/>Data classification"]
TRANS["fabricatio-translate<br/>Translation"]
PLOT["fabricatio-plot<br/>Data visualization"]
LOD["fabricatio-lod<br/>Context compression"]
end
M --> C
C --> TH
CAP -.-> C
RAG -.-> C
RAG -.-> PM
M -.-> PM
AG --> C
AG --> DIG & MEM & IMP & RULE & JUD & CAP2 & DIFF & THINK & Q & TOOL & TEAM & CAPABLE
ACT --> C
ACT --> CAP2
WS --> C
WS -.-> G[git]
WEB --> C
WEB -.-> GRPC[grpcio]
TY --> C
TY -.-> RAG & CAP
LOC --> C
LOC -.-> TRANS
NL --> C
NL -.-> CHAR
RULE -.-> IMP & JUD & CAP2
IMP -.-> CAP2
CAPABLE -.-> TOOL & JUD
M -.-> RAG
RAG -.-> M
M -.-> AG