scm
Source code management workflow - nothing is ever lost
Installation
Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.
View source ↗GuidesSkill instructions
Source Code Management
jj workflow for preserving all work. Nothing is ever lost.
Core Principle
Every change is automatically tracked. In jj, working copy (@) is always a commit. No staging area. Every save is part of the current commit.
Rules
-
Commit after every testable change - After each TDD cycle, run
jj commit -m "msg". Don't batch. Worktree gets squash-merged anyway. -
Finalize before destructive ops - Before
jj restore,jj abandon, or ending session: commit first. -
Experiments: commit, try, backout - Commit the experiment, evaluate, then
jj backout -r @-if discarding. History preserved. -
Unknown changes: preserve first - Never
jj restoreunknown changes. Commit checkpoint, then investigate withjj diff -r @-. -
Deleting code: commit, then delete - Checkpoint before removing so you can recover from history.
Why This Matters
-
Recovery: Any past state is one
jj editaway - Confidence: Experiment freely knowing nothing is lost
- Squash merge: All commits collapse to one clean commit at release
Anti-patterns
| Don't | Do Instead |
|---|---|
jj restore without thinking |
Commit first |
jj abandon without checking |
Verify commit is unwanted |
| Batch changes in one commit | Commit after each testable change |
| Leave session without finalizing | Commit before stopping |
Examples
Read the usage examples in the source repository.
View source ↗Source history
- Indexed on
- 2026-01-20
- Index updated
- 2026-01-26
- Branch
- main
Index and sync dates describe this directory. View the source repository for code history.
GitHub ↗chat Comments (0)
Sign in to join the discussion and leave a comment.
No comments yet. Be the first to share your thoughts!