patrick91 / patrick91/shortcake

Review findings and roadmap

Open
#30 2 comments 0 reactions 0 assignees View on GitHub

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 --downstack flag is defined but unused.
  • GitRepo.commit bypasses hooks for non-interactive commits.
  • Stack metadata in .git/shortcake.json is local-only and worktree-unaware.
  • Worktree support is incomplete (hard-coded .git paths).
  • create --insert updates parents but not parent_revision.
  • move and split compute parent_revision from local trunk instead of origin/main.
  • submit requires a clean tree even when no restack is needed.
  • ls hides 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_dir or git rev-parse --git-dir for metadata and split state paths.
  • Update parent_revision when inserting branches.
  • Normalize trunk refs to origin/main for 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 submit when restack is needed (or add --no-restack).
  • Add a safe view/status command for stack inspection.
  • Provide interactive nav up when multiple children exist.
  • Add consistent --dry-run behavior across mutating commands.
Phase 3: Cross-Device Metadata
  • Evaluate trailers vs notes for portable metadata.
  • Add shortcake metadata migrate and shortcake metadata sync.
  • Add fallback stack reconstruction when metadata is missing.
Phase 4: Workflow Enhancements
  • Optional integration with git-absorb or git-autofixup.
  • Add undo/runlog recovery commands.
  • Consider a land/merge command for orderly stack landing.

Suggested Tests

  • Worktree path handling for metadata and split state.
  • submit behavior with dirty tree when restack not needed.
  • create --insert parent revision updates.
  • get --downstack behavior.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.