# description
Configuration file for the NimbleBrain agent runtime (nimblebrain.json).

# properties.model.properties.apiKey.description
Anthropic API key. Falls back to ANTHROPIC_API_KEY env var.

# properties.providers.properties.anthropic.properties.models.description
Allowlist of model IDs. Omit to allow all.

# properties.providers.properties.openai.properties.models.description
Allowlist of model IDs. Omit to allow all.

# properties.providers.properties.google.properties.models.description
Allowlist of model IDs. Omit to allow all.

# properties.bundles.description
MCPB bundles to spawn. Merged with default bundles unless noDefaultBundles is set.

# properties.bundles.items.properties.name.description
Bundle name from mpak registry (e.g., "@nimblebraininc/leadgen").

# properties.bundles.items.properties.path.description
Local filesystem path to a bundle directory.

# properties.bundles.items.properties.url.description
URL of a remote MCP server (e.g., "https://mcp.example.com/mcp").

# properties.bundles.items.properties.serverName.description
Display name for the remote server. Required for url bundles.

# properties.bundles.items.properties.transport.properties.auth.description
Authentication method for the remote server.

# properties.bundles.items.properties.transport.properties.headers.description
Custom HTTP headers sent with every request.

# properties.bundles.items.properties.transport.properties.sessionId.description
MCP session ID for resuming an existing session.

# properties.bundles.items.properties.env.description
Environment variables passed to the bundle process.

# properties.bundles.items.properties.allowedEnv.description
Host env vars this bundle may access (e.g., ['ANTHROPIC_API_KEY']).

# properties.bundles.items.properties.protected.description
If true, bundle cannot be uninstalled via nb__manage_bundle.

# properties.bundles.items.properties.trustScore.description
MTF trust score recorded at install time (0-100).

# properties.bundles.items.properties.ui.description
UI metadata from manifest, stored at install time.

# properties.allowInsecureRemotes.description
Allow HTTP (non-TLS) remote bundle connections. Dev only.

# properties.models.properties.reasoning.description
Most capable model for complex analysis.

# properties.defaultModel.description
Default model ID (e.g., "claude-sonnet-4-5-20250929"). Deprecated — use models.default instead.

# properties.maxIterations.description
Max agentic iterations per request. Capped at 25. Default: 10.

# properties.maxInputTokens.description
Max input tokens per request. Default: 500000.

# properties.maxOutputTokens.description
Max output tokens per LLM call. Default: 16384.

# properties.logging.properties.dir.description
Log directory. Default: workDir + "/logs".

# properties.logging.properties.disabled.description
Disable structured logging entirely. Default: false.

# properties.http.description
HTTP server config. Omit for programmatic-only use.

# properties.http.properties.port.description
Port number for the HTTP server. Default: 27247.

# properties.agents.description
Named agent profiles for multi-agent delegation via nb__delegate.

# properties.agents.additionalProperties.properties.description.description
Human-readable description of the agent's purpose.

# properties.agents.additionalProperties.properties.systemPrompt.description
System prompt injected when this agent runs.

# properties.agents.additionalProperties.properties.tools.description
Tool name globs the agent can access (e.g., 'rfpsearch__*').

# properties.agents.additionalProperties.properties.maxIterations.description
Max iterations for this agent. Default: 10.

# properties.workDir.description
Working directory for all runtime state. Defaults to ~/.nimblebrain.

# properties.telemetry.properties.enabled.description
Enable anonymous telemetry. Default: true.

# properties.home.description
Home dashboard configuration. Controls the personalized activity briefing on the landing page.

# properties.home.properties.enabled.description
Enable the Home dashboard. When false, / redirects to /chat. Default: true.

# properties.home.properties.model.description
Model for briefing generation. Null uses workspace default.

# properties.home.properties.userName.description
User's first name for the greeting. Default: "there".

# properties.home.properties.timezone.description
IANA timezone for time-aware language (e.g., "Pacific/Honolulu"). Empty string uses system timezone.

# properties.home.properties.cacheTtlMinutes.description
Briefing cache TTL in minutes. Default: 30.

# properties.features.description
Feature flags to enable/disable capabilities. All default to true. Set to false to disable.

# properties.features.properties.skillManagement.description
Enable skill create/update/delete via nb__manage_skill. Default: true.

# properties.features.properties.delegation.description
Enable multi-agent delegation via nb__delegate. Default: true.

# properties.features.properties.toolDiscovery.description
Enable tool search via nb__discover_tools. Default: true.

# properties.features.properties.bundleDiscovery.description
Enable registry search via nb__discover_bundles. Default: true.

# properties.features.properties.mcpServer.description
Enable MCP server endpoint. Default: true.

# properties.features.properties.fileContext.description
Enable file context (workspace files, chat attachments). Default: true.

# properties.files.description
File context configuration for workspace file uploads.

# properties.files.properties.maxFileSize.description
Maximum individual file size in bytes. Default: 26214400 (25 MB).

# properties.files.properties.maxTotalSize.description
Maximum total file size per message in bytes. Default: 104857600 (100 MB).

# properties.files.properties.maxFilesPerMessage.description
Maximum number of files per chat message. Default: 10.

# properties.files.properties.maxExtractedTextSize.description
Maximum extracted text size per file in bytes. Default: 204800 (200 KB).

# properties.preferences.description
User preferences for personalization (display name, timezone, theme, locale).

# properties.preferences.properties.displayName.description
User's display name. Used in greetings and UI. Falls back to home.userName for backward compatibility.

# properties.preferences.properties.timezone.description
IANA timezone (e.g., 'Pacific/Honolulu'). Falls back to home.timezone for backward compatibility.

# properties.preferences.properties.locale.description
BCP 47 locale tag (e.g., 'en-US'). Default: 'en-US'.

# properties.preferences.properties.theme.description
Color theme preference. Default: 'system'.