Repository navigation
feat(brew): install openspec via Homebrew and drop stale OpenSpec zshrc block - #32
Merged
Merged
Conversation
…rc block Add openspec to the Brewfile dev toolchain; its zsh completion lands in Homebrew site-functions, already on fpath before compinit. Remove the OPENSPEC:START/END markers and the oh-my-zsh fpath entry, keeping its compinit, which was the only one in .zshrc. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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
The OpenSpec CLI should come from these dotfiles, not an ad-hoc npm global. The
.zshrcOpenSpec block pointed fpath at~/.oh-my-zsh/custom/completions, and oh-my-zsh has been removed.What changed
dot_config/brew/Brewfile.tmpl: addedbrew "openspec"to the dev toolchain section, which is installed on every machine (likegh). The formula installs_openspecinto$HOMEBREW_PREFIX/share/zsh/site-functions.dot_zshrc: removed the# OPENSPEC:START/ENDmarkers and the oh-my-zsh fpath line.autoload -Uz compinit; compinitis kept. The brief assumed.zshrcalready had its own compinit, but this block held the only one. The fragments (core,plugins/fzf-tab,wt) depend on it. It is now a plain block labelled "Completion init", placed right after the brew fpath setup.CLAUDE.md: OpenSpec is no longer listed as a tool-managed.zshrcblock, and the doc now records why the block is gone.Verified
zsh -n dot_zshrcpasses.zsh -iwith the new.zshrc(via a tempZDOTDIR) definescompdef, and_compshas 1752 entries, so compinit still runs.chezmoi execute-template < dot_config/brew/Brewfile.tmplrendersbrew "openspec".chezmoi diff ~/.zshrc ~/.config/brew/Brewfileshows only the intended changes, plus the drift noted below.chezmoi applyandbrew installwere not run (per brief). The_openspeccompletion has not been exercised, because the formula is not installed yet.Action needed after merge + apply
run_once_01runsbrew bundle, but it does not hash the Brewfile. On an existing machine, a Brewfile change does not re-trigger it. Runbrew bundle --file ~/.config/brew/Brewfile(orbrew install openspec).node, so that gets installed alongside the mise-managed Node.openspecnpm global already exists under mise Node (~/.local/share/mise/installs/node/24.22.1/bin/openspec). PATH order decides which one wins, sonpm uninstall -g @fission-ai/openspec(under mise Node) makes the brew one canonical.Noticed, not changed
~/.zshrchas a local addition that is not in source: a trailing# bun completionsline sourcing~/.bun/_bun. The nextchezmoi applywill remove it. The bun section earlier in.zshrcalready sources_bun, so nothing is lost.OPENSPEC:STARTblock.🤖 Generated with Claude Code