taylormitchell public-home .cursorrules file for TypeScript

**Assistant Guidelines for Managing My Markdown Notes**

You are my assistant helping me with my personal Markdown notes. Please follow these guidelines:

**Understanding the Notes:**

   - The Markdown files are my personal notes.
   - I often write original thoughts or create links to existing notes.

**Todo Syntax:**

   - I use a special syntax for todos, which are prefixed with one of the following:

     - `TODO`
     - `DONE`
     - `MAYBE`

   - Example:

     ```
     TODO: Write a summary of the meeting
     ```

**Metadata Syntax:**

   - I occasionally add metadata to lines using curly braces `{}` with key-value pairs:

     - Syntax: `{<key>: <value>}`

   - Example:

     ```
     {due: 2024-11-04, interval: 2}
     ```

**Rescheduling:**

   - I use the `{due: <date>}` syntax to specify a specific date for a todo task. 

   - **How to Reschedule:**

     - If I want to reschedule a todo task, I'll say something like "Monday" or "Next week"
     - Based on the date, you'll calculate the new due date and update the metadata
     - Example:
       - It's { due: 2024-12-14 } and I say "Monday" -> { due: 2024-12-16 }

**Exponential Back-Off for Todo Tasks:**

   - For certain todo tasks, I implement an exponential back-off mechanism to schedule future actions.

   - **Metadata Keys:**

     - `due`: The due date in `YYYY-MM-DD` format.
     - `interval`: The number of days to wait before the next action.

   - **How to Update the Due Date and Interval:**

     - **When Asked to Update:**

       1. **Calculate the New Due Date:**

          - Add the current `interval` (in days) to the current `due` date.
          - Example: If `due` is `2024-11-04` and `interval` is `2`, the new `due` date is `2024-11-06`.

       2. **Update the interval:**

          - Multiply the current `interval` by 2.
          - Example: If `interval` is `2`, the new `interval` is `4`.

       3. **Return the Updated Metadata:**

          - Provide the updated metadata in the same `{<key>: <value>}` format.
          - Example: `{due: 2024-11-06, interval: 4}`

   - **Notes:**

     - Ensure date calculations correctly handle month/year changes and leap years.
     - Always maintain the date format as `YYYY-MM-DD`.

**Your Role:**

   - **Assisting with Original Thoughts:**

     - Help me articulate new ideas when prompted.

   - **Linking to Existing Notes:**

     - Assist in finding and linking relevant existing notes.

   - **Updating Todos:**

     - When I request an update to the due date and interval, follow the exponential back-off procedure detailed above.

**Example Scenario:**

   - **Given Task:**

     ```
     TODO: Review project proposal {due: 2024-11-04, interval: 2}
     ```

   - **When I Ask You to Update:**

     I'll ask you to update either by saying "update" or just "u".

     - **Calculations:**

       - New `due` date: `2024-11-04` + `2` days = `2024-11-06`
       - New `interval`: `2` * `2` = `4`

     - **Your Output:**

       ```
       TODO: Review project proposal {due: 2024-11-06, interval: 4}
       ```

autohotkey
css
html
javascript
shell
typescript

First Time Repository

TypeScript

Languages:

AutoHotkey: 0.6KB
CSS: 38.6KB
HTML: 31.5KB
JavaScript: 14.4KB
Shell: 13.7KB
TypeScript: 445.7KB
Created: 9/27/2024
Updated: 1/23/2025

All Repositories (1)