Skip to main content

Crate metarepo_core

Crate metarepo_core 

Source

Re-exports§

pub use config_format::ConfigFormat;
pub use config_format::CANONICAL_FILENAME;
pub use config_format::KNOWN_FILENAMES;
pub use config_format::LEGACY_FILENAME;
pub use config_setting::ConfigSetting;
pub use config_setting::ConfigValueType;
pub use interactive::is_interactive;
pub use interactive::prompt_confirm;
pub use interactive::prompt_multiselect;
pub use interactive::prompt_select;
pub use interactive::prompt_text;
pub use interactive::prompt_url;
pub use interactive::NonInteractiveMode;
pub use security::canonicalize_creatable;
pub use security::ensure_within_base;
pub use security::is_dangerous_env_var;
pub use security::is_supported_git_url;
pub use security::is_unencrypted_git_scheme;
pub use security::validate_path_segment;
pub use security::validate_project_url;
pub use security::DANGEROUS_ENV_VARS;

Modules§

config_format
Configuration file format detection and serialization dispatch.
config_setting
Declarative configuration settings for plugins and modules.
interactive
protocol
Wire protocol (v1) for communication between the metarepo host and external plugins running as subprocesses.
security
Security helpers for validating untrusted inputs that flow from the .meta config and CLI args into filesystem paths, subprocess spawns, and child environment variables.
tui
Terminal User Interface (TUI) framework for building interactive interfaces

Structs§

ArgBuilder
Builder for arguments
ArgumentInfo
BuiltPlugin
A plugin built from the builder
CommandBuilder
Builder for individual commands
CommandInfo
Extract command information for structured output
Dependency
DiscoveredConfig
A located metarepo config file along with its detected format. Returned by MetaConfig::discover_from and consumable directly by MetaConfig::load_from_file.
Example
ExecutionConfig
JsonHelpFormatter
JSON help formatter for structured output
ManifestArg
ManifestCommand
MarkdownHelpFormatter
Markdown help formatter for documentation
McpServeSettings
The [mcp.serve] policy controlling what an MCP client may do to a workspace. Defaults preserve today’s behavior (full access).
McpSettings
Configuration for the experimental meta mcp plugin (the [mcp] block in .meta). Currently only the serve policy is honored; all fields are optional and default to full access so existing setups are unchanged.
MetaConfig
The .meta file configuration format
MetaModuleManifest
Top-level meta.module.* structure. Everything lives under the [module] table, so the manifest reads as [module] + [[module.plugins]] + [[module.skills]].
ModuleInfo
ModulePluginRef
A reference to one plugin provided by the module. Exactly one of manifest or binary must be set:
ModuleSkillRef
A reference to one skill shipped by the module: a directory (relative to the repo root) containing a SKILL.md.
NestedConfig
Configuration for nested repository handling
PluginBuilder
Builder for creating plugins declaratively
PluginConfig
PluginInfo
PluginManifest
Plugin manifest structure (plugin.toml)
PluginMetadata
Plugin metadata structure
ProjectMetadata
Detailed project metadata
RuntimeConfig
Runtime configuration available to all plugins
SkillSettings
Configuration for the meta skill commands (the [skill] block in .meta).
TerminalHelpFormatter
Terminal help formatter (default colorful output)
YamlHelpFormatter
YAML help formatter for structured output

Enums§

ArgValueType
ConfigDiscoveryError
Errors surfaced by MetaConfig::discover_from. Separated out as its own enum so the CLI can render a tailored message for the multi-file case.
HelpFormat
Help output format
ProjectEntry
Project metadata including scripts and configuration

Constants§

MANIFEST_FILENAMES
Manifest filenames the loader recognizes, in priority order.
MODULE_MANIFEST_FILENAMES
Module manifest filenames the loader recognizes, in priority order.

Traits§

BasePlugin
Base trait for plugins with default implementations
HelpFormatter
Trait for formatting help output
MetaPlugin
Trait that all meta plugins must implement

Functions§

arg
Convenience function to create a new argument builder
command
Convenience function to create a new command builder
current_project_of
The project that working_dir is inside, if any. A project matches when the working directory is at or below meta_root/<project key>.
format_help_description
Render a plugin/command helpDescription into the man-page-style section that clap drops at the {after-help} slot of with_standard_help on --help.
meta_root_of
The workspace root: the parent directory of the discovered meta file.
pattern_matches
Match text against a simple pattern: * is a wildcard, otherwise the match is exact-or-substring. Shared by the disabled list and the exec iterator so both honor the same semantics.
plugin
Convenience function to create a new plugin builder
projects_in_scope
The directory-contextual 3-level project scope:
scoped_keys
Resolve the set of project keys a directory-aware command should operate on.
with_standard_help
Apply the standard meta help layout to a command and all of its subcommands, recursively.