godspeed app sync
This commit is contained in:
134
TASK_SWEEPER.md
Normal file
134
TASK_SWEEPER.md
Normal file
@@ -0,0 +1,134 @@
|
||||
# Task Sweeper for Godspeed
|
||||
|
||||
A utility script to consolidate scattered incomplete tasks from markdown files into your Godspeed Inbox.
|
||||
|
||||
## Purpose
|
||||
|
||||
If you have notes scattered across directories (like `2024/`, `2025/`, project folders, etc.) with incomplete tasks in markdown format, this script will:
|
||||
|
||||
1. **Find all incomplete tasks** (`- [ ] Task name`) in markdown files
|
||||
2. **Move them** to your Godspeed `Inbox.md` file
|
||||
3. **Preserve completed/cancelled tasks** in their original locations
|
||||
4. **Add source tracking** so you know where each task came from
|
||||
5. **Clean up original files** by removing only the incomplete tasks
|
||||
|
||||
## Usage
|
||||
|
||||
```bash
|
||||
# Dry run to see what would happen
|
||||
python sweep_tasks.py ~/Documents/Notes ~/Documents/Godspeed --dry-run
|
||||
|
||||
# Actually perform the sweep
|
||||
python sweep_tasks.py ~/Documents/Notes ~/Documents/Godspeed
|
||||
|
||||
# Sweep from current directory
|
||||
python sweep_tasks.py . ./godspeed
|
||||
```
|
||||
|
||||
## Example Workflow
|
||||
|
||||
**Before sweeping:**
|
||||
```
|
||||
~/Documents/Notes/
|
||||
├── 2024/
|
||||
│ ├── projects/website.md
|
||||
│ │ ├── - [x] Create wireframes
|
||||
│ │ ├── - [ ] Design mockups ← Will be swept
|
||||
│ │ └── - [ ] Get approval ← Will be swept
|
||||
│ └── notes/meeting.md
|
||||
│ ├── - [ ] Update docs ← Will be swept
|
||||
│ └── - [x] Fix bug (completed)
|
||||
├── 2025/
|
||||
│ └── goals.md
|
||||
│ └── - [ ] Launch feature ← Will be swept
|
||||
└── random-notes.md
|
||||
└── - [ ] Call dentist ← Will be swept
|
||||
```
|
||||
|
||||
**After sweeping:**
|
||||
```
|
||||
~/Documents/Godspeed/
|
||||
└── Inbox.md ← All incomplete tasks here
|
||||
├── - [ ] Design mockups
|
||||
│ From: 2024/projects/website.md
|
||||
├── - [ ] Get approval
|
||||
│ From: 2024/projects/website.md
|
||||
├── - [ ] Update docs
|
||||
│ From: 2024/notes/meeting.md
|
||||
├── - [ ] Launch feature
|
||||
│ From: 2025/goals.md
|
||||
└── - [ ] Call dentist
|
||||
From: random-notes.md
|
||||
|
||||
~/Documents/Notes/
|
||||
├── 2024/
|
||||
│ ├── projects/website.md ← Only completed tasks remain
|
||||
│ │ └── - [x] Create wireframes
|
||||
│ └── notes/meeting.md
|
||||
│ └── - [x] Fix bug (completed)
|
||||
├── 2025/
|
||||
│ └── goals.md ← File cleaned/deleted if empty
|
||||
└── random-notes.md ← File cleaned/deleted if empty
|
||||
```
|
||||
|
||||
## Features
|
||||
|
||||
- **Safe Operation**: Always use `--dry-run` first to preview changes
|
||||
- **Source Tracking**: Each swept task includes a note about its origin
|
||||
- **Selective Processing**: Only moves incomplete tasks, preserves completed ones
|
||||
- **Smart Cleanup**: Removes empty files or keeps non-task content
|
||||
- **Godspeed Integration**: Creates properly formatted tasks with IDs for sync
|
||||
- **Recursive Search**: Finds markdown files in all subdirectories
|
||||
- **Exclusion Logic**: Skips the Godspeed directory itself and hidden files
|
||||
|
||||
## Integration with Godspeed Sync
|
||||
|
||||
After sweeping tasks:
|
||||
|
||||
1. **Review** the consolidated tasks in `Inbox.md`
|
||||
2. **Upload to API**: Run `python -m src.cli godspeed upload`
|
||||
3. **Organize in Godspeed**: Move tasks from Inbox to appropriate lists
|
||||
4. **Sync back**: Run `python -m src.cli godspeed sync` to get organized structure
|
||||
|
||||
## Safety Features
|
||||
|
||||
- **Dry run mode** shows exactly what will happen without making changes
|
||||
- **Backup recommendation**: The script modifies files, so backup your notes first
|
||||
- **Preserve content**: Non-task content (headings, notes, etc.) remains in original files
|
||||
- **Completed task preservation**: `[x]` and `[-]` tasks stay where they are
|
||||
- **Error handling**: Graceful handling of unreadable files or parsing errors
|
||||
|
||||
## Example Output
|
||||
|
||||
```
|
||||
🧹 Sweeping incomplete tasks from: /Users/you/Documents/Notes
|
||||
📥 Target Inbox: /Users/you/Documents/Godspeed/Inbox.md
|
||||
🔍 Dry run: False
|
||||
============================================================
|
||||
|
||||
📁 Found 8 markdown files to process
|
||||
|
||||
📄 Processing: 2024/projects/website.md
|
||||
🔄 Found 2 incomplete tasks:
|
||||
• Design mockups
|
||||
• Get client approval
|
||||
✅ Keeping 1 completed/cleared tasks in place
|
||||
✂️ Cleaned file (removed tasks): 2024/projects/website.md
|
||||
|
||||
📥 Writing 6 tasks to Inbox...
|
||||
✅ Inbox updated: /Users/you/Documents/Godspeed/Inbox.md
|
||||
|
||||
============================================================
|
||||
📊 SWEEP SUMMARY:
|
||||
• Files processed: 3
|
||||
• Tasks swept: 6
|
||||
• Target: /Users/you/Documents/Godspeed/Inbox.md
|
||||
|
||||
🎉 Successfully swept 6 tasks!
|
||||
💡 Next steps:
|
||||
1. Review tasks in: /Users/you/Documents/Godspeed/Inbox.md
|
||||
2. Run 'godspeed upload' to sync to API
|
||||
3. Organize tasks into appropriate lists in Godspeed app
|
||||
```
|
||||
|
||||
This tool is perfect for periodic "note cleanup" sessions where you consolidate scattered tasks into your main GTD system.
|
||||
Reference in New Issue
Block a user