Three layers
Later layers win key by key. Team decisions go in
settings.toml; absolute
paths, personal endpoints, and anything secret go in settings.local.toml.
Scripts
setupruns once when a workspace is created. The single most important key in the file: a fresh worktree has no gitignored files, so no dependencies, no build output, no virtualenv.runis the long-running dev process, started and stopped from the app or witharchductor run/archductor stop.archiveruns on archive — tear down containers, free a database.test/lint/typecheck/buildbecome the workspace’s checks.run_modedefaults toconcurrent. Setnonconcurrentwhen the dev server binds something genuinely global (a fixed database port, a docker network) and only one workspace may run at a time. Starting a second run then fails with a message naming the workspace already running, instead of a confusing port collision.
Several run scripts
When a workspace starts more than one thing,run takes a table:
Checks
There is no separate checks configuration. The four script keys are it.test, lint, typecheck, build. Each falls back to
customization.automation.<name>_command if the [scripts] key is unset;
prefer [scripts]. The same four commands also populate the command palette.
Getting local files into a workspace
.worktreeinclude lines and
file_include_globs are concatenated into one pattern list. A .worktreeinclude
does not disable file_include_globs.
With both genuinely empty, nothing is copied — .env* is scaffolded into a new
settings.toml at bootstrap, but it is not a runtime fallback. Lines starting
with ! or # are discarded, so gitignore-style negation does not work. Only
gitignored files are ever copied.
env_file_refs is different from copying: these files are parsed and their
variables injected into scripts and agent processes.
Environment
Precedence, lowest to highest: built-ins, then
env_file_refs contents, then
[environment_variables].
Prompts and prompt packs
Prompts are the text sent to an agent for each built-in action — creating a pull request, resolving conflicts, fixing failing tests. Worth editing, because they encode how your repository wants those jobs done..archductor/prompt-packs/; default.toml is created
on bootstrap. Available keys in both [prompts] and a pack:
new_workspace, general, continue_work, summarize_session, handoff,
code_review, create_pr, fix_errors, resolve_merge_conflicts,
rename_branch, commit_generation, push_branch, merge_pr,
revert_changes, review_comments, test_fixing, refactor_style,
setup_script, run_script.
Inline [prompts] overrides the active pack, so a pack can carry house defaults
while one repository deviates on a single key.
Pull requests
{workspace}, {branch}, {summary},
{session_summary}, {changed_files}, {changed_files_count}, {type}.
pr_body_sections replaces the default headings (Summary, What Changed, Why,
User Impact, Validation). Content is generated by matching the heading text, so
keep recognisable words in your section names.
Merge rules
archductor pr merge. The first two default to on, so an open
todo refuses the merge until you close it or opt out.
Workspace defaults
working_directory is the monorepo key: scripts and agent sessions start there
instead of at the worktree root.
A working example
.archductor/settings.toml