@vibetasks/cli 0.6.3 → 0.6.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -135,35 +135,35 @@ async function loginWithBrowser() {
135
135
  align-items: center;
136
136
  justify-content: center;
137
137
  min-height: 100vh;
138
- background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
138
+ background: #09090b;
139
139
  padding: 20px;
140
140
  }
141
141
  .container {
142
142
  text-align: center;
143
- padding: 60px 40px;
144
- background: white;
145
- border-radius: 20px;
146
- box-shadow: 0 20px 60px rgba(0,0,0,0.3);
147
- max-width: 450px;
143
+ padding: 48px 40px;
144
+ background: #18181b;
145
+ border: 1px solid #27272a;
146
+ border-radius: 16px;
147
+ max-width: 420px;
148
148
  width: 100%;
149
149
  }
150
150
  .checkmark {
151
- width: 80px;
152
- height: 80px;
151
+ width: 64px;
152
+ height: 64px;
153
153
  border-radius: 50%;
154
154
  display: block;
155
155
  stroke-width: 3;
156
- stroke: #4CAF50;
156
+ stroke: #22c55e;
157
157
  stroke-miterlimit: 10;
158
- margin: 0 auto 24px;
159
- animation: fill 0.4s ease-in-out 0.4s forwards, scale 0.3s ease-in-out 0.9s both;
158
+ margin: 0 auto 20px;
159
+ animation: scale 0.3s ease-in-out 0.9s both;
160
160
  }
161
161
  .checkmark-circle {
162
162
  stroke-dasharray: 166;
163
163
  stroke-dashoffset: 166;
164
164
  stroke-width: 3;
165
165
  stroke-miterlimit: 10;
166
- stroke: #4CAF50;
166
+ stroke: #22c55e;
167
167
  fill: none;
168
168
  animation: stroke 0.6s cubic-bezier(0.65, 0, 0.45, 1) forwards;
169
169
  }
@@ -181,66 +181,65 @@ async function loginWithBrowser() {
181
181
  50% { transform: scale3d(1.1, 1.1, 1); }
182
182
  }
183
183
  h1 {
184
- color: #2d3748;
185
- font-size: 28px;
186
- font-weight: 700;
187
- margin-bottom: 12px;
184
+ color: #fafafa;
185
+ font-size: 24px;
186
+ font-weight: 600;
187
+ margin-bottom: 8px;
188
188
  }
189
189
  .email {
190
- font-weight: 600;
191
- color: #667eea;
192
- font-size: 16px;
193
- margin-bottom: 24px;
190
+ font-weight: 500;
191
+ color: #a855f7;
192
+ font-size: 14px;
193
+ margin-bottom: 16px;
194
194
  }
195
195
  .message {
196
- color: #718096;
197
- font-size: 15px;
198
- line-height: 1.6;
196
+ color: #a1a1aa;
197
+ font-size: 14px;
198
+ line-height: 1.5;
199
199
  }
200
200
  .success-badge {
201
201
  display: inline-block;
202
- background: #f0fdf4;
203
- color: #15803d;
204
- padding: 8px 16px;
205
- border-radius: 20px;
206
- font-size: 14px;
207
- font-weight: 600;
208
- margin-top: 20px;
202
+ background: rgba(34, 197, 94, 0.1);
203
+ color: #22c55e;
204
+ padding: 6px 12px;
205
+ border-radius: 16px;
206
+ font-size: 12px;
207
+ font-weight: 500;
208
+ margin-top: 16px;
209
+ border: 1px solid rgba(34, 197, 94, 0.2);
209
210
  }
210
211
  .button-group {
211
- margin-top: 32px;
212
+ margin-top: 24px;
212
213
  display: flex;
213
- gap: 12px;
214
+ gap: 10px;
214
215
  justify-content: center;
215
216
  }
216
217
  .button {
217
- padding: 12px 24px;
218
+ padding: 10px 20px;
218
219
  border-radius: 8px;
219
- font-weight: 600;
220
- font-size: 14px;
220
+ font-weight: 500;
221
+ font-size: 13px;
221
222
  cursor: pointer;
222
- transition: all 0.2s;
223
+ transition: all 0.15s;
223
224
  text-decoration: none;
224
225
  display: inline-block;
225
226
  }
226
227
  .button-primary {
227
- background: #667eea;
228
+ background: #a855f7;
228
229
  color: white;
229
230
  border: none;
230
231
  }
231
232
  .button-primary:hover {
232
- background: #5568d3;
233
- transform: translateY(-1px);
234
- box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4);
233
+ background: #9333ea;
235
234
  }
236
235
  .button-secondary {
237
- background: #f7fafc;
238
- color: #4a5568;
239
- border: 2px solid #e2e8f0;
236
+ background: transparent;
237
+ color: #a1a1aa;
238
+ border: 1px solid #27272a;
240
239
  }
241
240
  .button-secondary:hover {
242
- background: #edf2f7;
243
- border-color: #cbd5e0;
241
+ background: #27272a;
242
+ color: #fafafa;
244
243
  }
245
244
  </style>
246
245
  </head>
@@ -258,7 +257,6 @@ async function loginWithBrowser() {
258
257
  </p>
259
258
  <div class="success-badge">Ready to use</div>
260
259
  <div class="button-group">
261
- <a href="https://vibetasks.dev/dashboard" class="button button-primary">Go to Dashboard</a>
262
260
  <button onclick="window.close()" class="button button-secondary">Close Window</button>
263
261
  </div>
264
262
  </div>
@@ -1045,7 +1043,6 @@ import chalk6 from "chalk";
1045
1043
  import ora4 from "ora";
1046
1044
  import inquirer from "inquirer";
1047
1045
  import { AuthManager as AuthManager5, TaskOperations as TaskOperations4 } from "@vibetasks/core";
1048
- var WIP_LIMIT = 3;
1049
1046
  var vibingCommand = new Command5("vibing").alias("start").alias("v").description("Start working on a task (move to vibing status)").argument("[task-id]", "Task ID or short # (1-99) to start vibing on").option("-p, --pick", "Pick from todo tasks interactively").action(async (taskIdInput, options) => {
1050
1047
  const spinner = ora4();
1051
1048
  try {
@@ -1058,25 +1055,9 @@ var vibingCommand = new Command5("vibing").alias("start").alias("v").description
1058
1055
  }
1059
1056
  const allTasks = await taskOps.getTasks("all");
1060
1057
  const vibingTasks = allTasks.filter((t) => t.status === "vibing" && !t.completed);
1061
- if (vibingTasks.length >= WIP_LIMIT) {
1062
- console.log(chalk6.yellow("\n\u26A0 WIP Limit Warning"));
1063
- console.log(chalk6.gray(` You already have ${vibingTasks.length} tasks in progress.`));
1064
- console.log(chalk6.gray(" Research shows 3+ concurrent tasks = 40% productivity loss.\n"));
1065
- console.log(chalk6.white("Currently vibing:"));
1066
- vibingTasks.forEach((t, i) => {
1067
- console.log(chalk6.magenta(` ${i + 1}. ${t.title}`));
1068
- });
1069
- console.log("");
1070
- const { proceed } = await inquirer.prompt([{
1071
- type: "confirm",
1072
- name: "proceed",
1073
- message: "Start another task anyway?",
1074
- default: false
1075
- }]);
1076
- if (!proceed) {
1077
- console.log(chalk6.gray("\nFocus on finishing what you started! Run `vibetasks done <id>` when ready.\n"));
1078
- process.exit(0);
1079
- }
1058
+ if (vibingTasks.length > 0) {
1059
+ console.log(chalk6.gray(`
1060
+ Currently vibing on ${vibingTasks.length} task(s)`));
1080
1061
  }
1081
1062
  if (!taskId || options.pick) {
1082
1063
  const todoTasks = allTasks.filter((t) => t.status === "todo" && !t.completed);
@@ -2059,19 +2040,20 @@ function getSuccessHtml(email) {
2059
2040
  body {
2060
2041
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
2061
2042
  display: flex; align-items: center; justify-content: center;
2062
- min-height: 100vh; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
2043
+ min-height: 100vh; background: #09090b;
2063
2044
  }
2064
2045
  .container {
2065
- text-align: center; padding: 60px 40px; background: white;
2066
- border-radius: 20px; box-shadow: 0 20px 60px rgba(0,0,0,0.3); max-width: 450px;
2046
+ text-align: center; padding: 48px 40px; background: #18181b;
2047
+ border: 1px solid #27272a; border-radius: 16px; max-width: 420px;
2067
2048
  }
2068
- .check { font-size: 64px; margin-bottom: 20px; }
2069
- h1 { color: #2d3748; font-size: 24px; margin-bottom: 8px; }
2070
- .email { color: #667eea; font-weight: 600; margin-bottom: 20px; }
2071
- p { color: #718096; line-height: 1.6; }
2049
+ .check { font-size: 48px; margin-bottom: 16px; }
2050
+ h1 { color: #fafafa; font-size: 22px; margin-bottom: 8px; }
2051
+ .email { color: #a855f7; font-weight: 500; font-size: 14px; margin-bottom: 16px; }
2052
+ p { color: #a1a1aa; line-height: 1.5; font-size: 14px; }
2072
2053
  .badge {
2073
- display: inline-block; background: #f0fdf4; color: #15803d;
2074
- padding: 8px 16px; border-radius: 20px; font-size: 14px; margin-top: 20px;
2054
+ display: inline-block; background: rgba(34, 197, 94, 0.1); color: #22c55e;
2055
+ padding: 6px 12px; border-radius: 16px; font-size: 12px; margin-top: 16px;
2056
+ border: 1px solid rgba(34, 197, 94, 0.2);
2075
2057
  }
2076
2058
  </style>
2077
2059
  </head>
@@ -2094,13 +2076,14 @@ function getErrorHtml(message) {
2094
2076
  <style>
2095
2077
  body {
2096
2078
  font-family: system-ui; display: flex; align-items: center;
2097
- justify-content: center; height: 100vh; margin: 0; background: #f5f5f5;
2079
+ justify-content: center; height: 100vh; margin: 0; background: #09090b;
2098
2080
  }
2099
2081
  .container {
2100
- text-align: center; padding: 40px; background: white;
2101
- border-radius: 12px; box-shadow: 0 2px 8px rgba(0,0,0,0.1);
2082
+ text-align: center; padding: 40px; background: #18181b;
2083
+ border: 1px solid #27272a; border-radius: 16px; max-width: 420px;
2102
2084
  }
2103
- h1 { color: #e53e3e; margin-bottom: 16px; }
2085
+ h1 { color: #ef4444; margin-bottom: 16px; font-size: 20px; }
2086
+ p { color: #a1a1aa; font-size: 14px; }
2104
2087
  </style>
2105
2088
  </head>
2106
2089
  <body>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vibetasks/cli",
3
- "version": "0.6.3",
3
+ "version": "0.6.5",
4
4
  "description": "VibeTasks CLI - Lightning-fast task management from your terminal. Works with Claude Code, Cursor, and all AI coding tools.",
5
5
  "author": "Vyas",
6
6
  "license": "MIT",