Skip to content

feat: add Deno-native installer with selective component support#2

Merged
adrielp merged 3 commits intomainfrom
claude/confident-jang
Mar 30, 2026
Merged

feat: add Deno-native installer with selective component support#2
adrielp merged 3 commits intomainfrom
claude/confident-jang

Conversation

@adrielp
Copy link
Copy Markdown
Owner

@adrielp adrielp commented Mar 30, 2026

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 run command 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
    • --interactive for interactive checkbox picker
    • --dry-run to preview changes without writing
    • --yes to skip confirmation prompts
    • --mode=repo to display clone+stow instructions for power users
    • Diff display and per-file confirmation on conflicts
    • Idempotent — safe to re-run; unchanged files are skipped
  • manifest.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.md
    • Quick Start now leads with Deno install (no git clone required)
    • Stow-based setup moved to new "Advanced: Repo / Power-User Mode" section
    • Added Deno installation instructions and private repo auth note
    • Included examples: dry-run, selective skills, interactive mode, all-tools install

Installation Examples

# Install all Claude Code configs
deno run --allow-read --allow-write --allow-net --allow-env \
  https://raw.githubusercontent.com/adrielp/ai-engineering-harness/<SHA>/install.ts \
  --tool=claude

# Preview without writing
... --dry-run

# Install a single skill
... --skill=git-commit-helper

# Interactive selector
... --interactive

# Install all three tools
... --tool=all

Backward Compatibility

Existing setup.sh + GNU Stow workflow is preserved and available via --mode=repo for users who prefer symlink-based management.

adrielp added 3 commits March 30, 2026 11:33
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.
@adrielp adrielp merged commit 411a2df into main Mar 30, 2026
@adrielp adrielp deleted the claude/confident-jang branch March 30, 2026 16:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant