|
| 1 | +# Tangent Mode |
| 2 | + |
| 3 | +Tangent mode creates conversation checkpoints, allowing you to explore side topics without disrupting your main conversation flow. Enter tangent mode, ask questions or explore ideas, then return to your original conversation exactly where you left off. |
| 4 | + |
| 5 | +## Enabling Tangent Mode |
| 6 | + |
| 7 | +Tangent mode is experimental and must be enabled: |
| 8 | + |
| 9 | +**Via Experiment Command**: Run `/experiment` and select tangent mode from the list. |
| 10 | + |
| 11 | +**Via Settings**: `q settings chat.enableTangentMode true` |
| 12 | + |
| 13 | +## Basic Usage |
| 14 | + |
| 15 | +### Enter Tangent Mode |
| 16 | +Use `/tangent` or Ctrl+T: |
| 17 | +``` |
| 18 | +> /tangent |
| 19 | +Created a conversation checkpoint (↯). Use ctrl + t or /tangent to restore the conversation later. |
| 20 | +``` |
| 21 | + |
| 22 | +### In Tangent Mode |
| 23 | +You'll see a yellow `↯` symbol in your prompt: |
| 24 | +``` |
| 25 | +↯ > What is the difference between async and sync functions? |
| 26 | +``` |
| 27 | + |
| 28 | +### Exit Tangent Mode |
| 29 | +Use `/tangent` or Ctrl+T again: |
| 30 | +``` |
| 31 | +↯ > /tangent |
| 32 | +Restored conversation from checkpoint (↯). - Returned to main conversation. |
| 33 | +``` |
| 34 | + |
| 35 | +## Usage Examples |
| 36 | + |
| 37 | +### Example 1: Exploring Alternatives |
| 38 | +``` |
| 39 | +> I need to process a large CSV file in Python. What's the best approach? |
| 40 | +
|
| 41 | +I recommend using pandas for CSV processing... |
| 42 | +
|
| 43 | +> /tangent |
| 44 | +Created a conversation checkpoint (↯). |
| 45 | +
|
| 46 | +↯ > What about using the csv module instead of pandas? |
| 47 | +
|
| 48 | +The csv module is lighter weight... |
| 49 | +
|
| 50 | +↯ > /tangent |
| 51 | +Restored conversation from checkpoint (↯). |
| 52 | +
|
| 53 | +> Thanks! I'll go with pandas. Can you show me error handling? |
| 54 | +``` |
| 55 | + |
| 56 | +### Example 2: Getting Q CLI Help |
| 57 | +``` |
| 58 | +> Help me write a deployment script |
| 59 | +
|
| 60 | +I can help you create a deployment script... |
| 61 | +
|
| 62 | +> /tangent |
| 63 | +Created a conversation checkpoint (↯). |
| 64 | +
|
| 65 | +↯ > What Q CLI commands are available for file operations? |
| 66 | +
|
| 67 | +Q CLI provides fs_read, fs_write, execute_bash... |
| 68 | +
|
| 69 | +↯ > /tangent |
| 70 | +Restored conversation from checkpoint (↯). |
| 71 | +
|
| 72 | +> It's a Node.js application for AWS |
| 73 | +``` |
| 74 | + |
| 75 | +### Example 3: Clarifying Requirements |
| 76 | +``` |
| 77 | +> I need to optimize this SQL query |
| 78 | +
|
| 79 | +Could you share the query you'd like to optimize? |
| 80 | +
|
| 81 | +> /tangent |
| 82 | +Created a conversation checkpoint (↯). |
| 83 | +
|
| 84 | +↯ > What information do you need to help optimize a query? |
| 85 | +
|
| 86 | +To optimize SQL queries effectively, I need: |
| 87 | +1. The current query |
| 88 | +2. Table schemas and indexes... |
| 89 | +
|
| 90 | +↯ > /tangent |
| 91 | +Restored conversation from checkpoint (↯). |
| 92 | +
|
| 93 | +> Here's my query: SELECT * FROM orders... |
| 94 | +``` |
| 95 | + |
| 96 | +## Configuration |
| 97 | + |
| 98 | +### Keyboard Shortcut |
| 99 | +```bash |
| 100 | +# Change shortcut key (default: t) |
| 101 | +q settings chat.tangentModeKey y |
| 102 | +``` |
| 103 | + |
| 104 | +### Auto-Tangent for Introspect |
| 105 | +```bash |
| 106 | +# Auto-enter tangent mode for Q CLI help questions |
| 107 | +q settings introspect.tangentMode true |
| 108 | +``` |
| 109 | + |
| 110 | +## Visual Indicators |
| 111 | + |
| 112 | +- **Normal mode**: `> ` (magenta) |
| 113 | +- **Tangent mode**: `↯ > ` (yellow ↯ + magenta) |
| 114 | +- **With profile**: `[dev] ↯ > ` (cyan + yellow ↯ + magenta) |
| 115 | + |
| 116 | +## Best Practices |
| 117 | + |
| 118 | +### When to Use Tangent Mode |
| 119 | +- Asking clarifying questions about the current topic |
| 120 | +- Exploring alternative approaches before deciding |
| 121 | +- Getting help with Q CLI commands or features |
| 122 | +- Testing understanding of concepts |
| 123 | + |
| 124 | +### When NOT to Use |
| 125 | +- Completely unrelated topics (start new conversation) |
| 126 | +- Long, complex discussions (use regular flow) |
| 127 | +- When you want the side discussion in main context |
| 128 | + |
| 129 | +### Tips |
| 130 | +1. **Keep tangents focused** - Brief explorations, not extended discussions |
| 131 | +2. **Return promptly** - Don't forget you're in tangent mode |
| 132 | +3. **Use for clarification** - Perfect for "wait, what does X mean?" questions |
| 133 | +4. **Experiment safely** - Test ideas without affecting main conversation |
| 134 | + |
| 135 | +## Limitations |
| 136 | + |
| 137 | +- Tangent conversations are discarded when you exit |
| 138 | +- Only one level of tangent supported (no nested tangents) |
| 139 | +- Experimental feature that may change or be removed |
| 140 | +- Must be explicitly enabled |
| 141 | + |
| 142 | +## Troubleshooting |
| 143 | + |
| 144 | +### Tangent Mode Not Working |
| 145 | +```bash |
| 146 | +# Enable via experiment (select from list) |
| 147 | +/experiment |
| 148 | + |
| 149 | +# Or enable via settings |
| 150 | +q settings chat.enableTangentMode true |
| 151 | +``` |
| 152 | + |
| 153 | +### Keyboard Shortcut Not Working |
| 154 | +```bash |
| 155 | +# Check/reset shortcut key |
| 156 | +q settings chat.tangentModeKey t |
| 157 | +``` |
| 158 | + |
| 159 | +### Lost in Tangent Mode |
| 160 | +Look for the `↯` symbol in your prompt. Use `/tangent` to exit and return to main conversation. |
| 161 | + |
| 162 | +## Related Features |
| 163 | + |
| 164 | +- **Introspect**: Q CLI help (auto-enters tangent if configured) |
| 165 | +- **Experiments**: Manage experimental features with `/experiment` |
0 commit comments