Directories
¶
| Path | Synopsis |
|---|---|
|
Package cmd implements the command-line interface for meow.
|
Package cmd implements the command-line interface for meow. |
|
meow
command
Package main is the entry point for the meow CLI application.
|
Package main is the entry point for the meow CLI application. |
|
internal
|
|
|
activities/agentloop
Package agentloop implements an iterative agent loop that can call tools.
|
Package agentloop implements an iterative agent loop that can call tools. |
|
activities/buildbatches
Package buildbatches implements an activity that groups chunks into batches for embedding computation.
|
Package buildbatches implements an activity that groups chunks into batches for embedding computation. |
|
activities/buildindex
Package buildindex implements an activity that builds and saves a vector index for a single snapshot.
|
Package buildindex implements an activity that builds and saves a vector index for a single snapshot. |
|
activities/buildindexes
Package buildindexes implements a parent activity that builds vector indices for multiple snapshots sequentially.
|
Package buildindexes implements a parent activity that builds vector indices for multiple snapshots sequentially. |
|
activities/control
Package control provides activities for flow control operations.
|
Package control provides activities for flow control operations. |
|
activities/deletefile
Package deletefile implements an activity for permanently deleting files.
|
Package deletefile implements an activity for permanently deleting files. |
|
activities/draftcommit
Package draftcommit implements an activity that generates commit messages using an LLM.
|
Package draftcommit implements an activity that generates commit messages using an LLM. |
|
activities/draftcommitflat
Package draftcommitflat implements an activity that generates commit messages from a flat list of file changes.
|
Package draftcommitflat implements an activity that generates commit messages from a flat list of file changes. |
|
activities/draftcontent
Package draftcontent implements an activity that invokes an LLM to draft text responses.
|
Package draftcontent implements an activity that invokes an LLM to draft text responses. |
|
activities/draftflat
Package draftflat implements a generic activity for composing text using an LLM with file context.
|
Package draftflat implements a generic activity for composing text using an LLM with file context. |
|
activities/draftpr
Package draftpr implements an activity that generates pull request descriptions using an LLM.
|
Package draftpr implements an activity that generates pull request descriptions using an LLM. |
|
activities/draftprflat
Package draftprflat implements an activity that generates pull request descriptions from a flat list of file changes.
|
Package draftprflat implements an activity that generates pull request descriptions from a flat list of file changes. |
|
activities/editfile
Package editfile implements an activity for editing files by string replacement.
|
Package editfile implements an activity for editing files by string replacement. |
|
activities/embedall
Package embedall implements a parent activity that computes embeddings for multiple batches sequentially.
|
Package embedall implements a parent activity that computes embeddings for multiple batches sequentially. |
|
activities/embedbatch
Package embedbatch implements an activity that computes embeddings for a batch of text chunks.
|
Package embedbatch implements an activity that computes embeddings for a batch of text chunks. |
|
activities/fetchbranchdiff
Package fetchbranchdiff implements an activity that fetches the diff of a file between current branch and target branch.
|
Package fetchbranchdiff implements an activity that fetches the diff of a file between current branch and target branch. |
|
activities/fetchbranchdiffs
Package fetchbranchdiffs implements a parent activity that fetches branch diffs for multiple files sequentially.
|
Package fetchbranchdiffs implements a parent activity that fetches branch diffs for multiple files sequentially. |
|
activities/fetchcontext
Package fetchcontext implements an activity that retrieves and formats context for RAG queries.
|
Package fetchcontext implements an activity that retrieves and formats context for RAG queries. |
|
activities/fetchstageddiff
Package fetchstageddiff implements an activity that fetches the staged diff for a single file.
|
Package fetchstageddiff implements an activity that fetches the staged diff for a single file. |
|
activities/fetchstageddiffs
Package fetchstageddiffs implements a parent activity that fetches staged diffs for multiple files sequentially.
|
Package fetchstageddiffs implements a parent activity that fetches staged diffs for multiple files sequentially. |
|
activities/filterfiles
Package filterfiles implements an activity that filters files based on include/exclude patterns.
|
Package filterfiles implements an activity that filters files based on include/exclude patterns. |
|
activities/finalizeindex
Package finalizeindex implements an activity that finalizes snapshot states in the database.
|
Package finalizeindex implements an activity that finalizes snapshot states in the database. |
|
activities/getdiff
Package getdiff implements an activity for retrieving git diffs.
|
Package getdiff implements an activity for retrieving git diffs. |
|
activities/getplan
Package getplan provides activities for retrieving the current plan/task board.
|
Package getplan provides activities for retrieving the current plan/task board. |
|
activities/gitundo
Package gitundo implements an activity for discarding uncommitted changes.
|
Package gitundo implements an activity for discarding uncommitted changes. |
|
activities/listbranchchanges
Package listbranchchanges implements an activity that lists files changed between current branch and target branch.
|
Package listbranchchanges implements an activity that lists files changed between current branch and target branch. |
|
activities/listfiles
Package listfiles implements an activity for listing files in a directory.
|
Package listfiles implements an activity for listing files in a directory. |
|
activities/liststagedfiles
Package liststagedfiles implements an activity that lists all files currently staged in git.
|
Package liststagedfiles implements an activity that lists all files currently staged in git. |
|
activities/memorize
Package memorize provides activities for storing facts in flow memory.
|
Package memorize provides activities for storing facts in flow memory. |
|
activities/movefile
Package movefile implements an activity for moving or renaming files.
|
Package movefile implements an activity for moving or renaming files. |
|
activities/plan
Package plan implements an activity for initializing task plans.
|
Package plan implements an activity for initializing task plans. |
|
activities/prepareindex
Package prepareindex implements an activity that deduplicates files and prepares them for processing.
|
Package prepareindex implements an activity that deduplicates files and prepares them for processing. |
|
activities/pruneindex
Package pruneindex implements an activity that removes outdated document versions and embeddings from storage.
|
Package pruneindex implements an activity that removes outdated document versions and embeddings from storage. |
|
activities/readfile
Package readfile implements an activity for reading file contents.
|
Package readfile implements an activity for reading file contents. |
|
activities/runshell
Package runshell implements an activity for executing shell commands.
|
Package runshell implements an activity for executing shell commands. |
|
activities/savechunks
Package savechunks implements an activity that distributes embeddings to chunks and saves them to storage.
|
Package savechunks implements an activity that distributes embeddings to chunks and saves them to storage. |
|
activities/savefileversion
Package savefileversion implements an activity that saves a document version with its chunks to storage.
|
Package savefileversion implements an activity that saves a document version with its chunks to storage. |
|
activities/scanworktree
Package scanworktree implements an activity that scans workspace state (working directory, stage, or HEAD) for files.
|
Package scanworktree implements an activity that scans workspace state (working directory, stage, or HEAD) for files. |
|
activities/searchindex
Package searchindex implements an activity that performs semantic search across indexed code using vector similarity.
|
Package searchindex implements an activity that performs semantic search across indexed code using vector similarity. |
|
activities/splitfile
Package splitfile implements an activity that chunks a single file into smaller pieces for embedding.
|
Package splitfile implements an activity that chunks a single file into smaller pieces for embedding. |
|
activities/splitfiles
Package splitfiles implements a parent activity that chunks multiple files sequentially.
|
Package splitfiles implements a parent activity that chunks multiple files sequentially. |
|
activities/summarize
Package summarize implements an activity for summarizing content using an LLM.
|
Package summarize implements an activity for summarizing content using an LLM. |
|
activities/summarizechanges
Package summarizechanges implements a parent activity that summarizes changes for multiple files sequentially.
|
Package summarizechanges implements a parent activity that summarizes changes for multiple files sequentially. |
|
activities/summarizefilechanges
Package summarizefilechanges implements an activity that generates a summary of changes in a single file using an LLM.
|
Package summarizefilechanges implements an activity that generates a summary of changes in a single file using an LLM. |
|
activities/tracktask
Package tracktask implements an activity for updating task status in a plan.
|
Package tracktask implements an activity for updating task status in a plan. |
|
activities/writefile
Package writefile implements an activity for creating or overwriting files.
|
Package writefile implements an activity for creating or overwriting files. |
|
adapters/command
Package command provides services for accessing command-line flags and input streams.
|
Package command provides services for accessing command-line flags and input streams. |
|
adapters/config
Package config provides configuration management using Viper, supporting multiple config sources.
|
Package config provides configuration management using Viper, supporting multiple config sources. |
|
adapters/gateway
Package gateway provides adapters for LLM providers (OpenAI, Anthropic, Gemini, etc.) with caching, rate limiting, and logging.
|
Package gateway provides adapters for LLM providers (OpenAI, Anthropic, Gemini, etc.) with caching, rate limiting, and logging. |
|
adapters/git
Package git provides a service for executing git commands to read staged files, diffs, and branch information.
|
Package git provides a service for executing git commands to read staged files, diffs, and branch information. |
|
adapters/httpclient
Package httpclient provides a configured HTTP client with custom transport settings and timeouts.
|
Package httpclient provides a configured HTTP client with custom transport settings and timeouts. |
|
adapters/output
Package output provides services for writing formatted output and progress feedback to the console.
|
Package output provides services for writing formatted output and progress feedback to the console. |
|
adapters/sqlite
Package sqlite provides SQLite database access and manages connections for index, cache, metadata, and rate limiting storage.
|
Package sqlite provides SQLite database access and manages connections for index, cache, metadata, and rate limiting storage. |
|
adapters/sqlite/cache
Package cache provides a SQLite-based repository for caching LLM responses with TTL support.
|
Package cache provides a SQLite-based repository for caching LLM responses with TTL support. |
|
adapters/sqlite/index
Package index provides a SQLite-based repository for storing and querying document chunks, embeddings, and snapshots.
|
Package index provides a SQLite-based repository for storing and querying document chunks, embeddings, and snapshots. |
|
adapters/sqlite/meta
Package meta provides a SQLite-based repository for storing and retrieving metadata key-value pairs.
|
Package meta provides a SQLite-based repository for storing and retrieving metadata key-value pairs. |
|
adapters/sqlite/migrations
Package migrations applies SQLite schema migrations.
|
Package migrations applies SQLite schema migrations. |
|
adapters/sqlite/path
Package path provides services for resolving SQLite database file paths based on workspace location.
|
Package path provides services for resolving SQLite database file paths based on workspace location. |
|
adapters/sqlite/ratelimit
Package ratelimit provides a SQLite-based repository for tracking and enforcing API rate limits.
|
Package ratelimit provides a SQLite-based repository for tracking and enforcing API rate limits. |
|
adapters/tracelog
Package tracelog provides structured logging for tracing LLM API interactions and activity execution.
|
Package tracelog provides structured logging for tracing LLM API interactions and activity execution. |
|
adapters/workspace
Package workspace provides services for resolving and managing the workspace directory path.
|
Package workspace provides services for resolving and managing the workspace directory path. |
|
app
Package app provides the application container that orchestrates all services and dependencies.
|
Package app provides the application container that orchestrates all services and dependencies. |
|
core/agent
Package agent provides configuration resolution for agent mode.
|
Package agent provides configuration resolution for agent mode. |
|
core/agent/state
Package state manages flow execution state including memory and task planning.
|
Package state manages flow execution state including memory and task planning. |
|
core/agent/tools
Package tools defines the standard tools available to the agent.
|
Package tools defines the standard tools available to the agent. |
|
core/chunker
Package chunker provides services for splitting file content into chunks for embedding.
|
Package chunker provides services for splitting file content into chunks for embedding. |
|
core/commit
Package commit provides services for composing commit messages from file changes.
|
Package commit provides services for composing commit messages from file changes. |
|
core/filter
Package filter provides services for filtering files based on include/exclude patterns and gitignore rules.
|
Package filter provides services for filtering files based on include/exclude patterns and gitignore rules. |
|
core/index
Package index provides core indexing operations for documents and snapshots.
|
Package index provides core indexing operations for documents and snapshots. |
|
core/model
Package model provides services for managing LLM model configurations and their capabilities.
|
Package model provides services for managing LLM model configurations and their capabilities. |
|
core/preset
Package preset provides services for managing LLM provider presets with rate limiting and cost tracking.
|
Package preset provides services for managing LLM provider presets with rate limiting and cost tracking. |
|
core/project
Package project provides services for inspecting git and workspace state.
|
Package project provides services for inspecting git and workspace state. |
|
core/prompt
Package prompt provides services for generating prompts from templates with variable substitution.
|
Package prompt provides services for generating prompts from templates with variable substitution. |
|
core/provider
Package provider provides services for managing LLM provider configurations (OpenAI, Anthropic, Gemini, etc.).
|
Package provider provides services for managing LLM provider configurations (OpenAI, Anthropic, Gemini, etc.). |
|
core/pullrequest
Package pullrequest provides services for composing pull request descriptions from file changes.
|
Package pullrequest provides services for composing pull request descriptions from file changes. |
|
core/ratelimit
Package ratelimit provides rate limiting services for LLM API calls with token-based and request-based limits.
|
Package ratelimit provides rate limiting services for LLM API calls with token-based and request-based limits. |
|
core/retrieval
Package retrieval provides services for semantic search and retrieval of code chunks using vector similarity.
|
Package retrieval provides services for semantic search and retrieval of code chunks using vector similarity. |
|
core/shutdown
Package shutdown provides graceful shutdown coordination for services and background operations.
|
Package shutdown provides graceful shutdown coordination for services and background operations. |
|
core/summarize
Package summarize provides services for generating summaries of file changes using LLMs.
|
Package summarize provides services for generating summaries of file changes using LLMs. |
|
core/task
Package task provides services for managing predefined tasks with prompts and configurations.
|
Package task provides services for managing predefined tasks with prompts and configurations. |
|
core/vector
Package vector provides services for vector index operations including search and index building.
|
Package vector provides services for vector index operations including search and index building. |
|
domain/commit
Package commit defines domain types for commit message generation.
|
Package commit defines domain types for commit message generation. |
|
domain/config
Package config defines domain types for application configuration including providers, models, presets, and flows.
|
Package config defines domain types for application configuration including providers, models, presets, and flows. |
|
domain/gateway
Package gateway defines domain types for LLM gateway interactions including requests, responses, and embeddings.
|
Package gateway defines domain types for LLM gateway interactions including requests, responses, and embeddings. |
|
domain/git
Package git defines domain types for git operations and file changes.
|
Package git defines domain types for git operations and file changes. |
|
domain/index
Package index defines domain types for document indexing including chunks, embeddings, and snapshots.
|
Package index defines domain types for document indexing including chunks, embeddings, and snapshots. |
|
domain/indexservice
Package indexservice defines types used by the indexing service API.
|
Package indexservice defines types used by the indexing service API. |
|
domain/model
Package model defines domain types for LLM model configurations and capabilities.
|
Package model defines domain types for LLM model configurations and capabilities. |
|
domain/output
Package output defines domain types for output formatting and destinations.
|
Package output defines domain types for output formatting and destinations. |
|
domain/preset
Package preset defines domain types for LLM provider presets with rate limits and cost tracking.
|
Package preset defines domain types for LLM provider presets with rate limits and cost tracking. |
|
domain/provider
Package provider defines domain types for LLM provider configurations (OpenAI, Anthropic, Gemini, etc.).
|
Package provider defines domain types for LLM provider configurations (OpenAI, Anthropic, Gemini, etc.). |
|
domain/pullrequest
Package pr defines domain types for pull request description generation.
|
Package pr defines domain types for pull request description generation. |
|
domain/ratelimit
Package ratelimit defines domain types for API rate limiting including token budgets and request limits.
|
Package ratelimit defines domain types for API rate limiting including token budgets and request limits. |
|
domain/summarize
Package summarize defines domain types for file change summarization.
|
Package summarize defines domain types for file change summarization. |
|
domain/task
Package task defines domain types for predefined tasks with prompts and configurations.
|
Package task defines domain types for predefined tasks with prompts and configurations. |
|
flows/ask
Package ask implements the workflow for answering questions about code using RAG.
|
Package ask implements the workflow for answering questions about code using RAG. |
|
flows/commitmsg
Package commitmsg implements the workflow for generating commit messages from staged changes or branch diffs.
|
Package commitmsg implements the workflow for generating commit messages from staged changes or branch diffs. |
|
flows/do
Package do implements the 'do' flow which orchestrates agent execution.
|
Package do implements the 'do' flow which orchestrates agent execution. |
|
flows/index
Package index implements the workflow for indexing workspace files by computing embeddings and building vector indices.
|
Package index implements the workflow for indexing workspace files by computing embeddings and building vector indices. |
|
flows/pr
Package pr implements the workflow for generating pull request descriptions from branch changes.
|
Package pr implements the workflow for generating pull request descriptions from branch changes. |
|
flows/search
Package search implements the workflow for semantic code search using vector similarity.
|
Package search implements the workflow for semantic code search using vector similarity. |
|
flows/write
Package write implements the workflow for generating arbitrary content using LLMs based on prompts and tasks.
|
Package write implements the workflow for generating arbitrary content using LLMs based on prompts and tasks. |
|
ports
Package ports defines port interfaces for hexagonal architecture, decoupling core business logic from adapters.
|
Package ports defines port interfaces for hexagonal architecture, decoupling core business logic from adapters. |
|
version
Package version provides build-time version information populated by the Go linker.
|
Package version provides build-time version information populated by the Go linker. |
|
pkg
|
|
|
executor
Package executor provides a framework for executing activities and flows with retry logic and feedback.
|
Package executor provides a framework for executing activities and flows with retry logic and feedback. |
|
gitignore
Package gitignore provides gitignore pattern matching functionality for filtering files.
|
Package gitignore provides gitignore pattern matching functionality for filtering files. |
|
llama
Package llama provides an HTTP client for interacting with Llama model APIs (local and hosted).
|
Package llama provides an HTTP client for interacting with Llama model APIs (local and hosted). |
|
voyage
Package voyage provides an HTTP client for the Voyage AI embedding API.
|
Package voyage provides an HTTP client for the Voyage AI embedding API. |
Click to show internal directories.
Click to hide internal directories.