Repository Config
Place a .fennoai.yml file in your repository to customize Fenno's behavior for that specific repo. The file is optional — Fenno works with sensible defaults without it.
File Location
The configuration file can be placed in any of the following locations (listed from highest to lowest priority):
your-repo/
├── .fennoai.yml ← highest priority
├── .github/
│ └── fennoai.yml ← GitHub-style
└── .codeagent/
└── fennoai.yml ← dedicated directory
Fenno checks these paths in order and uses the first one found.
Configurable Options
The repository-level config focuses on model settings. Sensitive information (API keys, base URLs, etc.) is managed through global configuration and environment variables — not in the repo config.
Set a Default AI Model
# .fennoai.yml
default_ai_provider: claude
Supported values: claude, deepseek, gemini, minimax, kimi, zhipu, codex
Control Who Can Trigger Fenno
Use require_member_to_trigger to control whether only repository members can trigger @fennoai and slash commands.
# .fennoai.yml
require_member_to_trigger: true
Default behavior when this field is not set:
- Public repository:
true(member-only trigger)
Common examples:
# Public repo opt-out: allow any user to trigger
require_member_to_trigger: false
Customize Model per Provider
You can override the model name for each provider:
# .fennoai.yml
default_ai_provider: claude
claude:
model: 'claude-sonnet-4'
# deepseek:
# model: "deepseek/deepseek-v3.2-251201"
# gemini:
# model: "gemini-3.0-pro-preview"
Note: Only model names can be configured here. API keys, base URLs, and other sensitive settings are managed through global configuration.
How Configuration Takes Effect
Most .fennoai.yml settings take effect automatically on subsequent requests, with no restart or redeployment required. Fenno reads the file from the default branch.
If you define schedule: tasks, note that:
- scheduled tasks are synchronized after a push to the default branch
- changing config only on a feature branch will not update production scheduled tasks yet
- see Scheduled Tasks for the full behavior
Configuration priority: Command-line flags > Repository config > Global config