Expand description
Knowledge system for agent expertise and contextual guidance.
gestura-core-knowledge provides a progressive-disclosure knowledge base
that lets the runtime expose specialized expertise only when it is relevant
to the current request. This keeps default prompts lean while still allowing
rich built-in guidance for areas such as Rust, Tauri, CLI workflows, MCP,
voice, and other expert domains.
§Design role
This crate sits beside, not inside, the request-context system:
gestura-core-contextdecides what categories of context are relevantgestura-core-knowledgeprovides curated expert content that can be enabled, matched, and loaded when those requests benefit from it
Knowledge items can come from built-in expert documents or user-managed additions persisted on disk.
§Main concepts
KnowledgeStore: registry and persistence layer for knowledge itemsKnowledgeItem: a single expert document with metadata, triggers, and optional reference materialKnowledgeQuery: query-time filter and ranking inputKnowledgeSettingsManager: per-session/default enablement for knowledge items so users and sessions can opt into specific expertise
§Built-in knowledge structure
Built-in experts follow a compact core-plus-references pattern:
knowledge/
├── rust-expert/
│ ├── KNOWLEDGE.md
│ └── references/
└── tauri-expert/
├── KNOWLEDGE.md
└── references/The goal is to keep the top-level expert doc concise and load reference material only when that extra depth is needed.
§Usage
use gestura_core::knowledge::{KnowledgeStore, KnowledgeQuery};
let store = KnowledgeStore::with_default_dir();
register_builtin_knowledge(&store);
let query = KnowledgeQuery {
query: "Help me with async Rust".to_string(),
..Default::default()
};
let matches = store.find(&query);
for m in matches {
println!("Matched: {} (score: {})", m.item.name, m.score);
}§Stable import paths
Most code should import through gestura_core::knowledge::*.
Re-exports§
pub use session_settings::DEFAULT_KNOWLEDGE_SETTINGS_SESSION_ID;pub use session_settings::KnowledgeSettingsManager;pub use session_settings::SessionKnowledgeSettings;
Modules§
- session_
settings - Session-scoped knowledge settings
Structs§
- Knowledge
Item - A knowledge item represents a specialized area of expertise that can be loaded on-demand to provide context to the agent.
- Knowledge
Match - Result of matching knowledge items to a query
- Knowledge
Query - Knowledge query for finding relevant knowledge items
- Knowledge
Reference - A reference file that can be loaded on-demand
- Knowledge
Store - Knowledge store for managing knowledge items
Enums§
- Knowledge
Error - Error type for knowledge operations
- Load
Condition - Conditions for when to load a reference
Functions§
- register_
builtin_ knowledge - Register built-in knowledge items