chore(setup): drop the dead Gemini target, make AGENTS.md generated again - #55
Merged
Merged
Conversation
…gain
`setup.py --tool gemini` wrote .gemini/commands/fk/*.toml and GEMINI.md for
a CLI that is retired, and its replacement reads neither. Verified against
agy 1.2.7, in a trusted folder, with a real project on disk:
- a project's .gemini/commands/*.toml is not expanded
- .claude/commands/*.md is not expanded either
- GEMINI.md, AGENTS.md and CLAUDE.md are all absent from a print-mode
run's context (input tokens identical to an empty directory)
- `agy plugin import claude` answers "No claude extensions found" — it
imports extensions, not command files
So the target produced files nothing consumes. Removed, GEMINI.md deleted,
and the interactive menu is down to Claude Code and Codex. `clean` still
removes what the target left on disk, because nothing else ever will, and
a .fk-setup.json from before this release — which records "gemini" — is
skipped with a pointer to `clean` rather than crashing the sync.
agy is not being dropped. It stays one of the three CLIs that can run
video review; that is configured in agent/providers.json via
/fk-change-provider, not by this script, which generates command files for
the CLI you drive Flow Kit *from*. The docs now say which is which.
Running the generator surfaced a second problem. AGENTS.md carries "do not
edit" at the top and had been edited anyway: rules 14-16 (fact-check,
real-people bypass, review-before-upscale) and pipeline steps 0 and 7.5
existed only in the committed artifact, so `setup.py sync` would have
silently deleted three operational rules. They live in setup.py now, so
regeneration is lossless. The same drift had left the skill table at 25
entries — missing 11 skills that exist, including /fk-doctor and
/fk-change-provider, and naming /fk-gen-tts which does not — and that half
is fixed by regenerating, since the table is built from skills/ at
generation time.
setup.py gains its first tests: 13, covering the legacy-state skip, the
clean path (including that a hand-written instruction file without the
generated header survives it), and the content that had drifted.
352 -> 365 tests.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ka5BxVaWiQeWNDJakpCJJP
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
setup.py --tool geminigenerated.gemini/commands/fk/*.tomlandGEMINI.mdfor a CLI that is retired. Its replacement,agy(Antigravity), reads neither — so the target produced files nothing consumes.What was verified, not assumed
Against
agy1.2.7, inside a folder~/.gemini/trustedFolders.jsonmarks trusted, with a real project on disk:/fk:pinggwith.gemini/commands/fk/pingg.tomlpresent/pingcwith.claude/commands/pingc.mdpresentGEMINI.md/AGENTS.md/CLAUDE.mdat the project rootagy plugin import claudeNo claude extensions found— it imports extensions, not command filesFor contrast,
codexdoes readAGENTS.md(verified the same way — it answered with the planted codeword), so--tool codexis genuinely alive and stays.Changes
--tool geminiremoved;generate_geminiandgenerate_gemini_mddeleted; the interactive menu is down to Claude Code and Codex.GEMINI.mddeleted from the repo.cleanstill removes what the target left on disk — nothing else ever will, and an install from before this release has those files. Covered by a test..fk-setup.jsonwritten before this release records"gemini".syncnow skips it with a pointer tocleaninstead of crashing, which would otherwise strand the user with no way to regenerate the targets that do still exist.agyis not being dropped. It remains one of the three CLIs that can run video review — configured inagent/providers.jsonvia/fk-change-provider, not by this script, which generates command files for the CLI you drive Flow Kit from. The docs now state that distinction, because "we removed the Gemini target" reads like "we removed agy" otherwise.A second problem, found by running the generator
AGENTS.mdcarriesdo not editat the top and had been edited anyway. Regenerating it revealed content that existed only in the committed artifact:So
python setup.py sync— the documented way to add a skill — would have silently deleted three operational rules. They are insetup.pynow, and a test pins each one, verified load-bearing by removing a rule and watching exactly that test fail.The same drift ran the other way too: the committed skill table had 25 entries, missing 11 skills that exist (including
/fk-doctorand/fk-change-provider, added last week) and naming/fk-gen-tts, which does not. That half is fixed simply by regenerating, since the table is built fromskills/at generation time.After this, the only differences between the committed and regenerated
AGENTS.mdare corrections: the title (Google Flow Agent→Flow Kit) andClaude Vision→AI vision, which is accurate now that review runs on any of three CLIs.Tests
setup.pyhad none. It has 13 now — the legacy-state skip, the clean path (including that a hand-written instruction file without the generated header survives it), and the drifted content.352 → 365.
🤖 Generated with Claude Code
https://claude.ai/code/session_01Ka5BxVaWiQeWNDJakpCJJP