pub struct AetherSettings {
pub agent: Option<String>,
pub prompts: Vec<PromptSource>,
pub mcps: Vec<McpSourceSpec>,
pub providers: ProviderConnectionOverrides,
pub credentials_store: Option<CredentialsStoreConfig>,
pub agents: Vec<AgentConfig>,
}Expand description
The root of an Aether settings file (.aether/settings.json). It selects the
default agent and defines the agents, prompt sources, MCP servers, and provider
overrides available to a project.
A minimal project with a single user-invocable agent:
{
"agent": "Build",
"agents": [
{
"name": "Build",
"description": "Builds features and fixes bugs",
"model": "anthropic:claude-sonnet-4-5-20250929",
"userInvocable": true
}
]
}A fuller setup with shared prompts, an MCP source, and a provider override:
{
"agent": "Build",
"prompts": ["AGENTS.md"],
"mcps": [".aether/mcp.json"],
"providers": {
"anthropic": { "auth": "default" }
},
"agents": [
{
"name": "Build",
"description": "Builds features and fixes bugs",
"model": "anthropic:claude-sonnet-4-5-20250929",
"reasoningEffort": "high",
"userInvocable": true,
"prompts": [".aether/BUILD.md", "AGENTS.md"]
}
]
}An encrypted file credential store using a passphrase from the environment:
{
"credentialsStore": {
"type": "encryptedFile",
"passwordEnv": "PASSWORD_ENV_VAR_NAME"
},
"agents": [
{
"name": "Build",
"description": "Builds features and fixes bugs",
"model": "anthropic:claude-sonnet-4-5-20250929",
"userInvocable": true
}
]
}Fields§
§agent: Option<String>Name of the agent to launch by default. Must match a name in agents.
When unset, Aether falls back to the first user-invocable agent.
prompts: Vec<PromptSource>Default prompt sources shared by all agents. An agent inherits these only
when its own prompts array is empty.
mcps: Vec<McpSourceSpec>Default MCP sources shared by all agents. An agent inherits these only when
its own mcps array is empty.
providers: ProviderConnectionOverridesProvider connection overrides (credentials, base URLs, inference profiles) applied to every agent unless overridden per-agent.
credentials_store: Option<CredentialsStoreConfig>Credential storage backend for OAuth tokens. Defaults to the OS keyring when unset.
agents: Vec<AgentConfig>The agents defined for this project. At least one agent is required.
Implementations§
Source§impl AetherSettings
impl AetherSettings
pub fn load_default(project_root: &Path) -> Result<Self, SettingsError>
pub fn load( project_root: &Path, sources: impl IntoIterator<Item = AetherSettingsSource>, ) -> Result<Self, SettingsError>
pub fn load_file_for_export(path: &Path) -> Result<Self, SettingsError>
pub fn merge(self, next: Self) -> Self
Sourcepub fn inline_resources(&mut self, root: &Path) -> Result<(), SettingsError>
pub fn inline_resources(&mut self, root: &Path) -> Result<(), SettingsError>
Replace every file- and glob-backed prompt and MCP source with its
inlined contents, resolving paths against root.
The result serializes to a self-contained settings document with no external file references, suitable for shipping to a machine or container that does not have the authoring repository mounted.
Trait Implementations§
Source§impl Clone for AetherSettings
impl Clone for AetherSettings
Source§fn clone(&self) -> AetherSettings
fn clone(&self) -> AetherSettings
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for AetherSettings
impl Debug for AetherSettings
Source§impl Default for AetherSettings
impl Default for AetherSettings
Source§fn default() -> AetherSettings
fn default() -> AetherSettings
Source§impl<'de> Deserialize<'de> for AetherSettings
impl<'de> Deserialize<'de> for AetherSettings
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl JsonSchema for AetherSettings
impl JsonSchema for AetherSettings
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
$ref keyword. Read moreSource§impl PartialEq for AetherSettings
impl PartialEq for AetherSettings
Source§fn eq(&self, other: &AetherSettings) -> bool
fn eq(&self, other: &AetherSettings) -> bool
self and other values to be equal, and is used by ==.