187 lines
4.3 KiB
Markdown
187 lines
4.3 KiB
Markdown
# Save Progress
|
|
|
|
You are tasked with creating a comprehensive progress checkpoint when the user needs to pause work on a feature.
|
|
|
|
## When to Use This Command
|
|
|
|
Invoke this when:
|
|
- User needs to stop mid-implementation
|
|
- Switching to another task/feature
|
|
- End of work session
|
|
- Before a break or context switch
|
|
|
|
## Process
|
|
|
|
### Step 1: Assess Current State
|
|
|
|
1. **Review conversation history** to understand what was being worked on
|
|
2. **Check git status** for uncommitted changes
|
|
3. **Identify the active plan** if one exists
|
|
4. **Review todo list** for current tasks
|
|
|
|
### Step 2: Save Code Progress
|
|
|
|
1. **Commit meaningful work**:
|
|
```bash
|
|
git status
|
|
git diff
|
|
# Create WIP commit if appropriate
|
|
git add [specific files]
|
|
git commit -m "WIP: [Feature] - [Current state]"
|
|
```
|
|
|
|
2. **Note uncommitted changes**:
|
|
- List files with unsaved changes
|
|
- Explain why they weren't committed
|
|
- Document what needs to be done
|
|
|
|
### Step 3: Update Plan Document
|
|
|
|
If working from a plan, update it with:
|
|
|
|
```markdown
|
|
## Progress Checkpoint - [Date Time]
|
|
|
|
### Work Completed This Session
|
|
- [x] Specific task completed
|
|
- [x] Another completed item
|
|
- [ ] Partially complete task (50% done)
|
|
|
|
### Current State
|
|
- **Active File**: `path/to/file.js:123`
|
|
- **Current Task**: [What you were doing]
|
|
- **Blockers**: [Any issues encountered]
|
|
|
|
### Local Changes
|
|
- Modified: `file1.js` - Added validation logic
|
|
- Modified: `file2.py` - Partial refactor
|
|
- Untracked: `test.tmp` - Temporary test file
|
|
|
|
### Next Steps
|
|
1. [Immediate next action]
|
|
2. [Following task]
|
|
3. [Subsequent work]
|
|
|
|
### Context Notes
|
|
- [Important discovery or decision]
|
|
- [Gotcha to remember]
|
|
- [Dependency to check]
|
|
|
|
### Commands to Resume
|
|
```bash
|
|
# To continue exactly where we left off:
|
|
cd /path/to/repo
|
|
git status
|
|
/4_implement_plan thoughts/shared/plans/feature.md
|
|
```
|
|
```
|
|
|
|
### Step 4: Create Session Summary
|
|
|
|
Check existing session files to determine next sequence number, then save to `thoughts/shared/sessions/NNN_feature.md` where NNN is a 3-digit sequential number (001, 002, etc.):
|
|
|
|
```markdown
|
|
---
|
|
date: [ISO timestamp]
|
|
feature: [Feature name]
|
|
plan: thoughts/shared/plans/[plan].md
|
|
research: thoughts/shared/research/[research].md
|
|
status: in_progress
|
|
last_commit: [git hash]
|
|
---
|
|
|
|
# Session Summary: [Feature Name]
|
|
|
|
## Session Duration
|
|
- Started: [timestamp]
|
|
- Ended: [timestamp]
|
|
- Duration: [X hours Y minutes]
|
|
|
|
## Objectives
|
|
- [What we set out to do]
|
|
|
|
## Accomplishments
|
|
- [What was actually completed]
|
|
- [Problems solved]
|
|
- [Code written]
|
|
|
|
## Discoveries
|
|
- [Important findings]
|
|
- [Patterns identified]
|
|
- [Issues uncovered]
|
|
|
|
## Decisions Made
|
|
- [Architecture choices]
|
|
- [Implementation decisions]
|
|
- [Trade-offs accepted]
|
|
|
|
## Open Questions
|
|
- [Unresolved issues]
|
|
- [Needs investigation]
|
|
- [Requires team input]
|
|
|
|
## File Changes
|
|
```bash
|
|
# Git diff summary
|
|
git diff --stat HEAD~N..HEAD
|
|
```
|
|
|
|
## Test Status
|
|
- [ ] Unit tests passing
|
|
- [ ] Integration tests passing
|
|
- [ ] Manual testing completed
|
|
|
|
## Ready to Resume
|
|
To continue this work:
|
|
1. Read this session summary
|
|
2. Check plan: `[plan path]`
|
|
3. Review research: `[research path]`
|
|
4. Continue with: [specific next action]
|
|
|
|
## Additional Context
|
|
[Any other important information for resuming]
|
|
```
|
|
|
|
### Step 5: Clean Up
|
|
|
|
1. **Commit all meaningful changes**:
|
|
```bash
|
|
# Review all changes one more time
|
|
git status
|
|
git diff
|
|
|
|
# Commit any remaining work
|
|
git add .
|
|
git commit -m "WIP: [Feature] - Save progress checkpoint"
|
|
# Document commit hash in session summary
|
|
```
|
|
|
|
2. **Update todo list** to reflect saved state
|
|
|
|
3. **Present summary** to user:
|
|
```
|
|
✅ Progress saved successfully!
|
|
|
|
📁 Session summary: thoughts/shared/sessions/[...]
|
|
📋 Plan updated: thoughts/shared/plans/[...]
|
|
💾 Commits created: [list]
|
|
|
|
To resume: /6_resume_work thoughts/shared/sessions/[...]
|
|
```
|
|
|
|
## Important Guidelines
|
|
|
|
- **Always commit meaningful work** - Don't leave important changes uncommitted
|
|
- **Be specific in notes** - Future you needs clear context
|
|
- **Include commands** - Make resuming as easy as copy-paste
|
|
- **Document blockers** - Explain why work stopped
|
|
- **Reference everything** - Link to plans, research, commits
|
|
- **Test status matters** - Note if tests are failing
|
|
|
|
## Integration with Framework
|
|
|
|
This command works with:
|
|
- `/4_implement_plan` - Updates plan progress
|
|
- `/6_resume_work` - Paired resume command
|
|
- `/3_validate_plan` - Can validate partial progress
|