Documentation
¶
Overview ¶
Package main is the entry point for genie, the Generative Engine for Natural Intent Execution.
Genie is an enterprise agentic platform. Describe what you need—across code, operations, security, and beyond—and genie plans and executes it using the ReAcTree execution engine, multi-model routing, and integrations (Slack, Discord, MCP, skills, observability). Use the "genie" or "genie grant" command to run the interactive setup; see the repository README for installation and usage.
Copyright © 2026 StackGen, Inc.
Directories
¶
| Path | Synopsis |
|---|---|
|
pkg
|
|
|
agentutils
Package agentutils provides utilities used by the agent and orchestrator layer.
|
Package agentutils provides utilities used by the agent and orchestrator layer. |
|
agentutils/agentutilsfakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
|
agui
Package agui provides types and helpers for the Agent GUI (AG-UI) event protocol used by Genie to stream agent state to UIs (TUI, web, external systems).
|
Package agui provides types and helpers for the Agent GUI (AG-UI) event protocol used by Genie to stream agent state to UIs (TUI, web, external systems). |
|
agui/aguifakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
|
app
Package app provides the Application service layer that owns the full Genie lifecycle: config → bootstrap → start → close.
|
Package app provides the Application service layer that owns the full Genie lifecycle: config → bootstrap → start → close. |
|
audit
Package audit provides durable, structured logging of agent and tool events (commands, tool calls, LLM requests/responses, errors) for debugging and compliance.
|
Package audit provides durable, structured logging of agent and tool events (commands, tool calls, LLM requests/responses, errors) for debugging and compliance. |
|
audit/auditfakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
|
browser
Package browser provides a chromedp-backed browser automation provider.
|
Package browser provides a chromedp-backed browser automation provider. |
|
clarify
Package clarify provides a durable store for clarifying questions that the LLM can ask the user.
|
Package clarify provides a durable store for clarifying questions that the LLM can ask the user. |
|
config
Package config provides loading and aggregation of Genie configuration.
|
Package config provides loading and aggregation of Genie configuration. |
|
cron
Package cron provides a recurring task scheduler whose task definitions and execution history are persisted in a GORM-backed database.
|
Package cron provides a recurring task scheduler whose task definitions and execution history are persisted in a GORM-backed database. |
|
cron/cronfakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
|
datasource
Package datasource defines the unified data source abstraction for Genie: connectors that enumerate items from external systems (Drive, Gmail, Slack, Linear, GitHub, Calendar) and produce normalized items for vectorization.
|
Package datasource defines the unified data source abstraction for Genie: connectors that enumerate items from external systems (Drive, Gmail, Slack, Linear, GitHub, Calendar) and produce normalized items for vectorization. |
|
datasource/datasourcefakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
|
db
Package db provides a central GORM-based database layer backed by SQLite.
|
Package db provides a central GORM-based database layer backed by SQLite. |
|
dedup
Package dedup provides a generic type-safe wrapper around golang.org/x/sync/singleflight.
|
Package dedup provides a generic type-safe wrapper around golang.org/x/sync/singleflight. |
|
doctor
Package doctor runs diagnostic checks on Genie configuration and environment (config file, secrets, MCP, SCM, model provider) and returns a list of results (errors, warnings, info) with stable ErrCodes for troubleshooting.
|
Package doctor runs diagnostic checks on Genie configuration and environment (config file, secrets, MCP, SCM, model provider) and returns a list of results (errors, warnings, info) with stable ErrCodes for troubleshooting. |
|
expert
Package expert provides the LLM "expert" abstraction used by Genie's orchestrator and ReAcTree execution engine.
|
Package expert provides the LLM "expert" abstraction used by Genie's orchestrator and ReAcTree execution engine. |
|
expert/expertfakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
|
expert/modelprovider/modelproviderfakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
|
hitl
Package hitl implements human-in-the-loop approval for non-readonly tool calls.
|
Package hitl implements human-in-the-loop approval for non-readonly tool calls. |
|
hitl/hitlfakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
|
hooks
Package hooks defines lifecycle hook interfaces for the ReAcTree execution engine.
|
Package hooks defines lifecycle hook interfaces for the ReAcTree execution engine. |
|
htmlutils
Package htmlutils provides utilities for extracting readable text content from raw HTML.
|
Package htmlutils provides utilities for extracting readable text content from raw HTML. |
|
httputil
Package httputil provides HTTP client and transport utilities used across Genie.
|
Package httputil provides HTTP client and transport utilities used across Genie. |
|
interrupt
Package interrupt defines the [InterruptError] sentinel used by tools and middleware to signal that a tool call needs external input (human approval, clarification answer, etc.) before it can complete.
|
Package interrupt defines the [InterruptError] sentinel used by tools and middleware to signal that a tool call needs external input (human approval, clarification answer, etc.) before it can complete. |
|
langfuse
Package langfuse provides observability and tracing for LLM interactions via the Langfuse service.
|
Package langfuse provides observability and tracing for LLM interactions via the Langfuse service. |
|
langfuse/langfusefakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
|
logger
Package logger provides structured logging (slog) and context-aware logger retrieval for Genie.
|
Package logger provides structured logging (slog) and context-aware logger retrieval for Genie. |
|
mcp
Package mcp provides MCP (Model Context Protocol) integration for Genie using trpc-agent-go.
|
Package mcp provides MCP (Model Context Protocol) integration for Genie using trpc-agent-go. |
|
mcputils
Package mcputils provides utilities for integrating MCP (Model Context Protocol) tools with trpc-agent-go.
|
Package mcputils provides utilities for integrating MCP (Model Context Protocol) tools with trpc-agent-go. |
|
memory/graph
Package graph provides a knowledge graph store (entities and relations) for agent memory.
|
Package graph provides a knowledge graph store (entities and relations) for agent memory. |
|
memory/graph/graphfakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
|
memory/vector
Package vector provides the vector store used for Genie's semantic memory: embedding and searching over documents (runbooks, synced data from Drive, Gmail, Slack, etc.) so the agent can retrieve relevant context via memory_search.
|
Package vector provides the vector store used for Genie's semantic memory: embedding and searching over documents (runbooks, synced data from Drive, Gmail, Slack, etc.) so the agent can retrieve relevant context via memory_search. |
|
memory/vector/vectorfakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
|
messenger
Package messenger provides a generic, platform-agnostic interface for bi-directional messaging across chat platforms (Slack, Telegram, Teams, Google Chat, Discord, etc.).
|
Package messenger provides a generic, platform-agnostic interface for bi-directional messaging across chat platforms (Slack, Telegram, Teams, Google Chat, Discord, etc.). |
|
messenger/agui
Package agui provides a Messenger adapter for the AG-UI SSE server.
|
Package agui provides a Messenger adapter for the AG-UI SSE server. |
|
messenger/agui/aguifakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
|
messenger/discord
Package discord provides a Messenger adapter for the Discord platform using the WebSocket gateway for bi-directional communication.
|
Package discord provides a Messenger adapter for the Discord platform using the WebSocket gateway for bi-directional communication. |
|
messenger/googlechat
Package googlechat provides a Messenger adapter for Google Chat using HTTP push for incoming events and the Chat API for outgoing messages.
|
Package googlechat provides a Messenger adapter for Google Chat using HTTP push for incoming events and the Chat API for outgoing messages. |
|
messenger/media
Package media provides shared utility functions for building and describing messenger.Attachment values across platform adapters.
|
Package media provides shared utility functions for building and describing messenger.Attachment values across platform adapters. |
|
messenger/messengerfakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
|
messenger/slack
Package slack provides a DataSource connector that enumerates Slack channel messages for vectorization.
|
Package slack provides a DataSource connector that enumerates Slack channel messages for vectorization. |
|
messenger/teams
Package teams provides a Messenger adapter for Microsoft Teams using the Bot Framework protocol for bi-directional communication.
|
Package teams provides a Messenger adapter for Microsoft Teams using the Bot Framework protocol for bi-directional communication. |
|
messenger/telegram
Package telegram provides a Messenger adapter for the Telegram platform using long-polling for bi-directional communication.
|
Package telegram provides a Messenger adapter for the Telegram platform using long-polling for bi-directional communication. |
|
messenger/whatsapp
Package whatsapp provides a Messenger adapter for WhatsApp using the WhatsApp Web multi-device protocol via whatsmeow.
|
Package whatsapp provides a Messenger adapter for WhatsApp using the WhatsApp Web multi-device protocol via whatsmeow. |
|
orchestrator
Package orchestrator implements Genie's request routing and execution flow: it receives user messages, classifies intent (simple vs complex), runs the appropriate expert(s), and coordinates ReAcTree multi-step workflows.
|
Package orchestrator implements Genie's request routing and execution flow: it receives user messages, classifies intent (simple vs complex), runs the appropriate expert(s), and coordinates ReAcTree multi-step workflows. |
|
orchestrator/orchestratorfakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
|
osutils
Package osutils provides OS and path helpers used by Genie.
|
Package osutils provides OS and path helpers used by Genie. |
|
pii
Package pii — context helpers for PII rehydration.
|
Package pii — context helpers for PII rehydration. |
|
qrutil
Package qrutil provides utilities for generating QR code images and terminal-printable QR codes from arbitrary string content such as URLs, pairing codes, or any text that needs to be shared visually.
|
Package qrutil provides utilities for generating QR code images and terminal-printable QR codes from arbitrary string content such as URLs, pairing codes, or any text that needs to be shared visually. |
|
reactree
Package reactree implements the ReAcTree (Reasoning-Acting Tree) execution engine for Genie's multi-step agent workflows.
|
Package reactree implements the ReAcTree (Reasoning-Acting Tree) execution engine for Genie's multi-step agent workflows. |
|
reactree/memory/memoryfakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
|
reactree/reactreefakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
|
report/activityreport
Package activityreport generates markdown reports from recent audit activities and writes them to ~/.genie/reports/<agent_name>/<YYYYMMDD>_<report_name>.md, then stores the summary in the vector store so the agent can use it as runbook/skill for future runs.
|
Package activityreport generates markdown reports from recent audit activities and writes them to ~/.genie/reports/<agent_name>/<YYYYMMDD>_<report_name>.md, then stores the summary in the vector store so the agent can use it as runbook/skill for future runs. |
|
retrier
Package retrier provides configurable retry logic with backoff for operations that may transiently fail (e.g.
|
Package retrier provides configurable retry logic with backoff for operations that may transiently fail (e.g. |
|
runbook
Package runbook provides a loader for customer-provided instructional files ("runbooks") using the trpc-agent-go document reader framework.
|
Package runbook provides a loader for customer-provided instructional files ("runbooks") using the trpc-agent-go document reader framework. |
|
security
Package security provides a centralized SecretProvider abstraction backed by gocloud.dev/runtimevar.
|
Package security provides a centralized SecretProvider abstraction backed by gocloud.dev/runtimevar. |
|
security/keyring
Package keyring: device keychain storage for arbitrary key-value secrets.
|
Package keyring: device keychain storage for arbitrary key-value secrets. |
|
security/securityfakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
|
setup
Package setup provides config generation for the day-1 onboarding wizard.
|
Package setup provides config generation for the day-1 onboarding wizard. |
|
skills/skillsfakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
|
tools
Package tools provides a centralized tool registry that bootstraps all tools from various integration points (file, shell, browser, MCP, etc.) and filters denied tools based on HITL configuration.
|
Package tools provides a centralized tool registry that bootstraps all tools from various integration points (file, shell, browser, MCP, etc.) and filters denied tools based on HITL configuration. |
|
tools/codeskim
Package codeskim provides a code outline/skimming tool for agents.
|
Package codeskim provides a code outline/skimming tool for agents. |
|
tools/datetime
Package datetime provides time and date tools for agents.
|
Package datetime provides time and date tools for agents. |
|
tools/doctool
Package doctool provides document parsing tools for agents.
|
Package doctool provides document parsing tools for agents. |
|
tools/encodetool
Package encodetool provides encoding, decoding, and hashing tools for agents.
|
Package encodetool provides encoding, decoding, and hashing tools for agents. |
|
tools/google/calendar
Package calendar provides calendar management tools for agents.
|
Package calendar provides calendar management tools for agents. |
|
tools/google/contacts
Package contacts provides Google Contacts (People API) tools for agents.
|
Package contacts provides Google Contacts (People API) tools for agents. |
|
tools/google/gdrive
Package gdrive provides a DataSource connector that enumerates Google Drive files in configured folders for vectorization.
|
Package gdrive provides a DataSource connector that enumerates Google Drive files in configured folders for vectorization. |
|
tools/google/gdrive/gdrivefakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
|
tools/google/gmail
Package gmail provides a DataSource connector that enumerates Gmail messages for given labels for vectorization.
|
Package gmail provides a DataSource connector that enumerates Gmail messages for given labels for vectorization. |
|
tools/google/oauth
Package oauth: browser_flow runs the OAuth2 authorization code flow by opening the system browser and running a local redirect server to capture the code, then exchanging it for a token and storing it in the device keyring.
|
Package oauth: browser_flow runs the OAuth2 authorization code flow by opening the system browser and running a local redirect server to capture the code, then exchanging it for a token and storing it in the device keyring. |
|
tools/google/tasks
Package tasks provides Google Tasks API tools for agents.
|
Package tasks provides Google Tasks API tools for agents. |
|
tools/jsontool
Package jsontool provides JSON querying, validation, and transformation tools backed by gjson (reads) and sjson (writes).
|
Package jsontool provides JSON querying, validation, and transformation tools backed by gjson (reads) and sjson (writes). |
|
tools/math
Package math provides mathematical tools (a unified arithmetic tool and a calculator/expression evaluator) that can be registered with the tool registry.
|
Package math provides mathematical tools (a unified arithmetic tool and a calculator/expression evaluator) that can be registered with the tool registry. |
|
tools/networking
Package networking provides agent-callable tools for making HTTP requests (GET, POST, etc.) to arbitrary URLs with configurable headers, body, and timeout.
|
Package networking provides agent-callable tools for making HTTP requests (GET, POST, etc.) to arbitrary URLs with configurable headers, body, and timeout. |
|
tools/ocrtool
Package ocrtool provides optical character recognition (OCR) tools for agents.
|
Package ocrtool provides optical character recognition (OCR) tools for agents. |
|
tools/pm
Package pm provides a DataSource connector for issue-tracking systems.
|
Package pm provides a DataSource connector for issue-tracking systems. |
|
tools/pm/pmfakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
|
tools/regextool
Package regextool provides regular expression tools for agents.
|
Package regextool provides regular expression tools for agents. |
|
tools/scm
Package scm provides a single DataSource connector backed by go-scm for all SCM providers (GitHub, GitLab, Bitbucket).
|
Package scm provides a single DataSource connector backed by go-scm for all SCM providers (GitHub, GitLab, Bitbucket). |
|
tools/scm/scmfakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
|
tools/sqltool
Package sqltool provides SQL database query tools for agents.
|
Package sqltool provides SQL database query tools for agents. |
|
tools/toolsfakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
|
tools/webfetch
Package webfetch provides a URL content fetcher for agents.
|
Package webfetch provides a URL content fetcher for agents. |
|
tools/youtubetranscript
Package youtubetranscript provides a tool to fetch transcript/captions from YouTube videos.
|
Package youtubetranscript provides a tool to fetch transcript/captions from YouTube videos. |
|
toolwrap
Package toolwrap provides composable middleware for tool execution.
|
Package toolwrap provides composable middleware for tool execution. |
|
toolwrap/toolwrapfakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
|
ttlcache
Package ttlcache provides a TTL-based cache for values that can be refreshed on expiry (e.g.
|
Package ttlcache provides a TTL-based cache for values that can be refreshed on expiry (e.g. |
Click to show internal directories.
Click to hide internal directories.