AgentsConfigHelper
AGENTS.md2 starsChanged 3 months agoMITView on GitHub
Last reviewed: 2026-08-16 Single source of truth for AI coding agents working in this repository. Other agent entrypoints (CLAUDE.md, GEMINI.md, QWEN.md, .github/copilot-instructions.md, .cursor/rules/, .windsurf/rules/) are thin pointers back to this file. Project: AgentsConfigHelper — cross-platform Flutter desktop app for visualizing, editing, and managing config settings, rules, and permissions for AI agents and IDEs (Claude Code, Codex, Opencode, Paseo, Cursor, Kiro, Devin, Antigravity, Agy-ACP, etc.). Under development — use at your own risk. Pre-1.0, under active development. Provided "as is," without…
We split this AGENTS.md into the rules it gives an agent
15 rules. About 1 is common, 9 are distinctive, and 5 are very specific to this project.
≈1
Common · estimate
Many files like this have a rule of this kind.
≈9
Distinctive · estimate
This author's own choices. Worth a look.
5
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 21
Do not load everything. Start here, then open only what the task needs.
- Distinctive: line 75
Follow Dart/Flutter style (dart format enforced in CI)
- Distinctive: line 76
No comments unless they add non-obvious context
- Very specific: line 77
Keep widgets small and focused.
- Very specific: line 85
Use semantic versioning (CHANGELOG.md already declares this.
- Very specific: line 87
Update the relevant plan(s) in plans/active/ as each phase is implemented — reflect what actually shipped, not just what was proposed.
- Distinctive: line 94
Never archive directly on main as a separate post-merge step.
- Very specific: line 98
Remove completed items from TO_DO.md once done.
- Distinctive: line 103
Search and read targeted files before requesting broad repository context.
- Distinctive: line 104
Use one primary code-intelligence/indexing tool per role or task.
- Distinctive: line 105
Prefer a CLI plus task-specific skill for batch work.
- Distinctive: line 112
Run parallel implementation subagents in isolated git worktrees (one worktree per writer), never two writers in the same checkout — …
- Distinctive: line 116
Before spawning a review/research subagent that shares the checkout, secure the working tree — preferably with a commit.
- Very specific: line 131
Use a gitignored in-repo scratch directory (tmp/ or temp/ — both are in .gitignore) for temporary files, backups, and scratch git worktrees.
- Common: line 138
Keep credentials, generated indexes, and local agent state out of version control.
≈ “Common” is an estimate: at least 1 in 5 of the 36,368 AGENTS.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
AGENTS.md
Last reviewed: 2026-08-16
Single source of truth for AI coding agents working in this repository. Other agent
entrypoints (CLAUDE.md, GEMINI.md, QWEN.md, .github/copilot-instructions.md,
.cursor/rules/, .windsurf/rules/) are thin pointers back to this file.
Project: AgentsConfigHelper — cross-platform Flutter desktop app for visualizing, editing, and managing config settings, rules, and permissions for AI agents and IDEs (Claude Code, Codex, Opencode, Paseo, Cursor, Kiro, Devin, Antigravity, Agy-ACP, etc.).
Under development — use at your own risk. Pre-1.0, under active development. Provided "as is," without warranty. Reads and writes real agent/IDE config files (with automatic timestamped backups). Always review pending changes.
Read this first
Quick navigation: See docs/NAVIGATION.md for a role-based guide to finding documentation.
Do not load everything. Start here, then open only what the task needs.
| If you are… | Read |
| Starting a new session on this project | .context/project-profile.md, then prompts/new-agent-session.md |
| Moving work between agents or IDEs | Optional — prefer TO_DO.md, plans/active/, and .context/project-profile.md; if you use templates/handoff.md, keep .context/handoff.md current and commit-stamped (a stale handoff is worse than none) |
| Running periodic repo health checks | prompts/maintenance-loop.md |
| Looking for a tool / library / service | inventory/README.md (a menu, not a checklist) |
| Adding/enforcing repo rules | policies/README.md |
| Wiring local checks | hooks/README.md |
| Working with supported agent configs | docs/supported-tools.md |
| Running the macOS disposable test-root smoke | docs/macos-test-root.md |
Project essentials
- Stack: Flutter / Dart, targeting macOS, Windows, Linux
- App language is Dart, not Python — the Dart toolchain handles all app lint/format/tests, so
ignore the template's ruff/Python application hooks. This is not a ban on Python: repo tooling
(pre-commit hook scripts under
hooks/scripts/) is intentionally written in Python and targets 3.10+. - Review checklist:
best_practices.mdis a compact mirror of these conventions for Qodo's compliance check — keep it in sync with this file (AGENTS.md is authoritative). - Config discovery: auto-detect common paths on first launch + user-managed paths
- Edit safety: backup-before-write with diff preview and timestamped backup restore
- Data classification: internal — config files may contain tokens but nothing leaves the machine
Key files and directories
| Path | Purpose |
.context/project-profile.md | Project identity, stack, decisions (fast-load summary) |
lib/ | Flutter source (models, parsers, services, screens, widgets) |
test/ | Unit and widget tests |
plans/active/ | Active implementation plans |
docs/supported-tools.md | Config format reference for each supported agent/IDE |
hooks/ | Pre-commit hooks (gitleaks, hygiene, markdownlint) |
.github/workflows/ci.yml | Build matrix + analyze + test + secret scan |
.github/workflows/dependency-audit.yml | Weekly OSV-Scanner lockfile audit + zizmor known-vulnerable-actions check |
.github/workflows/catalog-advisory.yml | Monthly advisory tool-catalog freshness check (no-write) |
Commands
flutter pub get # install dependencies
flutter analyze --fatal-infos # lint + type check
dart format --output=none --set-exit-if-changed . # format check
flutter test # run tests
flutter run -d macos # run on desktop (macos/windows/linux)
flutter build macos --release # build release binaryConventions
- Never bypass pre-commit hooks (e.g.,
--no-verify) or force add files (e.g.,git add -f) without explicit user permission. If hooks fail, fix the issues. - Never disable linters, rules, or checks (e.g., in
.pre-commit-config.yamlor.gitignore) without explicit user permission. - Follow Dart/Flutter style (dart format enforced in CI)
- No comments unless they add non-obvious context
- Keep widgets small and focused; business logic lives in services/models. Widgets (including
Riverpod
ConsumerWidget/ConsumerState) may still invoke services and read providers from callbacks — that orchestration is not "business logic in the widget." - Config parsers are pure functions — easy to test
- New tools (agent/IDE) get a parser + entry in
docs/supported-tools.md
Maintenance
- Use semantic versioning (
CHANGELOG.mdalready declares this;TO_DO.mdtracks formalizing it as an enforced policy). - Update the relevant plan(s) in
plans/active/as each phase is implemented — reflect what actually shipped, not just what was proposed. Every active plan must have one open, linked entry inTO_DO.md; add it when activating the plan and keep the two records aligned. - Archive a plan as the last step before merging, not after: once its scope, validation,
review, and explicitly recorded follow-through are complete, remove its
TO_DO.mdentry, log the change in the appropriate changelog, and move the file fromplans/active/toplans/archive/as the final commit on the feature branch so the archival rides in the PR. Never archive directly onmainas a separate post-merge step. Do neither early. - Log changes in the appropriate changelog: user-facing changes go in
CHANGELOG.md; developer-only changes (hooks internals, tests/CI) go inCHANGELOG.dev.md. Seepolicies/changelog-conventions.md. - Remove completed items from
TO_DO.mdonce done. Plans are different: keep completed items in plan files as history — archive the plan instead of stripping it.
Agent tooling policy
- Search and read targeted files before requesting broad repository context.
- Use one primary code-intelligence/indexing tool per role or task.
- Prefer a CLI plus task-specific skill for batch work; use MCP when persistent, interactive state materially helps.
- Handoffs are optional. Prefer durable trackers (
TO_DO.md,plans/active/,.context/project-profile.md); if you keep a handoff, commit-stamp it, refresh it whenever you pause or switch agents/IDEs, and treat one whose recorded commit does not matchHEADas stale — re-derive state instead of trusting it. Delete it once the work lands. - Run parallel implementation subagents in isolated git worktrees (one worktree per writer), never two writers in the same checkout — observed failure: one agent's shell/git commands silently wiped another agent's uncommitted tests. Keep file ownership disjoint as a second layer and merge via branches/PRs.
Before spawning a review/research subagent that shares the checkout, secure the working tree — preferably with a commit; otherwise back it up with the commands below, which capture tracked (staged, unstaged, binary) and untracked files and are portable across macOS and Linux:
mkdir -p tmp git diff --binary HEAD > tmp/backup.patch git ls-files -z --others --exclude-standard | tar --null -T - -cf tmp/untracked.tarRestore with
git apply tmp/backup.patchandtar -xf tmp/untracked.tar(the staged/unstaged split is not preserved — restored changes are unstaged). Then run the subagent read-only (no edit tools, no destructive shell/git) and verifygit statusafter it finishes.- Use a gitignored in-repo scratch directory (
tmp/ortemp/— both are in.gitignore) for temporary files, backups, and scratch git worktrees. Never write scratch files outside the repository (/tmp,/var/folders, or any other external temp path): every external write triggers a per-command permission prompt and slows the workflow, and absolute/var/folderspaths are flagged byhooks/scripts/check_absolute_paths.sh. If the scratch dir is missing, create it and add it to.gitignorefirst. - Keep credentials, generated indexes, and local agent state out of version control.
macOS distribution note
The current macOS workflow is source-build-only and intentionally unsandboxed
so the app can discover and edit real user configuration files. Do not publish
or distribute a prebuilt macOS artifact without revisiting
docs/adr/ADR-002-macos-file-access.md.
Local source-build outputs, including flutter build macos --release, remain
supported.
For the opt-in, development-only macOS test-root workflow, see
docs/macos-test-root.md. It explains the safety contract and the
root dev.sh entrypoint; do not substitute personal configuration files for its
token-free fixtures.
Where files are headingNew AGENTS.md files have more rules about keeping secrets out of the code, and fewer about code style.
Of the AGENTS.md files we read, the 28,693 first seen in the last six months, against the older ones: the kind of rule that gained most share, and the kind that lost most. About files like this in general, not this one, and an estimate, since a kind is a pattern in the words.
In this repository24 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- .github/copilot-instructions.mdCopilot instructions
- .cursor/rules/codeguard-0-additional-cryptography.mdcCursor rule
- .cursor/rules/codeguard-0-api-web-services.mdcCursor rule
- .cursor/rules/codeguard-0-authentication-mfa.mdcCursor rule
- .cursor/rules/codeguard-0-authorization-access-control.mdcCursor rule
- .cursor/rules/codeguard-0-client-side-web-security.mdcCursor rule
- .cursor/rules/codeguard-0-cloud-orchestration-kubernetes.mdcCursor rule
- .cursor/rules/codeguard-0-data-storage.mdcCursor rule
- .cursor/rules/codeguard-0-devops-ci-cd-containers.mdcCursor rule
- .cursor/rules/codeguard-0-file-handling-and-uploads.mdcCursor rule
- .cursor/rules/codeguard-0-framework-and-languages.mdcCursor rule
- .cursor/rules/codeguard-0-iac-security.mdcCursor rule
- .cursor/rules/codeguard-0-input-validation-injection.mdcCursor rule
- .cursor/rules/codeguard-0-logging.mdcCursor rule
- .cursor/rules/codeguard-0-mobile-apps.mdcCursor rule
- .cursor/rules/codeguard-0-privacy-data-protection.mdcCursor rule
- .cursor/rules/codeguard-0-safe-c-functions.mdcCursor rule
- .cursor/rules/codeguard-0-session-management-and-cookies.mdcCursor rule
- .cursor/rules/codeguard-0-supply-chain-security.mdcCursor rule
- .cursor/rules/codeguard-0-xml-and-serialization.mdcCursor rule
- .cursor/rules/codeguard-1-crypto-algorithms.mdcCursor rule
- .cursor/rules/codeguard-1-digital-certificates.mdcCursor rule
- .cursor/rules/codeguard-1-hardcoded-credentials.mdcCursor rule
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

