run-morning.py script orchestrates your complete morning productivity routine by executing a sequence of 7 steps. Each step has an equivalent CLI command that can be run independently.
Command Syntax
Options
Execute only the specified step (1-7). If not provided, runs all steps in sequence.Choices:
1, 2, 3, 4, 5, 6, 7Print the equivalent CLI commands for each step without executing them. Useful for learning the underlying commands or creating custom workflows.
Morning Routine Steps
The morning routine consists of 7 sequential steps:- Calendar (today + Meet + transcriptions): Fetch today’s calendar events, add Meet links, and add transcription reminders
- Asana (move yesterday to today): Move pending tasks from yesterday to today
- Asana (list today’s tasks): Display all tasks due today
- Email: Sync recent emails from Gmail
- Transcriptions (import yesterday): Import meeting transcriptions from yesterday’s events
- Asana (completed tasks → bitácora): Add completed tasks from yesterday to client log files
- Bitácoras: Process and organize log entries
Usage Examples
Run the complete morning routine
Run only a specific step
Show CLI commands without executing
Run multiple specific steps
To run multiple non-consecutive steps, you can chain commands:Exit Codes
- 0: Success - all steps completed successfully
- Non-zero: Failure - one of the steps failed (the script exits immediately when a step fails)
The routine stops at the first failed step. If step 2 fails, steps 3-7 won’t run.
Related Commands
- calendar - Individual calendar operations
- asana - Individual Asana task operations
- email - Email sync operations
Technical Details
The script executes commands usingsubprocess.run() with shell=True, running from the project root directory. Each step’s command is defined in the _CLI_COMMANDS dictionary: