feat: add Deno-native installer with selective component support#2
Merged
feat: add Deno-native installer with selective component support#2
Conversation
Adds install.ts as the default installation path — users run a single deno run command with no git clone or GNU Stow required. Files are copied as real files; re-running is idempotent and shows diffs on conflicts. Adds manifest.json enumerating all installable components across claude, opencode, and gemini. Updates README Quick Start to lead with the Deno one-liner; stow docs moved to an Advanced section.
- Replace naive index-based diff with LCS algorithm for correct conflict diffs - Fix stdin handling: readLine helper prevents newline bleed between prompts - Protect user-specific config files (settings.json, .mcp.json) from silent overwrite in default install flow - Gracefully handle unknown --skill values with warnings instead of hard exit - Update original plan doc to reflect actual implementation
Point users to the releases page for version pinning instead of requiring a raw commit SHA from the commits page.
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.
Overview
Add a Deno-native installer as the default installation path, replacing the need for GNU Stow. Users can now install configurations with a single
deno runcommand without cloning the repository.Changes
New Files
install.ts— Deno-based installer script with the following features:--tool=<claude|opencode|gemini|all>for selecting which tool configs to install--skill=<name>[,<name>]for selective component installation--interactivefor interactive checkbox picker--dry-runto preview changes without writing--yesto skip confirmation prompts--mode=repoto display clone+stow instructions for power usersmanifest.json— Static index of all installable components per tool, mapping source files to destination paths. Supports 3 tools × ~20 components each.thoughts/adriel/plans/01-deno-install-support.md— Implementation plan with design decisions and testing strategy.Updated Files
README.mdInstallation Examples
Backward Compatibility
Existing
setup.sh+ GNU Stow workflow is preserved and available via--mode=repofor users who prefer symlink-based management.