137 lines
3.1 KiB
Plaintext
137 lines
3.1 KiB
Plaintext
|
|
# Production Knowledge Base Configuration
|
||
|
|
#
|
||
|
|
# Configuration for a shared/production KB with SurrealDB backend.
|
||
|
|
# Suitable for team-wide knowledge bases or central documentation.
|
||
|
|
#
|
||
|
|
# Usage:
|
||
|
|
# nickel export --format json production.ncl > config.json
|
||
|
|
# With custom TOOLS_PATH:
|
||
|
|
# TOOLS_PATH=/opt/mytools nickel export --format json production.ncl > config.json
|
||
|
|
#
|
||
|
|
# Paths use $TOOLS_PATH variable which resolves to:
|
||
|
|
# - Value of TOOLS_PATH environment variable if set
|
||
|
|
# - $HOME/Tools if TOOLS_PATH not set
|
||
|
|
# - /tmp/tools as final fallback
|
||
|
|
|
||
|
|
let Schema = import "../schemas/kogral-config.ncl" in
|
||
|
|
|
||
|
|
{
|
||
|
|
graph = {
|
||
|
|
name = "tools-ecosystem",
|
||
|
|
version = "1.0.0",
|
||
|
|
description = "Shared knowledge base for Tools ecosystem",
|
||
|
|
},
|
||
|
|
|
||
|
|
inheritance = {
|
||
|
|
# This is the central KOGRAL, no inheritance (this path is itself the shared store)
|
||
|
|
base = "$TOOLS_PATH/.kogral-shared",
|
||
|
|
guidelines = [],
|
||
|
|
priority = 200, # Higher priority (wins over project-local)
|
||
|
|
},
|
||
|
|
|
||
|
|
storage = {
|
||
|
|
# Primary: still filesystem for git-friendly versioning
|
||
|
|
primary = 'filesystem,
|
||
|
|
|
||
|
|
# Secondary: SurrealDB for scalable queries
|
||
|
|
secondary = {
|
||
|
|
enabled = true,
|
||
|
|
type = 'surrealdb,
|
||
|
|
url = "ws://localhost:8000",
|
||
|
|
namespace = "tools_kogral",
|
||
|
|
database = "production",
|
||
|
|
},
|
||
|
|
},
|
||
|
|
|
||
|
|
embeddings = {
|
||
|
|
enabled = true,
|
||
|
|
|
||
|
|
# Use API provider for better quality
|
||
|
|
provider = 'openai,
|
||
|
|
model = "text-embedding-3-small",
|
||
|
|
dimensions = 1536,
|
||
|
|
api_key_env = "OPENAI_API_KEY",
|
||
|
|
|
||
|
|
# Alternative: use Claude
|
||
|
|
# provider = 'claude,
|
||
|
|
# model = "claude-3-haiku",
|
||
|
|
# api_key_env = "ANTHROPIC_API_KEY",
|
||
|
|
},
|
||
|
|
|
||
|
|
blocks = {
|
||
|
|
# Enable blocks for Logseq compatibility in production
|
||
|
|
enabled = true,
|
||
|
|
parse_on_import = true,
|
||
|
|
serialize_on_export = true,
|
||
|
|
enable_mcp_tools = true,
|
||
|
|
},
|
||
|
|
|
||
|
|
templates = {
|
||
|
|
templates_dir = "templates",
|
||
|
|
|
||
|
|
templates = {
|
||
|
|
note = "note.md.tera",
|
||
|
|
decision = "decision.md.tera",
|
||
|
|
guideline = "guideline.md.tera",
|
||
|
|
pattern = "pattern.md.tera",
|
||
|
|
journal = "journal.md.tera",
|
||
|
|
execution = "execution.md.tera",
|
||
|
|
},
|
||
|
|
|
||
|
|
export = {
|
||
|
|
logseq_page = "export/logseq-page.md.tera",
|
||
|
|
logseq_journal = "export/logseq-journal.md.tera",
|
||
|
|
summary = "export/summary.md.tera",
|
||
|
|
json = "export/graph.json.tera",
|
||
|
|
},
|
||
|
|
|
||
|
|
custom = {},
|
||
|
|
},
|
||
|
|
|
||
|
|
query = {
|
||
|
|
# Stricter threshold for production
|
||
|
|
similarity_threshold = 0.5,
|
||
|
|
max_results = 20,
|
||
|
|
recency_weight = 2.0,
|
||
|
|
cross_graph = false, # Only search this graph
|
||
|
|
},
|
||
|
|
|
||
|
|
mcp = {
|
||
|
|
server = {
|
||
|
|
name = "kogral-mcp-production",
|
||
|
|
version = "1.0.0",
|
||
|
|
transport = 'stdio,
|
||
|
|
},
|
||
|
|
|
||
|
|
tools = {
|
||
|
|
search = true,
|
||
|
|
add_note = true,
|
||
|
|
add_decision = true,
|
||
|
|
link = true,
|
||
|
|
get_guidelines = true,
|
||
|
|
export = true,
|
||
|
|
},
|
||
|
|
|
||
|
|
resources = {
|
||
|
|
expose_project = true,
|
||
|
|
expose_shared = true,
|
||
|
|
},
|
||
|
|
},
|
||
|
|
|
||
|
|
sync = {
|
||
|
|
# Active sync to SurrealDB
|
||
|
|
auto_index = true,
|
||
|
|
|
||
|
|
watch_paths = [
|
||
|
|
"notes",
|
||
|
|
"decisions",
|
||
|
|
"guidelines",
|
||
|
|
"patterns",
|
||
|
|
"journal",
|
||
|
|
],
|
||
|
|
|
||
|
|
# Faster sync for production
|
||
|
|
debounce_ms = 300,
|
||
|
|
},
|
||
|
|
} | Schema.KbConfig
|