Skip to content

docs: research — relocate Automation Config from consumer CLAUDE.md to .agent-flow/config.toml#18

Closed
filip-ceos wants to merge 1 commit into
mainfrom
discuss/automation-config-location
Closed

docs: research — relocate Automation Config from consumer CLAUDE.md to .agent-flow/config.toml#18
filip-ceos wants to merge 1 commit into
mainfrom
discuss/automation-config-location

Conversation

@filip-ceos

Copy link
Copy Markdown
Collaborator

Summary

Research document only — no behavior change, version-neutral (no plugin.json/CHANGELOG edits).

Investigates whether embedding the ## Automation Config section (5 required + 18 optional table sections) directly in the consuming project's CLAUDE.md is best practice for Claude Code plugins, and where it should live instead. Based on 7 parallel research subagents across two rounds: official Claude Code docs, a survey of ~11 real plugins (including Anthropic's own), community best practices, neighboring ecosystems (Codex/Cursor/MCP), an internal drift analysis of this repo, and a format comparison (TOML/YAML/JSON/MD/TOON).

Key findings

  • CLAUDE.md is officially "context, not enforced configuration"; subagents auto-load it un-filterably, so inline config creates a dual-source conflict inside every agent's context — relocation is the only fix.
  • No surveyed plugin embeds a structured config contract in the consumer's CLAUDE.md; the precedented patterns are a plugin dot-directory (.taskmaster/config.json) or .claude/-namespaced files (Anthropic's hookify).
  • Native userConfig/pluginConfigs is flat-scalar only — too weak for 18 structured sections.
  • A real two-channel conflict already exists today between CLAUDE.md Retry Limits and customization/*.toml [limits] (file:line evidence in the doc).

Drafted decision (for discussion)

.agent-flow/config.toml (committed, team-shared) + optional .agent-flow/config.local.toml (gitignored, per-developer overrides), CLAUDE.md reduced to a 1–2 line pointer. /check-setup validates the config exists and is not gitignored; /onboard gains a migrate mode; deprecation window for the legacy inline format. Classified MAJOR per the Versioning Policy.

Open questions are listed in §5 of the document (override reconciliation rule, local-merge semantics, schema validation, doc-count drift).

Test plan

  • Full harness run locally (HARNESS_JOBS=1): 233 scenarios — 232 pass, 0 fail, 1 skip

🤖 Generated with Claude Code

Findings from a 7-subagent research pass (official docs, ecosystem survey,
community practices, internal drift analysis, format comparison) on where
agent-flow's per-project Automation Config should live.

Drafted decision: .agent-flow/config.toml (committed) + optional
config.local.toml (gitignored, per-developer overrides), CLAUDE.md reduced
to a pointer. Classified MAJOR; migration via deprecation window. No
behavior change in this commit — research document only.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@flmo1919

flmo1919 commented Jul 6, 2026

Copy link
Copy Markdown

Closing without merge. The research document (research-automation-config-location-2026-07-03.md) has been moved into the implementation PR #19 (commit 4dfa90d), so the investigation lands together with the migration it motivated rather than as a separate PR. The shipped decision is a hard cut with no deprecation window, which supersedes this doc's drafted-decision note.

filip-ceos added a commit that referenced this pull request Jul 6, 2026
…s migration

Moves research-automation-config-location-2026-07-03.md here from the
discuss/automation-config-location branch (PR #18, now closed) so the
investigation that motivated the config relocation lands with the
implementation instead of as a separate PR. Content unchanged — it is a
point-in-time research record; the shipped decision is a hard cut (no
deprecation window), which supersedes the doc's drafted-decision note.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@filip-ceos

Copy link
Copy Markdown
Collaborator Author

Closing without merge. The research document (research-automation-config-location-2026-07-03.md) has been moved into the implementation PR #19 (commit 4dfa90d), so the investigation lands together with the migration it motivated rather than as a separate PR. The shipped decision is a hard cut with no deprecation window, which supersedes this doc's drafted-decision note.

@filip-ceos filip-ceos closed this Jul 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants