Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Project Config

The project-level configuration file lives at .azureal/azufig.toml relative to the main worktree root. It holds settings scoped to a single project: file tree hidden entries, health panel scan directories, git automation rules, and project-specific run commands and preset prompts.


Location

<project-root>/
  .azureal/
    azufig.toml      <-- project config
    sessions.azs     <-- session store (SQLite)
  .git/
  src/
  ...

The .azureal/ directory is gitignored by default – AZUREAL automatically adds .azureal/ to .gitignore on first load to prevent the session store and runtime files from causing rebase conflicts.

Because git worktrees share a common working tree root, the project config file at the main worktree root is shared by all worktrees in the project. You do not maintain separate configs per worktree.


Sections

[filetree]

Controls which entries are hidden in the file tree pane.

[filetree]
hidden = ["worktrees", ".git", "target", "node_modules", ".DS_Store"]
KeyDescriptionDefault
hiddenArray of file/directory names to hide from the file tree.["worktrees", ".git", ".claude", ".azureal", ".DS_Store", "target", "node_modules"]

Entries are matched by exact name against the filename component (not the full path). If a directory is named target, adding "target" hides it at every level of the tree. This is a display-only filter – hidden entries still exist on disk and are accessible via the embedded terminal.

[healthscope]

Directories included in health panel scans. Also aliased as [godfilescope] for backward compatibility.

[healthscope]
dirs = ["src", "crates", "lib"]
KeyDescriptionDefault
dirsArray of directory paths to include when scanning for god files and documentation coverage.[] (scans entire project)

When this section is absent or empty, the health panel scans the entire project tree. When populated, only the listed directories are scanned. This is useful for large monorepos where you want to focus health checks on specific crates or modules. See Scope Mode for how to configure this interactively from the health panel UI.

[runcmds]

Project-local run commands. Same format as the global [runcmds] section.

[runcmds]
1_Dev = "cargo run -- --dev"
2_Migrate = "sqlx migrate run"
3_Seed = "cargo run --bin seed"

Project-local run commands appear in the run commands menu alongside global ones. They are only visible when this project is active.

[presetprompts]

Project-local preset prompts. Same format as the global [presetprompts] section.

[presetprompts]
1_FixLint = "Fix all clippy warnings in this file."
2_AddDocs = "Add documentation comments to all public items in this module."

Project-local preset prompts appear alongside global ones in the preset prompts menu and are only visible when this project is active.

[git]

Git automation settings. This section uses a flat key-value map. Auto-rebase and auto-resolve settings are stored per-worktree – each worktree has its own .azureal/azufig.toml with its own [git] section. They are not stored in the project-level config with per-branch keys.

Auto-Rebase

When enabled for a worktree, AZUREAL automatically rebases the worktree’s branch onto main every 2 seconds (when idle).

[git]
auto-rebase = "true"

The key auto-rebase is set to "true" to enable or removed to disable. Auto-rebase is deferred while an agent is actively streaming to avoid interrupting work in progress.

See Rebase & Auto-Rebase for how auto-rebase integrates with the git panel.

Auto-Resolve

Per-file auto-resolve settings for merge conflicts. When enabled for a file, AZUREAL automatically resolves conflicts in that file during rebase operations using a union merge strategy (keeping both sides’ changes).

[git]
"auto-resolve/AGENTS.md" = "true"
"auto-resolve/CHANGELOG.md" = "true"
"auto-resolve/README.md" = "true"
"auto-resolve/CLAUDE.md" = "true"

Keys follow the pattern auto-resolve/<filename>. Values are "true" to enable auto-resolve. The default list includes AGENTS.md, CHANGELOG.md, README.md, and CLAUDE.md.

See Auto-Resolve Settings for details.


Example File

A complete project config:

[filetree]
hidden = ["worktrees", ".git", "target", "node_modules", ".DS_Store", ".azureal"]

[healthscope]
dirs = ["src", "crates"]

[runcmds]
1_Dev = "cargo run"
2_Test = "cargo test"
3_Check = "cargo check --all-targets"

[presetprompts]
1_Modularize = "Break this file into smaller modules, one feature per file."
2_Optimize = "Profile and optimize the hot path in this function."

[git]
auto-rebase = "true"
"auto-resolve/AGENTS.md" = "true"
"auto-resolve/CHANGELOG.md" = "true"