Repository navigation
Stop and tell the user when an AppMap tool cannot be installed - #10
Merged
Merged
Conversation
kgilpin
force-pushed
the
docs/stop-on-failed-install
branch
2 times, most recently
from
September 21, 2026 22:13
52dd024 to
2e86ae4
Compare
An agent that could not download the CLI, the Java agent, or a build plugin kept trying other routes. Setup now names one source per tool, says the list is complete, and says what to report to the user when an install fails. - appmap-setup Phase 0: the agent downloads the CLI from the release manifest and installs it at ~/.appmap/bin/appmap, as a link to a versioned file under ~/.appmap/lib/appmap. The Java agent gets the same treatment from the appmap-java releases page. The agent goes ahead without asking and says what it installed and where. - The agent never installs an IDE extension or launches an IDE. The extension is only mentioned as a reason the tools may already be present, and as something the user can choose to do. - Maven and Gradle plugins: resolved by the build tool; the releases pages give the version number. - Ruby, Python, Node agents: RubyGems, PyPI, npm only, through the project's package manager. - appmap-record, appmap-gold-traces, appmap-review: short pointer to the rule. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
kgilpin
force-pushed
the
docs/stop-on-failed-install
branch
from
September 23, 2026 17:07
2e86ae4 to
0a6b452
Compare
kgilpin
marked this pull request as ready for review
September 23, 2026 20:16
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.
Why
When the AppMap CLI, the Java agent, or a build plugin could not be downloaded, the agent kept trying other routes (npm, other URLs, older versions, changed registry settings). We want it to stop and hand the problem back to the user.
The skills listed the recommended install methods, but never said the list was complete, and never said what to do when an install fails. Setup also told the agent to install an IDE extension and open the project, which an agent should not do.
What changed
appmap-setup/SKILL.mdPhase 0appmap-record/SKILL.mdappmap-record/languages/java.mdappmap-record/languages/ruby.md,python.md,node.mdappmap-gold-traces/SKILL.md,appmap-review/SKILL.mdreview.mjs,manage.mjsHow the agent gets the CLI and the Java agent
The agent never installs an IDE extension or launches an IDE. The extension is mentioned only as a reason the tools may already be present, and as something the user can choose to do.
Files go where the IDE extension puts them, so the Phase 0 check passes afterward:
Before, the CLI was put "on PATH as appmap", and there was no supported way to get the Java agent jar without an IDE.
Sources
appmap-jsrelease manifestappmap-javareleases, checked against the sha256 the GitHub API reportsFor review
The skills do not tell the agent to load a Maven or Gradle plugin jar into a build by hand. If the build tool cannot download the plugin, the agent stops and tells the user the jar is on the releases page, so they can add it to their internal repository.
Testing
All helper tests pass (87 of 87).
🤖 Generated with Claude Code