Planned
Ferrule
A Rust CLI for safer project checkpointing and Git-based save workflows.
Project overview
Overview
Ferrule is a Rust CLI for safer project checkpointing and Git-based save workflows.
It turns the existing save habit into a deliberate tool with visible checks, clear failure behavior, and fewer repeated manual steps.
Rationale
Why Ferrule exists
Frequent, understandable checkpoints make every other project safer to work on. Ferrule is intentionally small: it solves a real workflow problem without attempting to replace Git.
Because the same workflow is useful across Feo, Ferrisle, and future projects, improvements to Ferrule can benefit the entire ecosystem.
Current target
MVP goal
Ferrule provides a safe save and commit workflow with a status preview, optional checks, commit-message handling, a commit step, and an optional push.
Command surface
Initial commands
- ferrule status
- ferrule save
- ferrule save with an inline message
- ferrule check
- ferrule config
Expected behavior
How the workflow should behave
- Show Git status before committing.
- Run configured checks before saving.
- Commit only when required checks pass.
- Accept an inline commit message.
- Prompt for a message when one is missing.
- Show clear failure output.
- Never hide important Git output.
Success criteria
Definition of done
- ferrule status works.
- ferrule save with a message works.
- An optional pre-save command works.
- Failures are clear and safe.
- The README shows example workflows.
- The tool is useful in at least Feo and Ferrisle.
Boundaries
Non-goals for now
- Replacing Git.
- Complex branching workflows.
- AI-generated commit messages.
- GitHub API integration.
- Automatic pushing by default.
- Hidden behavior that obscures what Git is doing.
Next action
Next step
Create the smallest version that wraps git status and git commit safely.