Initial commit
This commit is contained in:
162
commands/sync-progress.md
Normal file
162
commands/sync-progress.md
Normal file
@@ -0,0 +1,162 @@
|
||||
---
|
||||
tags: ["workflow", "manual-changes", "planning"]
|
||||
description: "Sync project state after manual changes via git diff analysis"
|
||||
argument-hint: ""
|
||||
allowed-tools: ["Read", "Write", "Edit", "Bash", "Glob", "Grep", "TodoWrite"]
|
||||
model: claude-sonnet-4-5
|
||||
references_guidelines:
|
||||
- docs/development/workflows/pm-workflows.md # Plan structure and phase management
|
||||
- docs/development/workflows/worklog-format.md # WORKLOG entry formats
|
||||
- docs/development/workflows/git-workflow.md # Git diff analysis
|
||||
---
|
||||
|
||||
# /sync-progress Command
|
||||
|
||||
**WHAT**: Automatically sync project state when user makes manual changes.
|
||||
|
||||
**WHY**: Analyzes git diff, updates plan to reflect progress, and documents changes in WORKLOG without manual explanation.
|
||||
|
||||
**HOW**: See pm-guide.md for plan/phase management, worklog-format.md for entry structure, git-workflow.md for git analysis.
|
||||
|
||||
---
|
||||
|
||||
## Workflow
|
||||
|
||||
### 1. Analyze Changes
|
||||
|
||||
Run these commands to understand what changed:
|
||||
|
||||
```bash
|
||||
# Check for uncommitted changes
|
||||
git diff
|
||||
|
||||
# Check staged changes
|
||||
git diff --staged
|
||||
|
||||
# Get summary of changed files
|
||||
git status --short
|
||||
```
|
||||
|
||||
### 2. Read Current State
|
||||
|
||||
Read the following files if they exist:
|
||||
- `pm/active/PLAN.md` - Current task plan
|
||||
- `pm/active/WORKLOG.md` - Work history
|
||||
- `pm/active/spec.md` - Feature specification (if applicable)
|
||||
|
||||
### 3. Analyze and Update
|
||||
|
||||
**For each changed file in git diff**:
|
||||
|
||||
1. **Determine intent** - What was the user trying to accomplish?
|
||||
- New feature implementation
|
||||
- Bug fix
|
||||
- Refactoring
|
||||
- Configuration change
|
||||
- Documentation update
|
||||
|
||||
2. **Compare to PLAN.md**:
|
||||
- Which phase/task does this relate to?
|
||||
- Is this planned work or new direction?
|
||||
- Should any phases be marked complete?
|
||||
- Are there new tasks to add?
|
||||
|
||||
3. **Update PLAN.md**:
|
||||
- If there is ANY ambiguity clarify with user
|
||||
- Mark completed phases as `[x] COMPLETED`
|
||||
- Update phase descriptions if approach changed
|
||||
- Add new phases if user took different direction
|
||||
- Add notes about implementation decisions made
|
||||
|
||||
### 4. Document in WORKLOG
|
||||
|
||||
Write a WORKLOG entry with:
|
||||
|
||||
```markdown
|
||||
## YYYY-MM-DD HH:MM - Manual Changes Synced
|
||||
|
||||
**Files Changed**: [list of changed files]
|
||||
|
||||
**Changes Made**:
|
||||
- [Brief description of each major change]
|
||||
- [Why it was done - inferred from code]
|
||||
- [Any patterns or decisions observed]
|
||||
|
||||
**Plan Updates**:
|
||||
- [Which phases marked complete]
|
||||
- [Any new phases added]
|
||||
- [Any direction changes noted]
|
||||
|
||||
**Status**: [Current project state after these changes]
|
||||
|
||||
**Next Steps**: [Suggested next actions based on plan]
|
||||
```
|
||||
|
||||
### 5. Summary Report
|
||||
|
||||
Provide user with:
|
||||
- **Changes detected**: Count and summary of modified files
|
||||
- **Plan updates**: Which phases completed, which added
|
||||
- **WORKLOG entry**: Confirmation of documentation
|
||||
- **Next suggested action**: Based on remaining plan items
|
||||
|
||||
---
|
||||
|
||||
## Key Principles
|
||||
|
||||
1. **Infer intent from code** - Don't ask user to explain, analyze the diff
|
||||
2. **Be accurate** - Only mark phases complete if truly done
|
||||
3. **Preserve context** - Keep plan structure, don't overwrite unnecessarily
|
||||
4. **Document decisions** - Note any technical choices made in code
|
||||
5. **Suggest next steps** - Help user know what to work on next
|
||||
|
||||
---
|
||||
|
||||
## Example Usage
|
||||
|
||||
**Scenario**: User manually implemented authentication while AI was offline
|
||||
|
||||
**Command**: `/sync-progress`
|
||||
|
||||
**AI Actions**:
|
||||
1. Runs `git diff` - sees new files: `auth/login.ts`, `auth/middleware.ts`, `db/users.sql`
|
||||
2. Reads `pm/active/PLAN.md` - finds Phase 2: "Implement authentication system"
|
||||
3. Updates PLAN.md:
|
||||
- Marks Phase 2 as `[x] COMPLETED`
|
||||
- Adds notes: "Used JWT tokens, bcrypt for passwords, PostgreSQL for users table"
|
||||
4. Writes WORKLOG entry documenting authentication implementation
|
||||
5. Reports: "Detected authentication implementation complete. Phase 2 marked done. Next: Phase 3 - API endpoint protection"
|
||||
|
||||
---
|
||||
|
||||
## Edge Cases
|
||||
|
||||
**No PLAN.md exists**:
|
||||
- Create one based on git changes
|
||||
- Infer project structure and goals
|
||||
- Add phases for observed work
|
||||
|
||||
**Changes conflict with plan**:
|
||||
- Note the deviation in WORKLOG
|
||||
- Ask user if plan should be updated or reverted
|
||||
- Suggest reconciliation approach
|
||||
|
||||
**Changes are exploratory/experimental**:
|
||||
- Don't mark plan phases complete
|
||||
- Add note to PLAN.md: "Exploration: [description]"
|
||||
- Document in WORKLOG as research/spike
|
||||
|
||||
**Multiple unrelated changes**:
|
||||
- Group by functional area
|
||||
- Update multiple plan phases if applicable
|
||||
- Create clear sections in WORKLOG entry
|
||||
|
||||
---
|
||||
|
||||
## Success Criteria
|
||||
|
||||
✅ All git changes analyzed and understood
|
||||
✅ PLAN.md accurately reflects current state
|
||||
✅ Completed work properly marked
|
||||
✅ WORKLOG entry is clear and comprehensive
|
||||
✅ User knows what to do next
|
||||
Reference in New Issue
Block a user