@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.
- package/dist/bin/vibetasks.js +62 -79
- package/package.json +1 -1
package/dist/bin/vibetasks.js
CHANGED
|
@@ -135,35 +135,35 @@ async function loginWithBrowser() {
|
|
|
135
135
|
align-items: center;
|
|
136
136
|
justify-content: center;
|
|
137
137
|
min-height: 100vh;
|
|
138
|
-
background:
|
|
138
|
+
background: #09090b;
|
|
139
139
|
padding: 20px;
|
|
140
140
|
}
|
|
141
141
|
.container {
|
|
142
142
|
text-align: center;
|
|
143
|
-
padding:
|
|
144
|
-
background:
|
|
145
|
-
border
|
|
146
|
-
|
|
147
|
-
max-width:
|
|
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:
|
|
152
|
-
height:
|
|
151
|
+
width: 64px;
|
|
152
|
+
height: 64px;
|
|
153
153
|
border-radius: 50%;
|
|
154
154
|
display: block;
|
|
155
155
|
stroke-width: 3;
|
|
156
|
-
stroke: #
|
|
156
|
+
stroke: #22c55e;
|
|
157
157
|
stroke-miterlimit: 10;
|
|
158
|
-
margin: 0 auto
|
|
159
|
-
animation:
|
|
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: #
|
|
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: #
|
|
185
|
-
font-size:
|
|
186
|
-
font-weight:
|
|
187
|
-
margin-bottom:
|
|
184
|
+
color: #fafafa;
|
|
185
|
+
font-size: 24px;
|
|
186
|
+
font-weight: 600;
|
|
187
|
+
margin-bottom: 8px;
|
|
188
188
|
}
|
|
189
189
|
.email {
|
|
190
|
-
font-weight:
|
|
191
|
-
color: #
|
|
192
|
-
font-size:
|
|
193
|
-
margin-bottom:
|
|
190
|
+
font-weight: 500;
|
|
191
|
+
color: #a855f7;
|
|
192
|
+
font-size: 14px;
|
|
193
|
+
margin-bottom: 16px;
|
|
194
194
|
}
|
|
195
195
|
.message {
|
|
196
|
-
color: #
|
|
197
|
-
font-size:
|
|
198
|
-
line-height: 1.
|
|
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:
|
|
203
|
-
color: #
|
|
204
|
-
padding:
|
|
205
|
-
border-radius:
|
|
206
|
-
font-size:
|
|
207
|
-
font-weight:
|
|
208
|
-
margin-top:
|
|
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:
|
|
212
|
+
margin-top: 24px;
|
|
212
213
|
display: flex;
|
|
213
|
-
gap:
|
|
214
|
+
gap: 10px;
|
|
214
215
|
justify-content: center;
|
|
215
216
|
}
|
|
216
217
|
.button {
|
|
217
|
-
padding:
|
|
218
|
+
padding: 10px 20px;
|
|
218
219
|
border-radius: 8px;
|
|
219
|
-
font-weight:
|
|
220
|
-
font-size:
|
|
220
|
+
font-weight: 500;
|
|
221
|
+
font-size: 13px;
|
|
221
222
|
cursor: pointer;
|
|
222
|
-
transition: all 0.
|
|
223
|
+
transition: all 0.15s;
|
|
223
224
|
text-decoration: none;
|
|
224
225
|
display: inline-block;
|
|
225
226
|
}
|
|
226
227
|
.button-primary {
|
|
227
|
-
background: #
|
|
228
|
+
background: #a855f7;
|
|
228
229
|
color: white;
|
|
229
230
|
border: none;
|
|
230
231
|
}
|
|
231
232
|
.button-primary:hover {
|
|
232
|
-
background: #
|
|
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:
|
|
238
|
-
color: #
|
|
239
|
-
border:
|
|
236
|
+
background: transparent;
|
|
237
|
+
color: #a1a1aa;
|
|
238
|
+
border: 1px solid #27272a;
|
|
240
239
|
}
|
|
241
240
|
.button-secondary:hover {
|
|
242
|
-
background: #
|
|
243
|
-
|
|
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
|
|
1062
|
-
console.log(chalk6.
|
|
1063
|
-
|
|
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:
|
|
2043
|
+
min-height: 100vh; background: #09090b;
|
|
2063
2044
|
}
|
|
2064
2045
|
.container {
|
|
2065
|
-
text-align: center; padding:
|
|
2066
|
-
border
|
|
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:
|
|
2069
|
-
h1 { color: #
|
|
2070
|
-
.email { color: #
|
|
2071
|
-
p { color: #
|
|
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:
|
|
2074
|
-
padding:
|
|
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: #
|
|
2079
|
+
justify-content: center; height: 100vh; margin: 0; background: #09090b;
|
|
2098
2080
|
}
|
|
2099
2081
|
.container {
|
|
2100
|
-
text-align: center; padding: 40px; background:
|
|
2101
|
-
border-radius:
|
|
2082
|
+
text-align: center; padding: 40px; background: #18181b;
|
|
2083
|
+
border: 1px solid #27272a; border-radius: 16px; max-width: 420px;
|
|
2102
2084
|
}
|
|
2103
|
-
h1 { color: #
|
|
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