Add optional tools installation step#21
Merged
Merged
Conversation
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The agents produced garbage even when loading the combined skill, the test instructions were just burried too deep...
This would enhance the system with a bunch of tools I like to use, with the ability to select them interactively when the installer is interactive, or opt-in for all when it's not.
Instead of writing their output to files they should just feed it back to the primary agent, which would then write it to files for them. Also enforce Agent Teams for most non-super-trivial plans.
Instead of running a poor-quality skill post-completion to try and update docs, which results in very lazy updates, plan most of the doc changes upfront as they should be known at planning time - Add it as the last sub-plan. To combat component docs which may drift from the plan during impl, the primary plan executioner would run a new specialized agent to review component doc changes, feeding learnings to the primary agent which would then update what's missing.
It should know exactly what counts as "TMI" that could've been documented elsewhere.
This is due to a bug in the progress logger which will be properly solved separately, when extracted to the `go-nesgress` library. For now, we get around that by not nesting progress, logging everything in a flat way.
Select fzf, bat, and ripgrep when the tools multi-select prompt appears. On apt/dnf systems (CI containers), only these plus fd are available since sheldon/eza/difftastic are brew-only.
Thread the plain flag through all huh selector constructors so forms use .WithAccessible(true) in non-interactive environments. This makes huh render plain-text number-based prompts instead of TUI, allowing the expect script to interact with tool/prerequisite/GPG selection.
The flag bypasses the interactive selector and auto-installs all tools. Remove it so the expect script actually exercises the accessible mode multi-select prompt.
The expect script now tests the full interactive flow including tool selection, not just GPG setup.
The nested expect calls inside the handler caused the process to exit before inner expects could fire. Use a step counter in the main loop so each "Input a number" prompt is handled independently.
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.
Summary
tools.yamlconfig with package mappings across apt/dnf/brew inpackagemap.yaml--install-toolsflag for non-interactive auto-install of all available tools--tools-configpersistent flag to override the embedded tools configOther changes
writing-go-codeskill into separate code and test skillsTest plan
task test)task build)--install-toolsflag auto-installs all tools in non-interactive mode--install-toolsKnown limitations
UpdateProgresshas no visual effect during tool installation due to a bug in the progress display (spinner title is set once at launch, never re-read). Each tool's completion shows viaLogAccomplishmentinstead. Documented in progress library extraction scope.