This is a Laravel Zero app to test Pijul, a distributed version control system.
Use ./ani pijul:credit-with-messages to keep pijul credit output intact while showing each hash's change message inline.
Example:
./ani pijul:credit-with-messages README.md
Use ./ani pijul:record-with-intent-tags to reuse intent tags from recent pijul log messages while recording a change.
--message if you want to type a fresh message directly.Examples:
./ani pijul:record-with-intent-tags
./ani pijul:record-with-intent-tags --all
./ani pijul:record-with-intent-tags --list-tags
To spin up a disposable repo for manually testing that flow, run:
./scripts/pijul-record-with-intent-tags-test-helper
It creates a temporary Pijul repo with pending README and notes changes, drops you into a shell there, and removes the repo automatically when you exit.
Use ./ani pijul:list-intent-tags to print one unique intent tag per line, which makes it easy to pipe into shell tools.
Use ./ani pijul:search-intent-tags for built-in substring search over those tags.
If you omit the query in an interactive terminal, it opens a live, scrollable filter that starts by showing known tags and narrows on each keypress.
Examples:
./ani pijul:list-intent-tags
./ani pijul:list-intent-tags --limit=50 | fzf
./ani pijul:search-intent-tags zero --limit=50
./ani pijul:search-intent-tags 'feat(pijul-qol)' --exact
Pijul does not have a direct equivalent to git diff origin/main...HEAD, so the easiest review workflow is to pull the remote channel into a local review channel and diff against that.
Example:
pijul pull origin --from-channel main --to-channel review-main
pijul channel switch my-work
pijul diff --channel review-main
Useful variations:
pijul diff --channel review-main --short for a summary view.pijul log --channel my-work and pijul log --channel review-main to compare recorded changes by channel.pijul change <hash> to inspect an individual recorded change in detail.pijul diff still shows only unrecorded working-copy changes.If you want to do a bigger cleanup pass with a review step at the end, create a base channel and then do the cleanup work on a second channel:
pijul channel new cleanup-base
pijul channel new cleanup-pass
pijul channel switch cleanup-pass
Suggested flow:
cleanup-base unchanged as the comparison point.cleanup-pass.pijul diff --channel cleanup-base.pijul log --channel cleanup-base and pijul log --channel cleanup-pass if you want to compare recorded changes by channel.This gives you a safer place to do a lot of cleanup before reviewing the full pass together.
See Pijul feature channel merge and unmerge workflows for a simple recipe that uses a cleaner baseline such as mainer-main, feature channels such as feature-login, and an integration channel such as staging.