patrick91 / patrick91/shortcake
Review findings and roadmap
Open
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 4
- Forks
- 0
- Avg merge
- 4h 22m
- Merged PRs (30d)
- 5
Description
Summary
This issue tracks the comprehensive review findings and the prioritized roadmap to fix correctness, UX, and stack management problems.
Key Findings
get --downstackflag is defined but unused.GitRepo.commitbypasses hooks for non-interactive commits.- Stack metadata in
.git/shortcake.jsonis local-only and worktree-unaware. - Worktree support is incomplete (hard-coded
.gitpaths). create --insertupdates parents but notparent_revision.moveandsplitcomputeparent_revisionfrom local trunk instead oforigin/main.submitrequires a clean tree even when no restack is needed.lshides branches by rendering only the first child chain.- Docs mismatch: README config path/format vs XDG TOML config.
Plan
Phase 1: Correctness and Data Safety
- Implement or remove
get --downstack. - Ensure hooks run for non-interactive commits.
- Use
Repo.git_dirorgit rev-parse --git-dirfor metadata and split state paths. - Update
parent_revisionwhen inserting branches. - Normalize trunk refs to
origin/mainfor parent revision calculations. - Render all stack roots and children in
ls. - Align docs with actual config location/format.
Phase 2: UX Improvements
- Only require a clean tree in
submitwhen restack is needed (or add--no-restack). - Add a safe
view/statuscommand for stack inspection. - Provide interactive
nav upwhen multiple children exist. - Add consistent
--dry-runbehavior across mutating commands.
Phase 3: Cross-Device Metadata
- Evaluate trailers vs notes for portable metadata.
- Add
shortcake metadata migrateandshortcake metadata sync. - Add fallback stack reconstruction when metadata is missing.
Phase 4: Workflow Enhancements
- Optional integration with
git-absorborgit-autofixup. - Add
undo/runlogrecovery commands. - Consider a
land/mergecommand for orderly stack landing.
Suggested Tests
- Worktree path handling for metadata and split state.
submitbehavior with dirty tree when restack not needed.create --insertparent revision updates.get --downstackbehavior.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by choosing one scoped item from the Phase 1 plan, then inspect the related command and the .git/shortcake.json metadata behavior. Run the corresponding suggested test, such as worktree path handling or create --insert parent revision updates. Done means the selected behavior is implemented and covered by its focused test; the broader roadmap remains separate work.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- git, python
- Domain
- cli, developer-experience, testing
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100