Skip to content

Conversation

@mikeyobrien
Copy link
Owner

Adds Justfile for common dev tasks and pre-commit hooks to ensure formatting and linting before commits. Includes updated DEVELOPMENT.md with Quick Start guide.

Add 'ralph completions <SHELL>' command to generate shell completion
scripts for bash, zsh, fish, and PowerShell.

Usage:
  ralph completions bash > ~/.local/share/bash-completion/completions/ralph
  ralph completions zsh > ~/.zsh/completions/_ralph
  ralph completions fish > ~/.config/fish/completions/ralph.fish
  ralph completions power-shell >

Changes:
- Add clap_complete = "4.5" dependency
- Create completions module with ShellArg enum
- Add Completions variant to Commands enum
- Wire up command handler in main.rs
- Add spec documenting the feature

Closes #128
@claude
Copy link

claude bot commented Feb 3, 2026

Code Review

Found 2 CLAUDE.md compliance issues:

1. Spec files in wrong directory

Both spec files are placed in specs/ but CLAUDE.md requires specs to be in .ralph/specs/:

Files affected:

  • specs/devenv-setup.spec.md
  • specs/shell-completions.spec.md

CLAUDE.md quote (line 97):

Create specs in .ralph/specs/ — do NOT implement without an approved spec first

CLAUDE.md quote (line 240):

Design docs and specs go in .ralph/specs

Fix: Move both spec files from specs/ to .ralph/specs/

Reference: https://github.com/mikeyobrien/ralph-orchestrator/blob/4f79c691d7e4518cd83eff12c90cb87854866d21/CLAUDE.md#L97


2. Hook installation method conflicts with CLAUDE.md

The PR changes the hook installation method from ./scripts/setup-hooks.sh to git config core.hooksPath .hooks, but CLAUDE.md documents the existing method.

Files affected:

  • DEVELOPMENT.md (line 19)
  • Justfile (line 46)

CLAUDE.md quote (line 15):

./scripts/setup-hooks.sh # Install pre-commit hooks (once)

The existing ./scripts/setup-hooks.sh copies hooks to .git/hooks/, while the PR uses git config core.hooksPath .hooks to point Git directly at the .hooks/ directory. These are different mechanisms.

Fix: Either:

  1. Update the PR to use ./scripts/setup-hooks.sh (matching CLAUDE.md), OR
  2. Update CLAUDE.md to document the new git config core.hooksPath .hooks approach

Reference: https://github.com/mikeyobrien/ralph-orchestrator/blob/4f79c691d7e4518cd83eff12c90cb87854866d21/CLAUDE.md#L15


All other aspects of the PR (code quality, logic, security) look good. No bugs found.

…ment

Replaces manual toolchain setup with devenv.sh for reproducible,
cross-platform development environments.

Changes:
- Add flake.nix for Nix flakes support
- Add devenv.nix with Rust toolchain (rustc, cargo, clippy, rustfmt)
- Add devenv.yaml configuration
- Add .envrc for direnv integration
- Update Justfile with devenv-aware commands and ./scripts/setup-hooks.sh
- Update DEVELOPMENT.md with Nix-based setup instructions and hook setup
- Add specs to .ralph/specs/ (not specs/) per CLAUDE.md

Features:
- All contributors get identical tool versions
- One command setup: direnv allow or nix develop
- Pre-commit hooks via ./scripts/setup-hooks.sh (matches CLAUDE.md)
- Works on Linux, macOS, and WSL

Fixes:
- Moved specs from specs/ to .ralph/specs/ per CLAUDE.md
- Use ./scripts/setup-hooks.sh instead of git config core.hooksPath

Usage:
  direnv allow              # Auto-activate when entering directory
  nix develop               # Or manually enter dev shell
  ./scripts/setup-hooks.sh  # Install git hooks
  just check                # Run all checks

Refs:
- CLAUDE.md line 97: specs go in .ralph/specs/
- CLAUDE.md line 15: use ./scripts/setup-hooks.sh
@mikeyobrien
Copy link
Owner Author

Fixed both CLAUDE.md compliance issues:

  1. Specs moved: Both specs now in (was )

  2. Hook installation: Updated to use (matches CLAUDE.md)

    • Justfile now calls
    • DEVELOPMENT.md documents this approach
    • This copies hooks to instead of using

Thanks for the review!

@mikeyobrien
Copy link
Owner Author

Closing in favor of #152 which now includes these changes.

@mikeyobrien mikeyobrien closed this Feb 3, 2026
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.

2 participants